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

[GenAI] 外接DeepSeek

deepseek 开发平台 申请一个 api key

申请 api key 的时候,只有在创建的时候才能看到完整的 key,所以创建的时候一定要妥善保存

有了 api key 后,我们就可以和 deepseek 大模型进行一个交互,这里我们用 curl 命令发送一个 POST 请求 到 DeepSeek 的接口 /chat/completions

curl https://api.deepseek.com/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer sk-f5f93edf175c42ee8683691f8aacfdab" \-d '{"model": "deepseek-chat","messages": [{"role": "user", "content": "你是谁?"}],"stream": false}'
  • -H "Content-Type: application/json" \
    • -H 指定一个 HTTP Header。
    • Content-Type: application/json 告诉服务器:请求体是 JSON 格式的数据。
  • -H "Authorization: Bearer sk-f5f93edf175c42ee8683691f8aacfdab" \
    • 这是 认证信息
    • 使用 Bearer Token 方式授权,sk-xxx 是 API 密钥。
  • -d '{ "model": "deepseek-chat", "messages": [{"role": "user", "content": "你是谁?"}],"stream": true}'
    • 请求体(Request Body),使用 -d 传递 JSON 数据。
    • "model": "deepseek-chat":指定使用的模型名。
    • "messages": [...]:消息对象
    • "content": "你是谁?":用户发出的具体问题或对话内容。

大模型返回内容:

{"id": "81dddbb5-c01b-476b-a5d5-c5ac87e31b92", // 每次请求的唯一标识符(UUID)"object": "chat.completion",                 // 返回对象类型,这里表示是聊天补全结果"created": 1751766353,                       // 响应生成时间(Unix 时间戳,单位秒)"model": "deepseek-chat",                    // 使用的模型名称"choices": [                                 // 模型返回的一个或多个回答(通常只会有一个){"index": 0,                              // 当前回答的索引(从 0 开始)"message": {"role": "assistant",                   // 消息角色,这里是 AI 助手"content": "我是一个智能AI助手,随时为你提供帮助和解答问题。有什么我可以帮你的吗?" // 模型生成的文本内容},"logprobs": null,                        // token 概率信息(如未启用 logprobs 则为 null)"finish_reason": "stop"                  // 结束原因:stop 表示正常生成结束}],"usage": {                                   // 本次请求的 Token 使用情况"prompt_tokens": 25,                       // 用户输入占用的 token 数"completion_tokens": 19,                   // 模型回复占用的 token 数"total_tokens": 44,                        // 总共使用的 token 数"prompt_tokens_details": {"cached_tokens": 0                       // 命中缓存的 token 数(如启用 prompt 缓存机制)},"prompt_cache_hit_tokens": 0,              // 缓存命中 token 数(本次为 0,表示未命中)"prompt_cache_miss_tokens": 25             // 缓存未命中 token 数(本次为 25,即全部未命中)},"system_fingerprint": "fp_8802369eaa_prod0623_fp8_kvcache" // 系统/模型运行环境指纹,用于追踪模型版本等
}

当然,我们也可以开启流式回复:

curl https://api.deepseek.com/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer sk-f5f93edf175c42ee8683691f8aacfdab" \-d '{"model": "deepseek-chat","messages": [{"role": "user", "content": "你是谁?"}],"stream": true}'

得到的回复如下:

