Skip to content

SDK 和工具 ​

DeepSeek 提供多种编程语言的 SDK 和开发工具,帮助您快速集成 AI 能力到您的应用中。

官方 SDK ​

Python SDK ​

最受欢迎的 Python 客户端库,兼容 OpenAI API 格式。

安装 ​

bash
pip install openai

基础用法 ​

python
from openai import OpenAI

client = OpenAI(
    api_key="your-api-key",
    base_url="https://api.deepseek.com"
)

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "user", "content": "Hello, world!"}
    ]
)

print(response.choices[0].message.content)

高级功能 ​

python
# 流式响应
def stream_chat(messages):
    stream = client.chat.completions.create(
        model="deepseek-chat",
        messages=messages,
        stream=True
    )
    
    for chunk in stream:
        if chunk.choices[0].delta.content is not None:
            yield chunk.choices[0].delta.content

# 异步支持
import asyncio
from openai import AsyncOpenAI

async_client = AsyncOpenAI(
    api_key="your-api-key",
    base_url="https://api.deepseek.com"
)

async def async_chat():
    response = await async_client.chat.completions.create(
        model="deepseek-chat",
        messages=[{"role": "user", "content": "Hello!"}]
    )
    return response.choices[0].message.content

# 批量处理
def batch_process(message_lists):
    results = []
    for messages in message_lists:
        response = client.chat.completions.create(
            model="deepseek-chat",
            messages=messages
        )
        results.append(response.choices[0].message.content)
    return results

Node.js SDK ​

适用于 Node.js 和浏览器环境的 JavaScript 客户端。

安装 ​

bash
npm install openai

基础用法 ​

javascript
import OpenAI from 'openai';

const openai = new OpenAI({
    apiKey: 'your-api-key',
    baseURL: 'https://api.deepseek.com'
});

async function chat() {
    const completion = await openai.chat.completions.create({
        model: 'deepseek-chat',
        messages: [
            { role: 'user', content: 'Hello, world!' }
        ]
    });

    console.log(completion.choices[0].message.content);
}

chat();

高级功能 ​

javascript
// 流式响应
async function streamChat(messages) {
    const stream = await openai.chat.completions.create({
        model: 'deepseek-chat',
        messages: messages,
        stream: true
    });

    for await (const chunk of stream) {
        if (chunk.choices[0]?.delta?.content) {
            process.stdout.write(chunk.choices[0].delta.content);
        }
    }
}

// 错误处理
async function robustChat(messages) {
    try {
        const completion = await openai.chat.completions.create({
            model: 'deepseek-chat',
            messages: messages
        });
        return completion.choices[0].message.content;
    } catch (error) {
        if (error instanceof OpenAI.APIError) {
            console.error('API Error:', error.message);
        } else if (error instanceof OpenAI.RateLimitError) {
            console.error('Rate limit exceeded');
        } else {
            console.error('Unexpected error:', error);
        }
        throw error;
    }
}

// 并发处理
async function concurrentChat(messageLists) {
    const promises = messageLists.map(messages =>
        openai.chat.completions.create({
            model: 'deepseek-chat',
            messages: messages
        })
    );

    const results = await Promise.all(promises);
    return results.map(result => result.choices[0].message.content);
}

Go SDK ​

高性能的 Go 语言客户端库。

安装 ​

bash
go get github.com/sashabaranov/go-openai

基础用法 ​

go
package main

import (
    "context"
    "fmt"
    "log"

    "github.com/sashabaranov/go-openai"
)

func main() {
    config := openai.DefaultConfig("your-api-key")
    config.BaseURL = "https://api.deepseek.com/v1"
    client := openai.NewClientWithConfig(config)

    resp, err := client.CreateChatCompletion(
        context.Background(),
        openai.ChatCompletionRequest{
            Model: "deepseek-chat",
            Messages: []openai.ChatCompletionMessage{
                {
                    Role:    openai.ChatMessageRoleUser,
                    Content: "Hello, world!",
                },
            },
        },
    )

    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(resp.Choices[0].Message.Content)
}

