AI_DeepSeek-提示词以及代码调用
使用方式
1.网页直接使用-在线体验
2.使用DeepSeek的API,使用第三方的API 。目前,API 暂不支持搜索功能
sk-b***************************
3.使用第三方一键部署的服务-然后调用API
4.本地部署然后调用API
5.预训练模型-部署-调用
模型
01.模型:
deepseek-chat 和 deepseek-coder 模型调用
DeepSeek-V2-Chat 和 DeepSeek-Coder-V2 两个模型的合并,正式发布 DeepSeek-V2.5
DeepSeek-V3 首个版本上线并同步开源
02.参数
超参数及 prompt
01. temperature
精确回答:可以使用较低的温度以确保生成文本的准确性和连贯性
temperature(温度)是一个控制生成文本随机性与创造性的超参数
Determines the degree of randomness in the response. Softmax函数的输出概率分布
03.接口
/chat/completions 对话补全
/completions
多轮对话
基本概念理解
1. DeepSeek API 创新采用硬盘缓存
即 system 消息 + user 消息中的 <财报内容>。缓存系统以 64 tokens 为一个存储单元 缓存构建耗时为秒级。缓存不再使用后会自动被清空
计费分析
大模型的计费方式都是依据token来计算
token数 一般情况下模型中 token 和字数的换算比例 不同模型的分词不同,所以换算比例也存在差异
。Token 是模型用来表示自然语言文本的的最小单位,可以是一个词、一个数字或一个标点符号等
2.
缓存命中是,指当系统接收到数据请求时,
所需数据已存在于缓存(Cache)中,无需从原始数据源(如数据库、API接口)重复获取。
用户多次发送相同或相似的问题给模型
缓存未命中 缓存过期或问题变化 → 缓存未命中 → 重新调用 API。
3.总成本 = 输入成本(含缓存) + 输出成本
2.Function Calling 功能效果
函数功能需由用户提供,模型本身不执行具体函数
3. temperature 等参数
max_tokens:最终回答的最大长度(不含思维链输出),默认为 4K,最大为 8K
reasoning_effort 控思维链的长度的参数-待上线
4.限速 -DeepSeek API 不限制用户并发量-当我们的服务器承受高流量压力时
并持续收到如下格式的返回内容:
非流式请求:持续返回空行 请注意处理这些空行或注释
输入
"role": "system" 系统提示词 "content": "You are a helpful assistant",
"role": "user" 用户输入 "content": "Hi",
"role": "assistant" 模型输出
长预设提示词的问答助手类 长角色设定与多轮对话的角色扮演
messages = [{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}]
代码示例
import requests
import json
url = "https://api.deepseek.com/chat/completions"
auto_sk = r"sk-****************"
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer ' + auto_sk
}
message_content = [
{"content": "You are a helpful assistant", "role": "system"},
{"role": "user", "content": "9.11 and 9.8, which is greater?"}]
input_info = {
"messages": message_content,
"model": "deepseek-chat",
"frequency_penalty": 0,
"max_tokens": 2048,
"presence_penalty": 0,
"response_format": {"type": "text"},
"stop": None,
"stream": False,
"stream_options": None,
"temperature": 1,
"top_p": 1,
"tools": None,
"tool_choice": "none",
"logprobs": False,
"top_logprobs": None,
}
payload = json.dumps(input_info)
response = requests.request("POST", url, headers=headers, data=payload)
response.encoding = 'utf-8'
status = response.status_code
print("status",status)
if response.status_code == 200:
print("response.text :",response.text)
response_info = response.json()
assistant_content = response_info.get("choices")[0].get("message")["content"]
print(status, assistant_content)
else:
print(f"请求失败,状态码: {response.status_code}")
# Round 2
if assistant_content is not None:
message_content.append({'role': 'assistant', 'content': assistant_content})
message_content.append({'role': 'user', 'content': "How many Rs are there in the word 'strawberry'?"})
print("message_content",message_content)
input_info["messages"] = message_content
payload = json.dumps(input_info)
response = requests.request("POST", url, headers=headers, data=payload)
status = response.status_code
if response.status_code == 200:
print("response.text 2 :",response.text)
response_info = response.json()
assistant_content = response_info.get("choices")[0].get("message")["content"]
print(status, assistant_content)
else:
print(f"请求失败,状态码: {response.status_code}")
输出
输出思维链内容(reasoning_content)和最终回答(content
print(response.status_code,response.text)
200
{
"id":"a4***5ca3d3c32", ## 该对话的唯一标识符
"object":"chat.completion", ## 对象的类型, 其值为 chat.completion
"created":1738820478, ## 创建聊天完成时的 Unix 时间戳(以秒为单位)
"model":"deepseek-reasoner", ## 生成该 completion 的模型名。
"choices":[{"index":0, ## completion 的选择列表中的索引
"message":{"role":"assistant", ##生成这条消息的角色
"content":"Hello! How can I assist you today? 😊",
"reasoning_content":"Okay, the user just said \"Hi\". I should respond in a friendly and approachable way. Let me start with a greeting.
Maybe ask how I can assist them today to keep the conversation going. Keep it simple and welcoming."},
"logprobs":null, ## 该 choice 的对数概率信息。
"finish_reason":"stop"} ##模型停止生成 token 的原因。
],
"usage":{"prompt_tokens":12,
"completion_tokens":60,
"total_tokens":72,
"prompt_tokens_details":{"cached_tokens":0},
"completion_tokens_details":{"reasoning_tokens":47},
"prompt_cache_hit_tokens":0, ## 本次请求的输入中,缓存命中的 tokens 数
"prompt_cache_miss_tokens":12 ## 本次请求的输入中,缓存未命中的 tokens 数
}
,"system_fingerprint":"fp_**9a08"}
错误排查
401 认证失败
{"error":{"message":"Authentication Fails (no such user)","type":"authentication_error","param":null,"code":"invalid_request_error"}}
1.有无API key
2.API的配置位置是否对
402 - 余额不足
{"error":{"message":"Insufficient Balance","type":"unknown_error","param":null,"code":"invalid_request_error"}}
赠送账单有10元,有效期是30天,超过30天后失效,
充值余额为0的话,调用API会失效 充值账单 "Insufficient Balance" 通常与资金不足相关
相关概念
robots.txt 和 sitemap.xml 是为搜索引擎设计的, 传统的 SEO 技术是针对搜索爬虫而非推理引擎进行优化的
LLMs.txt 是面向推理引擎优化,它以 LLM 可以轻松理解的格式向 LLM 提供有关网站的信息
/llms.txt: 简化的文档导航视图,帮助 AI 系统快速理解站点的结构
/llms-full. txt: 在一个包含所有文档的综合文件
Cursor 是一款基于人工智能的代码编辑器,旨在帮助开发者更高效地编写代码
Continue 是一款支持代码补全的 VSCode 插件
request
Content-Type类型 text/plain:纯文本 application/json:JSON数据格式 application/xml:XML数据格式
. application/x-www-form-urlencoded:普通表单格式(键值对) 请求参数用key1=val1&key2=val2的方式进行组织
image/jpeg:JPEG图片格式
参数本身就是json格式的数据,参数会被直接放到请求实体里,
Content-Type 是关于请求或响应的实际数据类型的信息,
而 Accept 是客户端表达其内容类型偏好的方式。这两个标头的合理使用有助于确保HTTP通信的有效性和互操作性。
使用 Few-shot 学习
是指在请求中提供一些示例,让模型学习到特定的模式
1.选择合适的模型
2.合适的表达方式
1. 用 " 输入 - 输出 " 的示例结构,让 LLM 理解你要的结果
2. 给示例 + 语言描述输出要求
3.高质量的数据
链式推理(Chain of Thought)
零样本提示(Zero shot)与少样本提示(Few shot)
prompt Few Shot 重在 " 举例 "
雷军:
人工智能是如今最热门的科技创新的话题,要尽快适应这个新的时代,现在AI在各行各业都开始应用了,
要把AI工具用好,在刚开始大部分都不会用的时候,你会用对你来说就是机会,
而且用AI的工具解决问题的速度会比别人快很多
案例
写好Deepseek的提示词prompt
1.明确目标,简洁清晰,细化-提供上下文
2.结构化提示词 限制条件
3. 分步引导 角色扮演 迭代优化
你是新闻分类专家,主要任务 :对输入的新闻文本进行自动分类,识别其所属的新闻种类。
你根据分析新闻文本的内容和结构,将新闻文本分类到预定义的种类中,预定义的种类有:政治、经济、科技、娱乐、体育、教育、健康。
给你一段新闻文本,你只输出新闻文本所属预定义的哪个种类。
现在将下列新闻文本进行分类:
美国太空探索技术公司(SpaceX)的猎鹰9号运载火箭(Falcon 9)
在经历美国联邦航空管理局(Federal Aviation Administration,FAA)短暂叫停发射后,
于当地时间8月31日凌晨重启了发射任务。
参考
上下文硬盘缓存 https://api-docs.deepseek.com/zh-cn/guides/kv_cache
Token 用量计算 https://api-docs.deepseek.com/zh-cn/quick_start/token_usage
提示库 https://api-docs.deepseek.com/zh-cn/prompt-library/
API 指南 使用 Few-shot 学习 https://api-docs.deepseek.com/zh-cn/guides/kv_cache
分类:
大数据和AI以及云计算_架构
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)