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

DeepSeek 聊天完成 API 的应用与使用

在当今的人工智能技术中,DeepSeek 是一个非常强大的对话系统。通过输入提示,DeepSeek 能在几秒钟内生成流畅自然的回复。DeepSeek-V3 凭借其卓越的语言理解和生成能力,在各个行业和领域中都有着广泛的应用,其影响力日益显著。无论是日常对话、创意写作,还是专业咨询和编程,DeepSeek-V3 都能提供令人惊叹的智能助手,极大地提升人类的工作效率和创造力。

本文将详细介绍 DeepSeek 聊天完成 API 的使用过程,帮助我们轻松利用 DeepSeek 对话功能。

环境准备/前置条件

  1. 访问 DeepSeek Chat Completion API 页面。
  2. 注册并登录账户,获取 API 请求所需的凭据。
  3. 一旦申请首次使用,将会提供一个免费的配额,允许您免费使用该 API。

详细步骤

申请过程

在访问 DeepSeek API 页面后,点击“获取”按钮以获取请求凭据:

如果您尚未登录或注册,将自动重定向到登录页面。完成登录或注册后,将返回到当前页面。

基本使用

在页面界面中填写相应内容,如下图所示:

首次使用时,需填写至少三项内容:

  • authorization:从下拉列表中直接选择。
  • model:选择要使用的 DeepSeek 官方模型。主要有四种类型的模型,具体详情请查看提供的模型。
  • messages:一个数组,包含我们的输入问题,每个问题包含rolecontentrole表示提问者的身份,提供三种身份:userassistantsystemcontent是我们问题的具体内容。

右侧有代码生成,可以直接复制运行或点击“试用”按钮进行测试。

常用可选参数:

  • max_tokens:限制单个回复的最大 token 数量。
  • temperature:生成随机性,范围为 0-2,值越大生成的内容越发散。
  • n:一次生成多少个候选回复。
  • response_format:设置返回格式。

调用后返回的结果如下:

{ "id": "chatcmpl-050bf20a-ebcd-498a-bf6e-63ee0738013b", "object": "chat.completion", "created": 1764846609, "model": "deepseek-v3.2-exp", "usage": { "prompt_tokens": 8, "completion_tokens": 11, "total_tokens": 19 }, "choices": [ { "index": 0, "message": { "content": "Hello! 😊 How can I help you today?", "role": "assistant" }, "refs": null, "logprobs": null, "finish_reason": "stop", "service_tier": null } ] }

返回结果中的各字段含义如下:

  • id:该对话任务生成的 ID,用于唯一标识该对话任务。
  • created:该对话任务的创建时间信息。
  • model:选择的 DeepSeek 官方模型。
  • choices:DeepSeek 对问题提供的响应信息。
  • usage:该问答对的 token 统计信息。

可以看到,choices中的content字段包含 DeepSeek 的具体回复内容。

流式响应

此接口还支持流式响应,非常适合网页集成,允许网页实现逐字显示效果。

若希望以流式方式返回响应,可以将请求头中的stream参数更改为true

如图所示修改,但调用代码需要进行相应的更改以支持流式响应。

修改streamtrue后,API 将逐行返回相应的 JSON 数据,代码层面需要做相应的修改以获取逐行结果。

Python 示例调用代码:

import requests url = "https://api.acedata.cloud/deepseek/chat/completions" headers = { "accept": "application/json", "authorization": "Bearer {token}", "content-type": "application/json" } payload = { "model": "deepseek-v3", "messages": [{"role":"user","content":"hello"}], "stream": True } response = requests.post(url, json=payload, headers=headers) print(response.text)