高级功能 ​

go
// 流式响应
func streamChat(client *openai.Client, messages []openai.ChatCompletionMessage) {
    req := openai.ChatCompletionRequest{
        Model:    "deepseek-chat",
        Messages: messages,
        Stream:   true,
    }

    stream, err := client.CreateChatCompletionStream(context.Background(), req)
    if err != nil {
        log.Fatal(err)
    }
    defer stream.Close()

    for {
        response, err := stream.Recv()
        if errors.Is(err, io.EOF) {
            break
        }
        if err != nil {
            log.Fatal(err)
        }

        fmt.Print(response.Choices[0].Delta.Content)
    }
}

// 并发处理
func concurrentChat(client *openai.Client, messageLists [][]openai.ChatCompletionMessage) []string {
    var wg sync.WaitGroup
    results := make([]string, len(messageLists))

    for i, messages := range messageLists {
        wg.Add(1)
        go func(index int, msgs []openai.ChatCompletionMessage) {
            defer wg.Done()

            resp, err := client.CreateChatCompletion(
                context.Background(),
                openai.ChatCompletionRequest{
                    Model:    "deepseek-chat",
                    Messages: msgs,
                },
            )

            if err != nil {
                log.Printf("Error in goroutine %d: %v", index, err)
                return
            }

            results[index] = resp.Choices[0].Message.Content
        }(i, messages)
    }

    wg.Wait()
    return results
}

Java SDK ​

企业级 Java 应用的理想选择。

安装 ​

Maven:

xml
<dependency>
    <groupId>com.theokanning.openai-gpt3-java</groupId>
    <artifactId>service</artifactId>
    <version>0.18.2</version>
</dependency>

Gradle:

gradle
implementation 'com.theokanning.openai-gpt3-java:service:0.18.2'

基础用法 ​

java
import com.theokanning.openai.OpenAiApi;
import com.theokanning.openai.completion.chat.ChatCompletionRequest;
import com.theokanning.openai.completion.chat.ChatMessage;
import com.theokanning.openai.service.OpenAiService;

import java.util.List;

public class DeepSeekExample {
    public static void main(String[] args) {
        OpenAiService service = new OpenAiService("your-api-key");
        
        ChatCompletionRequest request = ChatCompletionRequest.builder()
                .model("deepseek-chat")
                .messages(List.of(
                    new ChatMessage("user", "Hello, world!")
                ))
                .build();

        String response = service.createChatCompletion(request)
                .getChoices().get(0).getMessage().getContent();
        
        System.out.println(response);
    }
}

C# SDK ​

适用于 .NET 生态系统的客户端库。

安装 ​

bash
dotnet add package OpenAI

基础用法 ​

csharp
using OpenAI;
using OpenAI.Chat;

var client = new OpenAIClient("your-api-key");

var chatClient = client.GetChatClient("deepseek-chat");

var completion = await chatClient.CompleteChatAsync(
    new ChatMessage[]
    {
        new UserChatMessage("Hello, world!")
    }
);

Console.WriteLine(completion.Value.Content[0].Text);

社区 SDK ​

Ruby ​

ruby
# Gemfile
gem 'ruby-openai'

# 使用示例
require 'openai'

client = OpenAI::Client.new(
  access_token: 'your-api-key',
  uri_base: 'https://api.deepseek.com'
)

response = client.chat(
  parameters: {
    model: 'deepseek-chat',
    messages: [
      { role: 'user', content: 'Hello, world!' }
    ]
  }
)

puts response.dig('choices', 0, 'message', 'content')

PHP ​

php
<?php
require_once 'vendor/autoload.php';

use OpenAI;

$client = OpenAI::client('your-api-key');

$response = $client->chat()->create([
    'model' => 'deepseek-chat',
    'messages' => [
        ['role' => 'user', 'content' => 'Hello, world!']
    ]
]);

