DeepSeek API 的获取与对话示例

代码文件下载:Code

在线链接:Kaggle | Colab

文章目录

注册并获取API

访问 https://platform.deepseek.com/sign_in 进行注册并登录:

新用户注册后将赠送 10 块钱余额,有效期为一个月:

点击左侧的 API keys(或者访问 https://platform.deepseek.com/api_keys),然后点击 创建 API key:

命名,然后点击 创建

与其他平台不同的是,DeepSeek 的 API 仅在创建时显示,你可能需要记录它,点击 复制

环境依赖

命令行执行:

bash 复制代码
pip install openai

设置 API

python 复制代码
import os
os.environ['DEEPSEEK_API_KEY'] = 'your-api-key' # 1

单轮对话

python 复制代码
from openai import OpenAI
import os

def get_response():
    client = OpenAI(
        api_key=os.getenv('DEEPSEEK_API_KEY'), # 1
        base_url="https://api.deepseek.com", # 2
    )
    completion = client.chat.completions.create(
        model="deepseek-chat", # 3
        messages=[
            {'role': 'system', 'content': 'You are a helpful assistant.'},
            {'role': 'user', 'content': '你是谁?'}]
        )
    print(completion.model_dump_json())

get_response()

多轮对话

python 复制代码
from openai import OpenAI
import os

def get_response(messages):
    client = OpenAI(
        api_key=os.getenv('DEEPSEEK_API_KEY'), 
        base_url="https://api.deepseek.com",
    )
    completion = client.chat.completions.create(
        model="deepseek-chat",
        messages=messages
        )
    return completion

messages = [{'role': 'system', 'content': 'You are a helpful assistant.'}]
# 您可以自定义设置对话轮数,当前为3
for i in range(3):
    user_input = input("请输入:")
    
    # 将用户问题信息添加到messages列表中,这部分等价于之前的单轮对话
    messages.append({'role': 'user', 'content': user_input})
    assistant_output = get_response(messages).choices[0].message.content
    
    # 将大模型的回复信息添加到messages列表中,这里是历史记录,保存上下文
    messages.append({'role': 'assistant', 'content': assistant_output})
    print(f'用户输入:{user_input}')
    print(f'模型输出:{assistant_output}')
    print('\n')

流式输出

python 复制代码
from openai import OpenAI
import os

def get_response():
    client = OpenAI(
        api_key=os.getenv("DEEPSEEK_API_KEY"),
        base_url="https://api.deepseek.com",
    )
    completion = client.chat.completions.create(
        model="deepseek-chat",
        messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
                  {'role': 'user', 'content': '你是谁?'}],
        stream=True,
        # 可选,配置以后会在流式输出的最后一行展示token使用信息
        stream_options={"include_usage": True}
        )
    for chunk in completion:
        print(chunk.model_dump_json())

if __name__ == '__main__':
    get_response()

更换模型

当前使用的是聊天模型(deepseek-chat),如果你想修改为推理模型(deepseek-reasoner),对应修改代码中的 model

diff 复制代码
- completion = client.chat.completions.create(
-     model="deepseek-chat",
-     ...
-     )
    
+ completion = client.chat.completions.create(
+     model="deepseek-reasoner",
+     ...
+     )

推理模型的单轮对话输出示例

观察 reasoning_content 可以捕捉到思考过程。

相关推荐
iiiiii1113 小时前
【论文阅读笔记】多实例学习方法 Diverse Density(DD):在特征空间中寻找正概念的坐标
论文阅读·人工智能·笔记·机器学习·ai·学习方法·多实例学习
大模型真好玩17 小时前
Gemini3.0深度解析,它在重新定义智能,会是前端工程师噩梦吗?
人工智能·agent·deepseek
Learn-Share_HY20 小时前
[Python]如何用uv套件建置python專案與虛擬環境?
python·ai·virtualenv·uv·server·mcp·cline
www_stdio1 天前
与大模型共舞:从 DeepSeek 到模块化智能应用开发
deepseek
温柔哥`1 天前
【Nature Communications‘24‘06】预训练多模态大语言模型通过 SkinGPT-4 提升皮肤病学诊断能力
ai·微调·数据集·视觉语言大模型·皮肤病诊断大模型·nature 子刊·skingpt-4
ohyeah1 天前
前端开发者也能玩转大模型:使用HTTP请求调用DeepSeek全记录
前端·人工智能·deepseek
天草二十六_简村人2 天前
docker安装index-tts,实现文本转语音的本地私有化部署
运维·docker·ai·容器·ai编程
TDengine (老段)2 天前
优化 TDengine IDMP 面板编辑的几种方法
人工智能·物联网·ai·时序数据库·tdengine·涛思数据
Thexhy2 天前
Java大模型后端开发全流程指南
java·ai·大模型
linuxxx1102 天前
高考志愿填报辅助系统
redis·后端·python·mysql·ai·django·高考