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).
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
- O Node.js 18 ou posterior está instalado
- 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+
- 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
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
noChatOpenAI
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:
-
Documentação do AgentKit:
- GitHub: https://github.com/coinbase/agentkit
- Documentos CDP: https://docs.cdp.coinbase.com/agentkit/docs/welcome
-
Documentação GaiaNet:
- Configuração do nó Gaia (exemplo: Llama-3-Groq-8B-Tool): https://github.com/GaiaNet-AI/node-configs/tree/main/llama-3-groq-8b-tool
-
Plataforma de desenvolvimento Coinbase (CDP): https://docs.cdp.coinbase.com/