From 13738e4169e9c7f9e110422747134101b9959556 Mon Sep 17 00:00:00 2001 From: aryan Date: Thu, 6 Feb 2025 22:09:23 +0530 Subject: [PATCH] feat: sendai agent kit --- README.md | 10 +++ README_cn.md | 10 +++ README_ja.md | 10 +++ docs/solana-agent-kit/README.md | 67 +++++++++++++++++++ docs/solana-agent-kit/assets/sendai-logo.png | Bin 0 -> 26768 bytes 5 files changed, 97 insertions(+) create mode 100644 docs/solana-agent-kit/README.md create mode 100644 docs/solana-agent-kit/assets/sendai-logo.png diff --git a/README.md b/README.md index c349dcd..338fbd7 100644 --- a/README.md +++ b/README.md @@ -221,6 +221,16 @@ English/[简体中文](https://github.com/deepseek-ai/awesome-deepseek-integrati +### Solana frameworks + + + + + + + +
Icon Solana Agent Kit An open-source toolkit for connecting AI agents to Solana protocols. Now, any agent, using any Deepseek LLM, can autonomously perform 60+ Solana actions:
+ ### Synthetic data curation diff --git a/README_cn.md b/README_cn.md index 56fbe04..812e6ae 100644 --- a/README_cn.md +++ b/README_cn.md @@ -168,6 +168,16 @@ +### Solana 框架 + + + + + + + +
Icon Solana Agent Kit 一个用于连接 AI 智能体到 Solana 协议的开源工具包。现在,任何使用 Deepseek LLM 的智能体都可以自主执行 60+ 种 Solana 操作:
+ ### 即时通讯插件 diff --git a/README_ja.md b/README_ja.md index f6a06e7..692893f 100644 --- a/README_ja.md +++ b/README_ja.md @@ -160,6 +160,16 @@ DeepSeek APIを人気のソフトウェアに統合します。APIキーを取
+### Solanaフレームワーク + + + + + + + +
Icon Solana Agent Kit AIエージェントをSolanaプロトコルに接続するためのオープンソースツールキット。DeepSeek LLMを使用する任意のエージェントが、60以上のSolanaアクションを自律的に実行できます。
+ ### IMアプリケーションプラグイン diff --git a/docs/solana-agent-kit/README.md b/docs/solana-agent-kit/README.md new file mode 100644 index 0000000..07ca47c --- /dev/null +++ b/docs/solana-agent-kit/README.md @@ -0,0 +1,67 @@ +# README + +logo + +--- + +An open-source toolkit for connecting AI agents to Solana protocols. Now, any agent, using any model can autonomously perform 60+ Solana actions: +‍ + +## STEP1. + +Apply a token from [deepseek open platform](https://platform.deepseek.com/) + +## STEP 2 + +Intialize the DeepSeek LLM + +``` +import { ChatDeepSeek } from "@langchain/deepseek"; + +const deepseek = new ChatDeepSeek({ + model: "deepseek-chat", + temperature: 0, +}); +``` +‍ +## STEP 3 + +Intialize the Solana Agent Kit with DeepSeek + +```typescript +const solanaAgent = new SolanaAgentKit( + process.env.SOLANA_PRIVATE_KEY!, + process.env.RPC_URL!, + { + OPENAI_API_KEY: process.env.OPENAI_API_KEY!, + HELIUS_API_KEY: process.env.HELIUS_API_KEY!, + PERPLEXITY_API_KEY: process.env.PERPLEXITY_API_KEY!, + }, +); + +const tools = createSolanaTools(solanaAgent); + +const agent = createReactAgent({ + llm: deepseek, + tools, + checkpointSaver: memory, + messageModifier: ` + You are a helpful agent that can interact onchain using the Solana Agent Kit. You are + empowered to interact onchain using your tools. If you ever need funds, you can request them from the + faucet. If not, you can provide your wallet details and request funds from the user. If there is a 5XX + (internal) HTTP error code, ask the user to try again later. If someone asks you to do something you + can't do with your currently available tools, you must say so, and encourage them to implement it + themselves using the Solana Agent Kit, recommend they go to https://www.solanaagentkit.xyz for more information. Be + concise and helpful with your responses. Refrain from restating your tools' descriptions unless it is explicitly requested. + `, +}); + +const stream = await agent.stream( + { messages: [new HumanMessage(userInput)] }, + config, +); +``` + +More guides can be found in the [Solana Agent Kit](https://docs.solanaagentkit.xyz/v0/introduction) + +‍ \ No newline at end of file diff --git a/docs/solana-agent-kit/assets/sendai-logo.png b/docs/solana-agent-kit/assets/sendai-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..638b96267b1b304cd02d577d525e5b3f1742c028 GIT binary patch literal 26768 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 z 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 D%O8LD literal 0 HcmV?d00001