mirror of
https://github.com/d0zingcat/solana-agent-kit.git
synced 2026-05-13 23:16:55 +00:00
33 lines
954 B
TypeScript
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);
|