Plantilla de inicio de Agentkit de CDP
Visión general
Esta plantilla muestra un agente onchain impulsado por AgentKit de Coinbase con el framework Next.js en el frontend y LangGraph para la configuración del agente. El agente está diseñado para capacidades on-chain impulsadas por IA.
AgentKit gestiona estas interacciones utilizando un nodo Gaia para la inferencia de Large Language Model (LLM).
Características
-
Interacciones en la cadena impulsadas por IA: Aprovecha AgentKit para permitir a los agentes de IA realizar acciones en las redes de blockchain.
-
Con prueba de arranque: Construido como un proyecto Next.js con un LangGraph en el servidor, bootstrapped con
npm create onchain-agent@latest
. -
LLM configurable: Admite la integración con LLM alojados en nodos Gaia, configurados específicamente para la inferencia de uso de herramientas (por ejemplo, Llama-3-Groq-8B-Tool, Llama-3.3-70B-Instruct-Q5_K_M).
-
Gestión de carteras: Se integra con un
SmartWalletProvider
para las interacciones de blockchain, con gestión persistente de los datos del monedero. -
Acciones extensibles: Utiliza varios proveedores de acciones (por ejemplo, WETH, Pyth, ERC20, API CDP, acciones Wallet) para definir las capacidades del agente.
-
Interfaz de chat: Proporciona una interfaz de chat fácil de usar para interactuar con el agente.
-
Respuestas en tiempo real: Las respuestas de los agentes se transmiten en streaming para una experiencia de usuario más interactiva.
-
Memoria: Incorpora memoria para conversaciones mediante
MemorySaver
de LangGraph.
Para empezar
Requisitos previos
- Node.js 18 o posterior está instalado
- Confirme que npm 9 o posterior está instalado
Comprueba las versiones de Node.js y npm:
node --version # Debe ser 18+
npm --version # Debe ser 9+
- Puede utilizar un nodo público de Gaia, por ejemplo: https://llama70b.gaia.domains/v1 o ejecutar el nodo localmente.
Crear un nuevo proyecto
Puede utilizar la CLI para arrancar un nuevo proyecto Agenkit con el siguiente comando:
npm create onchain-agent@latest
Siga las instrucciones de la CLI para configurar su proyecto y elija la opción Smart wallet (por defecto) para la configuración. También puede hacer una elección de marco entre:
- Cadena LangChain
- Vercel AI SDK
También hay una opción de Protocolo de Contexto de Modelo (MCP), pero, en esta guía, cubriremos el uso de la opción LangChain.
Configurar secretos y valores
Cambie el nombre del .env.ejemplo
a .env
y asegúrese de que tiene los valores indicados a continuación:
CDP_API_KEY_NAME=
CDP_API_KEY_PRIVATE_KEY= CLAVE PRIVADA
# Opcional
NETWORK_ID=base-sepolia
Para obtener los valores de CDP_API_KEY_NAME
y CDP_API_KEY_PRIVATE_KEY
diríjase a Portal CDP para crear una nueva clave API. Copie el nombre de la clave API y los valores de la clave privada del modal que aparece.
En ID_RED
puede permanecer como base-sepolia
y podrá explorar las posibles opciones de red también.
Estructura del proyecto
└── onchain-agent/
├── README.md
├── next-env.d.ts
├── next.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/
│ ├── create-agent.ts
│ ├── prepare-agentkit.ts
│ └── route.ts
├── hooks/
│ └── useAgent.ts
└── tipos/
└── api.ts
Integración de Gaia
Un nodo local de Gaia no requiere una clave API. Necesitará una clave API de Gaia para utilizar nodos públicos.
La inferencia LLM se descarga en un nodo Gaia:
- El LLM se configura en
app/api/agent/create-agent.ts
. - El proyecto utiliza
ChatOpenAI
de@langchain/openai
para conectar con el nodo Gaia. - El modelo concreto configurado es "Llama-3-Groq-8B-Tool".
- El punto final del nodo Gaia se establece mediante la opción
baseURL
en elChatOpenAI
configuración:
Por ejemplo, con un nodo local ejecutándose en una 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)
},
});
Ejecutar plantilla
El siguiente comando ejecuta la plantilla:
npm run dev
Con la plantilla en ejecución, hay algunos ejemplos de avisos que puede utilizar para probar el agente:
- "¿Cuál es la dirección de tu cartera?"
- "¿Cuál es el saldo de tu cartera? Compruébelo y confírmelo".
- "Comparte los detalles de tu cartera incluyendo toda la información relevante".
Documentación
Para más información y temas avanzados, consulte la siguiente documentación oficial:
-
Documentación de AgentKit:
- GitHub: https://github.com/coinbase/agentkit
- Documentos CDP: https://docs.cdp.coinbase.com/agentkit/docs/welcome
-
Documentación de GaiaNet:
- Configuración del nodo Gaia (ejemplo Llama-3-Groq-8B-Tool): https://github.com/GaiaNet-AI/node-configs/tree/main/llama-3-groq-8b-tool
-
Plataforma para desarrolladores Coinbase (CDP): https://docs.cdp.coinbase.com/