当前位置: 首页 > news >正文

DeepSeek API 的获取与对话示例

代码文件下载:Code

在线链接:Kaggle | Colab

文章目录

  • 注册并获取API
  • 环境依赖
  • 设置 API
  • 单轮对话
  • 多轮对话
  • 流式输出
  • 更换模型

注册并获取API

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

image-20250127163553505

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

image-20250127163652668

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

image-20250127163951485

命名,然后点击 创建

image-20250127164057495

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

image-20250127164159136

环境依赖

命令行执行:

pip install openai

设置 API

import os
os.environ['DEEPSEEK_API_KEY'] = 'your-api-key' # 1

单轮对话

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

多轮对话

from openai import OpenAI
import osdef 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 completionmessages = [{'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')

流式输出

from openai import OpenAI
import osdef 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

- completion = client.chat.completions.create(
-     model="deepseek-chat",
-     ...
-     )+ completion = client.chat.completions.create(
+     model="deepseek-reasoner",
+     ...
+     )

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

输出示例

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

http://www.lryc.cn/news/527870.html

相关文章:

  • 【愚公系列】《循序渐进Vue.js 3.x前端开发实践》027-组件的高级配置和嵌套
  • 预测性维护系统:让设备“未卜先知”
  • Qt Ribbon使用实例
  • Midscene.js:重新定义UI自动化的新时代工具
  • 【C语言基础】编译并运行第一个C程序
  • 处理 .gitignore 未忽略文件夹问题
  • php-phar打包避坑指南2025
  • 卡特兰数学习
  • 第05章 10 地形梯度场模拟显示
  • 2023CISCN初赛unzip
  • 计算机网络 (55)流失存储音频/视频
  • Linux通过docker部署京东矩阵容器服务
  • 【MySQL】悲观锁和乐观锁的原理和应用场景
  • Java Web-Tomcat Servlet
  • 老牌工具被破!
  • 在计算机上本地运行 Deepseek R1
  • MongoDB中常用的几种高可用技术方案及优缺点
  • 【GoLang】利用validator包实现服务端参数校验时自定义错误信息
  • 异或哈希总结
  • 【Rust自学】15.7. 循环引用导致内存泄漏
  • C#AWS signatureV4对接Amazon接口
  • C语言操作符(下)
  • 学习资料收藏 游戏开发
  • 我的2024年总结
  • freeswitch在centos上编译过程
  • docker如何查看容器启动命令(已运行的容器)
  • 正则表达式以及Qt中的使用
  • 当高兴、尊重和优雅三位一体是什么情况吗?
  • Vue 3 中的 TypeScript:接口、自定义类型与泛型
  • 【Super Tilemap Editor使用详解】(十六):高级主题:深入理解 Super Tilemap Editor