data: {"id":"83e0da03-9eb4-4883-887c-14847e88a441","object":"chat.completion.chunk","created":1751767365,"model":"deepseek-chat","system_fingerprint":"fp_8802369eaa_prod0623_fp8_kvcache","choices":[{"index":0,"delta":{"content":"我是一个"},"logprobs":null,"finish_reason":null}]}...data: {"id":"83e0da03-9eb4-4883-887c-14847e88a441","object":"chat.completion.chunk","created":1751767365,"model":"deepseek-chat","system_fingerprint":"fp_8802369eaa_prod0623_fp8_kvcache","choices":[{"index":0,"delta":{"content":"吗"},"logprobs":null,"finish_reason":null}]}data: {"id":"83e0da03-9eb4-4883-887c-14847e88a441","object":"chat.completion.chunk","created":1751767365,"model":"deepseek-chat","system_fingerprint":"fp_8802369eaa_prod0623_fp8_kvcache","choices":[{"index":0,"delta":{"content":""},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":25,"completion_tokens":19,"total_tokens":44,"prompt_tokens_details":{"cached_tokens":0},"prompt_cache_hit_tokens":0,"prompt_cache_miss_tokens":25}}data: [DONE]

目前的大模型仅仅是简单的 输入输出,甚至连上下文都不支持。

例如下面的例子:

curl https://api.deepseek.com/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer sk-f5f93edf175c42ee8683691f8aacfdab" \-d '{"model": "deepseek-chat","messages": [{"role": "user", "content": "你是谁?"}],"stream": false}'
curl https://api.deepseek.com/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer sk-f5f93edf175c42ee8683691f8aacfdab" \-d '{"model": "deepseek-chat","messages": [{"role": "user", "content": "我刚才说的啥?"}],"stream": false}'

模型给出的回复:

你之前没有发送过任何内容哦~可能是消息没发送成功?你可以重新告诉我你的问题或需求,我会尽力帮你解答! 😊

🙋那有没有办法让模型支持上下文呢?

其实非常简单,只需要将之前的会话,加入到 messges 数组里面就行了,如下:

curl https://api.deepseek.com/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer sk-f5f93edf175c42ee8683691f8aacfdab" \-d '{"model": "deepseek-chat","messages": [{"role": "user", "content": "你知道大象么?"},{"role": "assistant", "content": "大象是陆地上体型最大的哺乳动物,以其智慧、社会性和标志性的长鼻子(象鼻)而闻名。它们分为非洲象和亚洲象两个主要种类,具有高度发达的家庭结构和情感能力。"},{"role": "user", "content": "我们刚才聊了啥?"}],"stream": false}'

模型给出的回复如下:

我们刚才的对话非常简短,你问的是关于大象的基本信息。具体内容如下:  \n\n1. **你的提问**:你知道大象么?  \n2. **我的回答**:介绍了大象是陆地上最大的哺乳动物,提到它们的智慧、社会性、象鼻的功能,以及非洲象和亚洲象的区别。  \n\n然后你接着问到了**之前的聊天内容**,也就是现在这一轮对话。  \n\n如果需要更详细的大象知识(比如习性、保护现状等),或者想聊其他话题,可以随时告诉我! 😊

所以,大模型支持上下文的原理非常的简单,就是将之前的聊天记录一并给它。

http://www.wxhsa.cn/company.asp?id=957

相关文章:

  • 一个简单美观的文件时间修改器
  • 暗黑类游戏属性系统程序设计思路3.0
  • 完整教程:毕设课题:基于Node.js+Express框架+Mysql数据库的助农农产品销售商城设计与实现
  • 经典的混合加密传输协议—PGP
  • 2025年互联网行业专业工艺认证发展指南
  • 基本数据类型转换
  • C# Avalonia 13- MoreDrawing - VisualLayer
  • Linux 设置nginx 以及java jar自启动
  • DevelPy-TryHackMe
  • 记录一次解决phpstudy启动数据库自动关闭的问题方法
  • cache redis
  • 《爱上情感:自然魅力的社交》
  • Java的基本数据类型
  • H5游戏性能优化系列-----配置相关优化
  • 300 毫秒生成情感 AI 视频,Nuance Labs 获千万美元融资;AirPods Pro 3 将集成实时语音翻译丨日报
  • 认知引擎:企业下一个决胜分水岭
  • node.js安装地址
  • 【已解决】git Encountered 3 file(s) that should have been pointers, but werent
  • 接雨水-leetcode
  • Codeforces Round 1049 (Div. 2) E
  • ES深度分页优化
  • 2025年8月国产数据库大事记:东莞银行1078万采购OceanBase、821万采购腾讯TDSQL,2025上半年达梦净利2亿、金仓净利润飙升……
  • VSCode安装Jupyter的常见问题
  • 批量设置Excel样式格式(如:纸张大小,排版,字体等)+ 支持windows系统
  • 张瑜:牛市进程之十大观察指标 - Leone
  • QT-控件使用-获取lable标签宽高尺寸设置图片
  • 初识python:一些基础的知识(推导式)
  • RK3588+preemrt+ethercat搭建
  • Windows 11 系统优化
  • 碎碎念(十六)