@monad-agent-kit/ai-langchain
v0.1.1
Published
LangChain integration for Monad Agent Kit
Downloads
17
Readme
@monad-agent-kit/ai-langchain
LangChain integration for Monad Agent Kit — converts all registered agent actions into LangChain tools.
Installation
bun add @monad-agent-kit/core @monad-agent-kit/ai-langchain @langchain/coreUsage
import { MonadAgentKit } from "@monad-agent-kit/core"
import { tokenPlugin } from "@monad-agent-kit/plugin-token"
import { defiPlugin } from "@monad-agent-kit/plugin-defi"
import { createLangChainTools } from "@monad-agent-kit/ai-langchain"
import { ChatOpenAI } from "@langchain/openai"
import { AgentExecutor, createToolCallingAgent } from "langchain/agents"
import { ChatPromptTemplate } from "@langchain/core/prompts"
// 1. Set up the agent with plugins
const agent = new MonadAgentKit({ privateKey: process.env.PRIVATE_KEY })
await agent.use(tokenPlugin)
await agent.use(defiPlugin)
// 2. Convert all actions to LangChain tools
const tools = createLangChainTools(agent)
// 3. Use with a LangChain agent
const llm = new ChatOpenAI({ model: "gpt-4" })
const prompt = ChatPromptTemplate.fromMessages([
["system", "You are a helpful blockchain assistant."],
["human", "{input}"],
["placeholder", "{agent_scratchpad}"],
])
const langchainAgent = createToolCallingAgent({ llm, tools, prompt })
const executor = AgentExecutor.fromAgentAndTools({ agent: langchainAgent, tools })
const result = await executor.invoke({
input: "What is my MON balance?",
})How It Works
createLangChainTools() takes a MonadAgentKit instance and returns an array of DynamicStructuredTool objects:
- Action
namebecomes the tool name - Action
descriptionbecomes the tool description - Action
parameters(JSON Schema) are converted to Zod schemas - Tool execution calls
agent.execute()and returns JSON-stringified results
Any plugins registered before calling createLangChainTools() will have their actions included.
Peer Dependencies
@langchain/core>= 0.3.0
License
MIT