echo $response['choices'][0]['message']['content'];
?>

Rust ​

toml
[dependencies]
async-openai = "0.17"
tokio = { version = "1.0", features = ["full"] }
rust
use async_openai::{Client, types::*};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new()
        .with_api_key("your-api-key")
        .with_api_base("https://api.deepseek.com/v1");

    let request = CreateChatCompletionRequestArgs::default()
        .model("deepseek-chat")
        .messages([
            ChatCompletionRequestUserMessageArgs::default()
                .content("Hello, world!")
                .build()?
                .into(),
        ])
        .build()?;

    let response = client.chat().create(request).await?;
    
    println!("{}", response.choices[0].message.content.as_ref().unwrap());
    
    Ok(())
}

开发工具 ​

CLI 工具 ​

安装 DeepSeek CLI 工具:

bash
npm install -g @deepseek/cli

基础用法:

bash
# 配置 API 密钥
deepseek config set api-key your-api-key

# 发送聊天请求
deepseek chat "Hello, world!"

# 流式输出
deepseek chat --stream "写一篇关于 AI 的文章"

# 使用不同模型
deepseek chat --model deepseek-coder "写一个快速排序算法"

# 批量处理
deepseek batch process input.jsonl output.jsonl

VS Code 扩展 ​

安装 DeepSeek VS Code 扩展:

  1. 打开 VS Code
  2. 搜索 "DeepSeek" 扩展
  3. 安装并配置 API 密钥

功能特性:

  • 代码补全
  • 代码解释
  • 错误修复
  • 代码重构
  • 文档生成

Postman 集合 ​

导入 DeepSeek API Postman 集合:

json
{
  "info": {
    "name": "DeepSeek API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{api_key}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://api.deepseek.com"
    },
    {
      "key": "api_key",
      "value": "your-api-key"
    }
  ]
}

框架集成 ​

LangChain ​

python
from langchain.llms import OpenAI
from langchain.chat_models import ChatOpenAI

# 聊天模型
chat = ChatOpenAI(
    model_name="deepseek-chat",
    openai_api_key="your-api-key",
    openai_api_base="https://api.deepseek.com/v1"
)

# 使用示例
from langchain.schema import HumanMessage

response = chat([HumanMessage(content="Hello, world!")])
print(response.content)

LlamaIndex ​

python
from llama_index.llms import OpenAI

llm = OpenAI(
    model="deepseek-chat",
    api_key="your-api-key",
    api_base="https://api.deepseek.com/v1"
)

response = llm.complete("Hello, world!")
print(response.text)

Haystack ​

python
from haystack.nodes import OpenAIAnswerGenerator

generator = OpenAIAnswerGenerator(
    api_key="your-api-key",
    api_base="https://api.deepseek.com/v1",
    model="deepseek-chat"
)

最佳实践 ​

1. 选择合适的 SDK ​

  • Python: 数据科学、机器学习项目
  • Node.js: Web 应用、前端集成
  • Go: 高性能后端服务
  • Java: 企业级应用
  • C#: .NET 生态系统

2. 性能优化 ​

  • 使用连接池
  • 实施请求缓存
  • 合理设置超时时间
  • 使用异步编程

3. 错误处理 ​

  • 实现重试机制
  • 处理速率限制
  • 记录详细日志
  • 提供降级方案

4. 安全考虑 ​

  • 安全存储 API 密钥
  • 使用 HTTPS 连接
  • 验证输入数据
  • 实施访问控制

获取支持 ​

如果您在使用 SDK 时遇到问题:

  1. 查看 API 文档
  2. 搜索 常见问题

贡献 ​

我们欢迎社区贡献!如果您想为 SDK 做出贡献:

  1. Fork 相应的 GitHub 仓库
  2. 创建功能分支
  3. 提交 Pull Request
  4. 参与代码审查

感谢您选择 DeepSeek!🚀

基于 DeepSeek AI 大模型技术