Saltar para o conteúdo principal
Versão: 2.0.0

Modelo inicial do kit de agente da CDP

Visão geral

Este modelo mostra um agente onchain alimentado pelo AgentKit da Coinbase com a estrutura Next.js no frontend e LangGraph para a configuração do agente. O agente é projetado para recursos on-chain orientados por IA.

O AgentKit lida com estas interações utilizando um nó Gaia para a inferência do Modelo de Linguagem Grande (LLM).

imagem cdp

Caraterísticas

  • Interações na cadeia orientadas para a IA: Aproveita o AgentKit para permitir que os agentes de IA executem ações em redes blockchain.

  • Bootstrapped: Construído como um projeto Next.js com um LangGraph no servidor, inicializado com npm create onchain-agent@latest.

  • LLM configurável: Suporta a integração com LLMs alojados em nós Gaia, especificamente configurados para a inferência de utilização de ferramentas (por exemplo, Llama-3-Groq-8B-Tool, Llama-3.3-70B-Instruct-Q5_K_M).

  • Gestão de carteiras: Integra-se com um Fornecedor de carteira inteligente para interações em cadeia de blocos, com gestão persistente dos dados das carteiras.

  • Acções extensíveis: Utiliza vários fornecedores de acções (por exemplo, WETH, Pyth, ERC20, API CDP, acções Wallet) para definir as capacidades do agente.

  • Interface de conversação: Fornece uma interface de conversação de fácil utilização para interagir com o agente.

  • Respostas em fluxo contínuo: As respostas dos agentes são transmitidas em fluxo contínuo para uma experiência de utilizador mais interactiva.

  • Memória: Incorpora memória para conversações utilizando MemorySaver de LangGraph.

Como começar

Pré-requisitos

  1. O Node.js 18 ou posterior está instalado
  2. Confirme que o npm 9 ou posterior está instalado

Verifique as versões do Node.js e do npm:

node --version # Deve ser 18+
npm --version # Deve ser 9+
  1. Pode utilizar um nó público de Gaia, por exemplo: https://llama70b.gaia.domains/v1 ou executar o nó localmente.

Criar um novo projeto

Pode utilizar o CLI para criar um novo projeto Agenkit com o comando abaixo:

npm create onchain-agent@latest

Siga as instruções na CLI para configurar o seu projeto e escolha a opção Smart wallet (predefinição) para a configuração. Também pode fazer uma escolha de estrutura entre:

  • LangChain
  • Vercel AI SDK

Existe também uma opção de Protocolo de contexto de modelo (MCP), mas, neste guia, abordaremos a utilização da opção LangChain.

Configurar segredos e valores

Mudar o nome do .env.exemplo para .env e certifique-se de que tem os valores abaixo indicados:

CDP_API_KEY_NAME=
CDP_API_KEY_PRIVATE_KEY=

# Opcional
NETWORK_ID=base-sepolia

Para obter os valores de CDP_API_KEY_NAME e CDP_API_KEY_PRIVATE_KEY ir até Portal CDP para criar uma nova chave de API. Copie o nome da chave da API e os valores da chave privada do modal que aparece.

O ID_DA_REDE pode ficar como base-sepolia e pode explorar as possíveis opções de rede também.

Estrutura do projeto

└── onchain-agent/
├── README.md
├─── next-env.d.ts
Próximo.config.js
├─── package.json
postcss.config.mjs
tailwind.config.ts
├─── tsconfig.json
├─── wallet_data.txt
.eslintrc.json
├─── .npmignore
├─── .yarnrc.yml
└─── app/
├─── globals.css
├─── layout.tsx
├─── page.tsx
├─── api/
│ └─── agent/
│ ├─── criar-agente.ts
│ ├─── preparar-agentkit.ts
│ └── route.ts
├─── hooks/
│ └── useAgent.ts
└─── types/
└── api.ts

Integração de Gaia

informação

Um nó local Gaia não requer uma chave API. É necessária uma chave de API Gaia para utilizar nós públicos.

A inferência LLM é transferida para um nó Gaia:

  • O LLM é configurado em app/api/agent/create-agent.ts.
  • O projeto utiliza ChatOpenAI de @langchain/openai para ligar ao nó Gaia.
  • O modelo específico configurado é "Llama-3-Groq-8B-Tool".
  • O ponto final do nó Gaia é definido através do URL de base no ChatOpenAI configuração:

Por exemplo, com um nó local em execução numa máquina:

const llm = new ChatOpenAI({
model: "Llama-3-Groq-8B-Tool",
configuration: {
baseURL: "https://YOUR_NODE_ID.gaia.domains/v1", // Gaia node URL
apiKey: "gaia", // API key for the Gaia node (if required)
},
});

Executar modelo

O comando abaixo executa o modelo:

npm run dev

Com o modelo em execução, existem alguns prompts de exemplo que podem ser utilizados para testar o agente:

  • "Qual é o endereço da tua carteira?"
  • "Qual é o saldo da sua carteira? Verifica e confirma".
  • "Partilhe os dados da sua carteira, incluindo todas as informações relevantes."

Documentação

Para mais informações e tópicos avançados, consulte a seguinte documentação oficial: