一个基于 Go 语言开发的 DeepSeek API 客户端 SDK,提供简单易用的接口与 DeepSeek 进行交互。
✅ 支持 DeepSeek 所有模型查询
✅ 支持账户余额查询
✅ 支持普通聊天模式
✅ 支持流式聊天模式
✅ 支持上下文对话管理
✅ 可配置超时时间
go get github.com/miajio/dpsk
import "github.com/miajio/dpsk/engine" client, err := engine.NewClient( engine.WithApiKey("YOUR_DEEPSEEK_API_KEY"), engine.WithTimeout(30*time.Second), ) if err != nil { log.Fatal("初始化客户端失败:", err) }
models, err := client.GetModels(context.Background()) if err != nil { log.Fatal("获取模型失败:", err) } fmt.Printf("可用模型: %+v\n", models)
balance, err := client.GetBalance(context.Background()) if err != nil { log.Fatal("获取余额失败:", err) } fmt.Printf("账户余额: %+v\n", balance)
import "github.com/miajio/dpsk/chat" req, err := chat.NewChatRequest( chat.WithModel("deepseek-chat"), chat.WithMessages([]chat.Message{ {Role: "system", Content: "你是一个情感ai程序"}, {Role: "user", Content: "你好,我叫小明"}, }...), ) if err != nil { log.Fatal("创建请求失败:", err) } resp, err := client.Chat(context.Background(), req) if err != nil { log.Fatal("聊天失败:", err) } fmt.Printf("AI回复: %s\n", resp.Choices[0].Message.Content)
req, err := chat.NewChatRequest( chat.WithModel("deepseek-chat"), chat.WithMessages([]chat.Message{ {Role: "system", Content: "你是一个情感ai程序"}, {Role: "user", Content: "你好,我叫小明"}, }...), chat.WithStream(true), ) stream, streamErr, err := client.ChatStream(context.Background(), req) if err != nil { log.Fatal("开启流式聊天失败:", err) } for { select { case msg, ok := <-stream: if !ok { return } if len(msg.Choices) > 0 { fmt.Print(msg.Choices[0].Delta.Content) } case err, ok := <-streamErr: if ok { log.Printf("流错误: %v", err) } return } }
// 初始化对话 req, _ := chat.NewChatRequest( chat.WithModel("deepseek-chat"), chat.WithMessages([]chat.Message{ {Role: "system", Content: "你是一个情感ai程序"}, {Role: "user", Content: "你好,我叫小明"}, }...), ) // 获取AI回复后添加到上下文 resp, _ := client.Chat(context.Background(), req) req.AddMessage("assistant", resp.Choices[0].Message.Content) // 继续对话 req.AddMessage("user", "你喜欢听歌么?") resp, _ = client.Chat(context.Background(), req)
| 选项 | 描述 | 默认值 |
|---|---|---|
WithApiKey |
设置DeepSeek API密钥 | 必填 |
WithTimeout |
设置请求超时时间 | 30秒 |
WithBaseUrl |
设置API基础URL | DeepSeek官方API地址 |
欢迎提交 Pull Request 或 Issue 来改进这个项目!
MIT License