Files
solana-agent-kit/examples/agent-kit-langgraph/src/agents/generalAgent.ts
2024-12-27 15:12:27 +05:30

33 lines
954 B
TypeScript

import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { gpt4o } from "../utils/model.js";
import { solanaAgentState } from "../utils/state.js";
import { TavilySearchResults } from "@langchain/community/tools/tavily_search";
import { HumanMessage } from "@langchain/core/messages";
// Initialize tools array
const searchTools = [];
// Only add Tavily search if API key is available
if (process.env.TAVILY_API_KEY) {
searchTools.push(new TavilySearchResults());
}
export const generalAgent = createReactAgent({
llm: gpt4o,
tools: searchTools,
});
export const generalistNode = async (state: typeof solanaAgentState.State) => {
const { messages } = state;
const result = await generalAgent.invoke({ messages });
return { messages: [...result.messages] };
};
const messages = [new HumanMessage("What is the best way to buy SOL?")];
const result = await generalAgent.invoke({ messages });
console.log(result.messages);