This commit is contained in:
Deepak
2024-12-27 14:14:17 +05:30
parent 8d299244fc
commit 45d5ad21a7
9 changed files with 66 additions and 9 deletions

View File

View File

@@ -0,0 +1,6 @@
import { StateGraph } from "@langchain/langgraph";
import { solanaAgentState } from "./utils/state";
const workflow = new StateGraph(solanaAgentState);
export const graph = workflow.compile();

View File

@@ -0,0 +1,7 @@
{
"graphs": {
"solana-agent": "./index.ts:graph"
},
"env": ".env",
"node_version": "20"
}

View File

@@ -0,0 +1,12 @@
import { ChatOpenAI } from "@langchain/openai";
import "dotenv/config";
export const gpt4o = new ChatOpenAI({
modelName: "gpt-4o",
apiKey: process.env.OPENAI_API_KEY!,
});
export const gpt4oMini = new ChatOpenAI({
modelName: "gpt-4o-mini",
apiKey: process.env.OPENAI_API_KEY!,
});

View File

@@ -0,0 +1,7 @@
import { SolanaAgentKit } from "../../../src/agent";
export const agentKit = new SolanaAgentKit(
process.env.SOLANA_PRIVATE_KEY!,
process.env.RPC_URL!,
process.env.OPENAI_API_KEY!,
);

View File

@@ -0,0 +1,25 @@
import { Annotation } from "@langchain/langgraph";
import { BaseMessage } from "@langchain/core/messages";
import { messagesStateReducer } from "@langchain/langgraph";
export const solanaAgentState = Annotation.Root({
messages: Annotation<BaseMessage[]>({
reducer: messagesStateReducer,
default: () => [],
}),
isSolanaReadQuery: Annotation<boolean>({
reducer: (x, y) => y ?? x ?? false,
default: () => false,
}),
isSolanaWriteQuery: Annotation<boolean>({
reducer: (x, y) => y ?? x ?? false,
default: () => false,
}),
isGeneralQuery: Annotation<boolean>({
reducer: (x, y) => y ?? x ?? false,
default: () => false,
}),
});