输出效果如下:

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "choices": [{"delta": {"content": "Hello", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null} ... data: [DONE]

可以看到,响应中有多个datachoices中是最新的响应内容,[DONE]表示流式响应已完全结束。

多轮对话

如果想要集成多轮对话功能,需要在messages字段中上传多个问题。多轮问题的具体示例如下:

Python 示例调用代码:

import requests url = "https://api.acedata.cloud/deepseek/chat/completions" headers = { "accept": "application/json", "authorization": "Bearer {token}", "content-type": "application/json" } payload = { "model": "deepseek-v3", "messages": [{"role":"user","content":"Hello"},{"role":"assistant","content":"Hi! How can I assist you today?"},{"role":"user","content":"What I say just now?"}] } response = requests.post(url, json=payload, headers=headers) print(response.text)

通过上传多个问题,您可以轻松实现多轮对话,并收到如下响应:

{ "id": "as-8g3qzbsw2b", "object": "chat.completion", "created": 1755437895, "model": "deepseek-v3", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "You just said: \n\n**\"Hello\"** \n\nAnd I responded with: \n\n**\"Hi! How can I assist you today?\"** \n\nThen you followed up with: \n\n**\"What I say just now?\"** \n\nLet me know how I can help! 😊" }, "finish_reason": "stop", "flag": 0 } ], "usage": { "prompt_tokens": 22, "completion_tokens": 57, "total_tokens": 79 } }

可以看到,choices中的信息与基本用法内容一致,包括 DeepSeek 对多轮对话的具体回复。

错误处理

调用 API 时,如果发生错误,API 将返回相应的错误代码和消息。例如:

  • 400 token_mismatched:错误请求,可能由于缺少或无效参数。
  • 401 invalid_token:未授权,无效或缺失授权 token。
  • 429 too_many_requests:请求过多,超出速率限制。
  • 500 api_error:服务器内部错误,服务器出现问题。

错误响应示例

{ "success": false, "error": { "code": "api_error", "message": "fetch failed" }, "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89" }

总结

通过本文,您了解了如何使用 DeepSeek 聊天完成 API 简便地实现对话功能。希望本文能帮助您更好地集成和使用该 API。如有任何问题,请随时联系技术支持团队。

平台背景: - 名称:Ace Data

http://www.cnnetsun.cn/news/1630573.html

相关文章:

  • 爬虫对抗:分布式爬虫架构设计与IP代理池实战
  • 射频电路设计——传输线理论中的阻抗匹配与功率传输
  • 【故障诊断】用于轴承故障诊断的候选故障频率优化克改进包络频谱研究附Matlab代码
  • 手把手教学:Qwen-Image-Edit-2511在ComfyUI中的快速部署与配置
  • 终极暗黑3按键助手:D3KeyHelper完整使用指南
  • CogVideoX-2b效果提升:多阶段生成与后期处理结合策略
  • 别光看速度了!用Python脚本实测llama.cpp推理时的真实内存占用(附完整测试代码)
  • 深圳小学数学期末试卷创新题型引热议,数学与文学跨界融合成焦点
  • 告别创作瓶颈:像素剧本圣殿应用指南,打造你的专属剧本工作站
  • Xenia Canary:Xbox 360游戏现代化解决方案——技术原理与实战指南
  • BM92S2231-1指纹模块UART协议与嵌入式集成指南
  • 如何用Buzz实现完全离线的语音转文字:终极隐私保护转录指南
  • 造相-Z-Image-Turbo 作品集:卷积神经网络特征引导下的写实人像生成
  • 还在用老掉牙的HashTab?2024年最新文件哈希校验工具横向评测(附下载)
  • 树莓派Pico开发环境搭建中的CMake版本兼容性问题及优化方案
  • Kubernetes与大数据处理最佳实践
  • Elixir Plug高级应用:如何构建自定义插件和扩展功能
  • InstructPix2Pix部署教程:NVIDIA NGC容器镜像定制化优化实践
  • 如何高效使用Cursor Pro免费工具:完整实战指南与功能解析
  • 突破OpenWrt网络瓶颈:Turbo ACC加速插件无缝体验指南
  • 重返未来1999终极自动化指南:3步实现游戏时间减半
  • VS Code高效调试:自定义console.log快捷键与智能代码片段配置
  • Farneback稠密光流在视频防抖中的应用:OpenCV4.x完整配置与效果评测
  • 深入解析Riverpod中的List操作与UI刷新
  • Opencascade实战:基于AIS_Shape与BVH的实时碰撞检测优化
  • 2025届最火的AI学术网站推荐
  • MacOS+PadOS双端党必看:Zotero搭配坚果云同步文献的5个隐藏技巧
  • 从一次内网钓鱼演练讲起:我是如何用Cain Abel的DNS欺骗‘钓’到同事密码的?
  • Phi-4-mini-reasoning生产环境:Nginx反向代理+HTTPS加持的对外服务部署
  • SQLCoder模型压缩:剪枝技术应用效果