deepseek-v3在阿里云和腾讯云的使用中的差异
随着deepseek在各大云商上线,试用了下阿里云和腾讯云的deepseek服务,在回答经典数学问题9.9和9.11谁大时,发现还是有差异的。将相关的问题记录如下。
1、问题表现
笔者使用的openai的官方sdk go-openai。
因本文中测验主要使用阿里云和腾讯云。
在阿里云官网页面上时,回答正确:
通过api调用,不设置system提示词时,回答问题时每次都会出错:
代码如下:
package mainimport ("context""fmt""github.com/openai/openai-go""github.com/openai/openai-go/option"
)func main() {client := openai.NewClient(option.WithAPIKey("sk-xxxxxxxxxxxxxxxxx"), // defaults to os.LookupEnv("OPENAI_API_KEY")option.WithBaseURL("https://dashscope.aliyuncs.com/compatible-mode/v1/"),)chatCompletion, err := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{Messages: openai.F([]openai.ChatCompletionMessageParamUnion{openai.UserMessage("9.9和9.11谁大"),}),Model: openai.F("deepseek-v3"),})if err != nil {panic(err.Error())}println(chatCompletion.Choices[0].Message.Content)
}
若是发往腾讯云:
回答正确:
"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n \\[\n 9.9 = 9.90\n \\]\n \\[\n 9.11 = 9.11\n \\]\n\n2. **逐位比较**:\n - **个位数**:两者都是 \\(9\\),相等。\n - **十分位**:\\(9.90\\) 的十分位是 \\(9\\),\\(9.11\\) 的十分位是 \\(1\\)。\n \n 由于 \\(9 > 1\\),因此 \\(9.90 > 9.11\\)。\n\n**最终结论**:\n\\[\n\\boxed{9.9 \\text{ 大于 } 9.11}\n\\]"
"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n \\[\n 9.9 = 9.90\n \\]\n \\[\n 9.11 = 9.11\n \\]\n\n2. **逐位比较**:\n - **个位数**:两者都是 \\(9\\),相等。\n - **十分位**:\\(9.90\\) 的十分位是 \\(9\\),\\(9.11\\) 的十分位是 \\(1\\)。\n \n 由于 \\(9 > 1\\),所以 \\(9.90 > 9.11\\)。\n\n因此,\\(9.9\\) 大于 \\(9.11\\)。\n\n\\[\n\\boxed{9.9 > 9.11}\n\\]"
"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **比较整数部分**:\n - 两个数的整数部分都是 \\(9\\),所以需要比较小数部分。\n\n2. **比较小数部分**:\n - \\(9.9\\) 的小数部分是 \\(0.9\\)。\n - \\(9.11\\) 的小数部分是 \\(0.11\\)。\n\n3. **转换为相同小数位数**:\n - 将 \\(0.9\\) 转换为 \\(0.90\\),以便与 \\(0.11\\) 比较。\n \n4. **进行大小比较**:\n - \\(0.90 > 0.11\\),因此 \\(9.9 > 9.11\\)。\n\n**最终答案**:\n\\[\n\\boxed{9.9}\n\\]"
如果通过curl直接调用api时,不设置任何提示词时,
发往阿里云时,回答有时会错误:
输入命令:
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions -H "Authorization: Bearer sk-xxxxxxxxxxxxxxx" -H "Content-Type: application/json" -d '{"model": "deepseek-v3","messages": [{"role": "user", "content": "9.9和9.11谁大?"}]
}'
第一次答案:
9.9比9.11大,详细报文如下:
{"choices":[{"message":{"content":"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n - 将 **9.9** 写成 **9.90**,以便于比较。\n \n2. **逐位比较**:\n - **整数部分**:两数的整数部分都是 **9**,相等。\n - **小数部分**:\n - 第一位小数:**9.90** 的第一位小数是 **9**,**9.11** 的第一位小数是 **1**。\n - 由于 **9 > 1**,所以 **9.90 > 9.11**。\n\n因此,**9.9** 大于 **9.11**。\n\n最终答案:\\boxed{9.9 > 9.11}","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":13,"completion_tokens":175,"total_tokens":188},"created":1739847540,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-581f773a-f1ed-92f6-981d-00408259761d"}
第二次答案:是9.11比9.9大,详细报文如下:
{"choices":[{"message":{"content":"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 为了便于比较,将两个数的小数位数统一。将 \\(9.9\\) 写成 \\(9.90\\)。\n \n \\[\n 9.9 = 9.90\n \\]\n \n2. **逐位比较**:\n 从左到右逐位比较两个数:\n \n - **整数部分**:两者都是 \\(9\\),相等。\n - **第一位小数**:两者都是 \\(9\\),相等。\n - **第二位小数**:\\(0\\)(在 \\(9.90\\) 中) vs \\(1\\)(在 \\(9.11\\) 中)。\n \n 因为 \\(0 < 1\\),所以 \\(9.90 < 9.11\\)。\n\n3. **结论**:\n \\[\n 9.9 < 9.11\n \\]\n \n因此,\\(\\boxed{9.11}\\) 更大。","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":13,"completion_tokens":218,"total_tokens":231},"created":1739847774,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-15511b5b-d92d-9ca2-859c-13bf003e4381"}
而发往腾讯云时,执行三次结果全部正确:
通过上述,可以发现,阿里云在执行时,通过api进行调用时,使用go代码和shell代码执行结果并不一致,因此其可能存在逻辑并不相同的情况。
2、设置一中性通用提示词,对结果的影响
若设置system提示词为:you are a helpful assister
使用go代码时,在调用阿里云服务时结果为:
"9.11比9.9大。在比较小数时,从左到右逐位比较,9.9可以看作9.90,而9.11的十分位是1,比9.90的十分位9大,因此9.11更大。<|im_end|>"
同样代码,在调用腾讯云服务时,结果正确:
要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n - 将 **9.9** 写成 **9.90**,以便与 **9.11** 进行比较。\n\n2. **逐位比较**:\n - **个位数**:两者都是 **9**,相等。\n - **十分位**:**9.90** 的十分位是 **9**,**9.11** 的十分位是 **1**。由于 **9 > 1**,因此 **9.90 > 9.11**。\n\n3. **结论**:\n - **9.9** 大于 **9.11**。\n\n最终答案:\\boxed{9.9 > 9.11}
go代码为:
package mainimport ("context""fmt""github.com/openai/openai-go""github.com/openai/openai-go/option"
)func main() {client := openai.NewClient(option.WithAPIKey("sk-xxxxxxxxxxxxxxxxx"), // defaults to os.LookupEnv("OPENAI_API_KEY")//阿里云调用地址option.WithBaseURL("https://dashscope.aliyuncs.com/compatible-mode/v1/"),//腾讯云地址//option.WithBaseURL("https://api.lkeap.cloud.tencent.com/v1/"),)chatCompletion, err := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{Messages: openai.F([]openai.ChatCompletionMessageParamUnion{openai.SystemMessage("you are a helpful assister"), openai.UserMessage("9.9和9.11谁大"),}),Model: openai.F("deepseek-v3"),})if err != nil {panic(err.Error())}println(chatCompletion.Choices[0].Message.Content)
}
通过curl直接调用阿里云或腾讯云服务时均正确:
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-v3","messages": [{"role": "system","content": "You a helpful assister."},{"role": "user", "content": "9.9和9.11谁大?"}]
}'
阿里云三次输出结果,二次正确,一次错误:
第一次结果错误,显示9.11大于9.9
{"choices":[{"message":{"content":"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 将 \\(9.9\\) 写成两位小数:\n \\[\n 9.9 = 9.90\n \\]\n \n2. **逐位比较**:\n \\[\n \\begin{align*}\n \\text{整数部分} & : 9 = 9 \\\\\n \\text{第一位小数} & : 9 = 9 \\\\\n \\text{第二位小数} & : 0 < 1 \\\\\n \\end{align*}\n \\]\n \n 在第二位小数上,\\(0 < 1\\),因此 \\(9.90 < 9.11\\)。\n\n3. **结论**:\n \\[\n 9.9 < 9.11\n \\]\n\n所以,\\(9.11\\) 比 \\(9.9\\) 大。\n\n\\[\n\\boxed{9.11 \\text{ 更大}}\n\\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":19,"completion_tokens":211,"total_tokens":230},"created":1739865100,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-0eab475c-656c-9627-91a6-b5edd90c1cda"}
正确的二次结果:
{"choices":[{"message":{"content":"**解答:**\n\n比较两个小数 \\(9.9\\) 和 \\(9.11\\) 的大小。\n\n1. **统一小数位数:**\n \\[\n 9.9 = 9.90\n \\]\n \\[\n 9.11 = 9.11\n \\]\n\n2. **逐位比较:**\n - 个位数:\\(9 = 9\\)(相等)\n - 十位小数:\\(9 > 1\\)\n\n由于在十位小数上 \\(9.90\\) 的 \\(9\\) 大于 \\(9.11\\) 的 \\(1\\),因此:\n\\[\n9.90 > 9.11\n\\]\n\n**最终答案:**\n\\[\n\\boxed{9.9 > 9.11}\n\\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":19,"completion_tokens":163,"total_tokens":182},"created":1739865225,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-b5755232-db96-98e0-abb5-1727a1e1cdb5"}
{"choices":[{"message":{"content":"**解答:**\n\n比较两个数 \\(9.9\\) 和 \\(9.11\\) 的大小。\n\n1. **统一小数位数:**\n 为了方便比较,将 \\(9.9\\) 写成 \\(9.90\\)。\n\n2. **逐位比较:**\n - 比较整数部分:\\(9 = 9\\),相等。\n - 比较第一位小数:\\(9 > 1\\)。\n\n3. **结论:**\n 由于第一位小数 \\(9 > 1\\),所以 \\(9.90 > 9.11\\)。\n\n最终答案:\\boxed{9.9\\ \\text{更大}}","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":19,"completion_tokens":132,"total_tokens":151},"created":1739865274,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-b6d313fe-3b5d-948b-8b7a-0c63b9055213"}
发往腾讯云的代码:
curl -X POST https://api.lkeap.cloud.tencent.com/v1/chat/completions \-H "Authorization: Bearer sk-xxxx" \-H "Content-Type: application/json" \-d '{"model": "deepseek-v3","messages": [{"role": "system","content": "You a helpful assister."},{"role": "user", "content": "9.9和9.11谁大?"}]}'
腾讯云每次均正确,三次调用结果如下:
{"id":"0cbeaab6ca3b27bb4f9b40915806912d","object":"chat.completion","created":1739865487,"model":"deepseek-v3","choices":[{"index":0,"message":{"role":"assistant","content":"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n - 将 **9.9** 写成 **9.90**,以便与 **9.11** 进行比较。\n\n2. **逐位比较**:\n - **个位数**:两者都是 **9**,相等。\n - **十分位**:**9.90** 的十分位是 **9**,**9.11** 的十分位是 **1**。由于 **9 \u003e 1**,因此 **9.90 \u003e 9.11**。\n\n或者,可以将两个数都转换为分数形式进行比较:\n\n3. **转换为分数**:\n - **9.9** 可以表示为 \\( 9 \\frac{9}{10} = \\frac{99}{10} \\)。\n - **9.11** 可以表示为 \\( 9 \\frac{11}{100} = \\frac{911}{100} \\)。\n\n4. **比较分数**:\n - 将 \\( \\frac{99}{10} \\) 转换为分母为 **100** 的分数:\\( \\frac{990}{100} \\)。\n - 比较 \\( \\frac{990}{100} \\) 和 \\( \\frac{911}{100} \\),显然 \\( 990 \u003e 911 \\),所以 \\( \\frac{990}{100} \u003e \\frac{911}{100} \\)。\n\n综上所述,**9.9** 大于 **9.11**。\n\n\\[\n\\boxed{9.9 \u003e 9.11}\n\\]"},"finish_reason":"stop"}],"usage":{"prompt_tokens":23,"completion_tokens":341,"total_tokens":364}}
{"choices":[{"message":{"content":"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 将 \\(9.9\\) 写成 \\(9.90\\),以便与 \\(9.11\\) 进行比较。\n\n2. **逐位比较**:\n - **个位数**:两者都是 \\(9\\),相等。\n - **十分位**:\\(9.90\\) 的十分位是 \\(9\\),\\(9.11\\) 的十分位是 \\(1\\)。\n \n 由于 \\(9 > 1\\),所以 \\(9.90 > 9.11\\)。\n\n**最终答案:**\n\\[\n\\boxed{9.9 > 9.11}\n\\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":19,"completion_tokens":158,"total_tokens":177},"created":1739865560,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-aac07423-8ed4-9988-934c-ba3dd78e1cad"}
{"choices":[{"message":{"content":"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n - 将 **9.9** 写成 **9.90**,这样两个数的小数位数相同,便于比较。\n\n2. **逐位比较**:\n - **个位数**:两者都是 **9**,相等。\n - **十分位**:**9.90** 的十分位是 **9**,**9.11** 的十分位是 **1**。\n \n 由于 **9 > 1**,因此 **9.90 > 9.11**。\n\n**结论**:\n\\boxed{9.9 > 9.11}","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":19,"completion_tokens":157,"total_tokens":176},"created":1739865685,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-bcd8c5df-9380-9d1a-933e-b4e7b9e0d794"}
3、设置一无意义的提示词对问题的影响
提示词为you
go代码为:
package mainimport ("context""fmt""github.com/openai/openai-go""github.com/openai/openai-go/option"
)func main() {client := openai.NewClient(option.WithAPIKey("sk-xxxxxxxxxxxxxxxxx"), // defaults to os.LookupEnv("OPENAI_API_KEY")//阿里云调用地址option.WithBaseURL("https://dashscope.aliyuncs.com/compatible-mode/v1/"),//腾讯云地址//option.WithBaseURL("https://api.lkeap.cloud.tencent.com/v1/"),)chatCompletion, err := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{Messages: openai.F([]openai.ChatCompletionMessageParamUnion{openai.SystemMessage("you"), openai.UserMessage("9.9和9.11谁大"),}),Model: openai.F("deepseek-v3"),})if err != nil {panic(err.Error())}println(chatCompletion.Choices[0].Message.Content)
}
阿里云执行的结果不正确为:
9.11比9.9大。在比较小数时,从左到右逐位比较,9.9可以看作9.90,而9.11的第一位小数是1,比9.90的第一位小数9大,因此9.11大于9.9。<|im_end|>
腾讯云执行结果正确:
要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 将 **9.9** 转换为 **9.90**,以便与 **9.11** 进行比较。\n\n2. **逐位比较**:\n - **个位数**:两者都是 **9**,相等。\n - **十分位**:**9.90** 的十分位是 **9**,**9.11** 的十分位是 **1**。\n \n 由于 **9 > 1**,所以 **9.90 > 9.11**。\n\n**最终答案:**\n\\[\n\\boxed{9.9 > 9.11}\n\\]
使用curl的结果分析:
发往阿里云的代码:
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer sk-xxxx" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-v3","messages": [{"role": "system","content": "you"},{"role": "user", "content": "9.9和9.11谁大?"}]
}'
三次执行结果均正确:
{"choices":[{"message":{"content":"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 将 \\(9.9\\) 转换为 \\(9.90\\),便于与 \\(9.11\\) 比较。\n\n2. **逐位比较**:\n - **个位数**:两个数的个位数都是 \\(9\\),相等。\n - **十分位**:\\(9.90\\) 的十分位是 \\(9\\),而 \\(9.11\\) 的十分位是 \\(1\\)。\n \n 由于 \\(9 > 1\\),所以 \\(9.90 > 9.11\\)。\n\n因此,\\(9.9\\) 大于 \\(9.11\\)。\n\n\\[\n\\boxed{9.9\\ >\\ 9.11}\n\\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":14,"completion_tokens":174,"total_tokens":188},"created":1739868276,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-d928cc66-2ff5-950d-aa25-3e63b71c5ea8"}
{"choices":[{"message":{"content":"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n \n 为了便于比较,将 \\(9.9\\) 转换为 \\(9.90\\)。\n\n2. **逐位比较**:\n \n \\[\n \\begin{align*}\n &\\underline{9}.\\underline{9}\\underline{0} \\quad (\\text{即 } 9.90) \\\\\n &\\underline{9}.\\underline{1}\\underline{1} \\quad (\\text{即 } 9.11)\n \\end{align*}\n \\]\n \n - **整数部分**:两数的整数部分都是 \\(9\\),相同。\n - **十分位**:\\(9\\)(来自 \\(9.90\\))大于 \\(1\\)(来自 \\(9.11\\))。\n \n 因此,\\(9.90\\) 大于 \\(9.11\\)。\n\n3. **结论**:\n \n \\[\n \\boxed{9.9 > 9.11}\n \\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":14,"completion_tokens":225,"total_tokens":239},"created":1739868380,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-f9d5f7d3-1886-9b1e-8dc6-cbbe5e999ce9"}
{"choices":[{"message":{"content":"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 将 **9.9** 写成 **9.90**,这样两个数都有两位小数,便于比较。\n\n2. **逐位比较**:\n - **整数部分**:9 和 9 相同。\n - **第一位小数**:9 和 1。因为 9 > 1,所以 **9.90 > 9.11**。\n\n因此,**9.9** 大于 **9.11**。\n\n最终答案:\\boxed{9.9}","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":14,"completion_tokens":138,"total_tokens":152},"created":1739868423,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-90359b2a-ac45-951b-9069-6e57c07edf9a"}
发往腾讯云的代码:
curl -X POST https://api.lkeap.cloud.tencent.com/v1/chat/completions \-H "Authorization: Bearer sk-xxx" \-H "Content-Type: application/json" \-d '{"model": "deepseek-v3","messages": [{"role": "system","content": "you"},{"role": "user", "content": "9.9和9.11谁大?"}]}'
失败一次:
{"id":"13e0702bd97a5c2ae19e0fdbe8d55e8f","object":"chat.completion","created":1739868567,"model":"deepseek-v3","choices":[{"index":0,"message":{"role":"assistant","content":"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n \n 将 **9.9** 写成 **9.90**,这样两个数的小数位数相同,便于比较。\n\n2. **逐位比较**:\n \n - **个位数**:两个数的个位数都是 **9**,相等。\n - **十分位**:两个数的十分位都是 **9**,相等。\n - **百分位**:**9.90** 的百分位是 **0**,而 **9.11** 的百分位是 **1**。\n\n3. **确定大小**:\n \n 由于在百分位上 **1 \u003e 0**,所以 **9.11 \u003e 9.90**。\n\n**最终答案:**\n\n\\[\n\\boxed{9.11 \\text{ 更大}}\n\\]"},"finish_reason":"stop"}],"usage":{"prompt_tokens":23,"completion_tokens":194,"total_tokens":217}}
成功二次:
{"choices":[{"message":{"content":"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 将 \\(9.9\\) 写成 \\(9.90\\),以便与 \\(9.11\\) 进行比较。\n\n2. **逐位比较**:\n - 比较整数部分:两者都是 \\(9\\),相等。\n - 比较第一位小数:\\(9.90\\) 的第一位小数是 \\(9\\),而 \\(9.11\\) 的第一位小数是 \\(1\\)。由于 \\(9 > 1\\),因此 \\(9.90 > 9.11\\)。\n\n3. **得出结论**:\n \\[\n 9.9 > 9.11\n \\]\n\n最终答案是:\n\\[\n\\boxed{9.9}\n\\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":14,"completion_tokens":171,"total_tokens":185},"created":1739868850,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-bc3e2987-6cf7-92ed-ab54-7ce0022a03aa"}
{"choices":[{"message":{"content":"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n - 将 **9.9** 转换为 **9.90**,以便与 **9.11** 进行比较。\n\n2. **逐位比较**:\n - **整数部分**:两者都是 **9**,相等。\n - **第一位小数**:**9.90** 的第一位小数是 **9**,而 **9.11** 的第一位小数是 **1**。\n \n3. **得出结论**:\n - 由于 **9 > 1**,因此 **9.90 > 9.11**。\n\n最终,**9.9** 大于 **9.11**。\n\n\\[\n\\boxed{9.9 > 9.11}\n\\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":14,"completion_tokens":179,"total_tokens":193},"created":1739871179,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-7facfd28-9db2-9274-af43-fdbef215eaee"}
4 设置带有思考逻辑提示词
提示词:识别用户的问题类型,回答问题的类型,并作为该类型问题专家,思考用户并回答用户提出的问题
相关代码同第第3节
go代码阿里云回答的结果,全部错误:
这是一个数学比较问题。作为数学专家,我来回答这个问题。\n\n9.11 比 9.9 大。因为在小数比较中,我们先比较整数部分,两者都是9,然后比较小数部分,0.11大于0.9。所以9.11大于9.9。
这是一个数学比较问题。作为数学专家,我来回答这个问题。\n\n9.11 比 9.9 大。因为在小数点后第一位,1 比 9 小,所以 9.11 大于 9.9。
用户的问题是关于数值比较的问题。作为数值比较问题的专家,我将帮助用户比较这两个数值的大小。\n\n要比较9.9和9.11的大小,我们可以将它们转换为相同的小数位数以便更清楚地比较:\n\n- 9.9 可以写成 9.90\n- 9.11 保持不变\n\n现在,我们比较这两个数值:\n\n9.90 < 9.11\n\n因此,9.11 大于 9.9。\n\n答案:9.11 大于 9.9。<|im_end|>
go代码腾讯云的回答结果二次错误,一次正确:
错误的结果:
"9.11比9.9大。在比较小数时,我们首先比较整数部分,如果整数部分相同,再比较小数部分。在这个例子中,两个数的整数部分都是9,但9.11的小数部分(0.11)大于9.9的小数部分(0.9),因此9.11更大。"
"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 为了方便比较,将 **9.9** 写成 **9.90**。\n\n2. **逐位比较**:\n - **个位数**:两数的个位数都是 **9**,相等。\n - **十分位**:两数的十分位都是 **9**,相等。\n - **百分位**:**9.90** 的百分位是 **0**,而 **9.11** 的百分位是 **1**。\n\n3. **得出结论**:\n 由于在百分位上 **1 > 0**,所以 **9.11 > 9.90**。\n\n**最终答案:**\n\\[\n\\boxed{9.11 \\text{ 大于 } 9.9}\n\\]"
正确的结果:
"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 为了方便比较,将 **9.9** 写成 **9.90**。\n\n2. **逐位比较**:\n - **个位数**:两者都是 **9**,相等。\n - **十分位**:**9.90** 的十分位是 **9**,**9.11** 的十分位是 **1**。\n \n 由于 **9 > 1**,所以 **9.90 > 9.11**。\n\n**最终答案:**\n\\[\n\\boxed{9.9 > 9.11}\n\\]"
curl命令的执行结果:
发往阿里云的三次执行结果全部正确:
{"choices":[{"message":{"content":"在比较9.9和9.11时,我们可以通过将它们转换为相同的小数位数来简化比较:\n\n- 9.9可以写作9.90\n- 9.11保持不变\n\n现在比较9.90和9.11,显然9.90大于9.11。因此,9.9大于9.11。","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":36,"completion_tokens":70,"total_tokens":106},"created":1739874057,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-fd5adad0-625e-9d69-bbf0-6d65684454dc"}
{"choices":[{"message":{"content":"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,我们可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 为了方便比较,将两数的小数位数统一。将 \\(9.9\\) 写成 \\(9.90\\)。\n\n2. **逐位比较**:\n - 比较个位数:两个数的个位数都是 \\(9\\),相等。\n - 比较十分位:\\(9.90\\) 的十分位是 \\(9\\),而 \\(9.11\\) 的十分位是 \\(1\\)。由于 \\(9 > 1\\),因此 \\(9.90 > 9.11\\)。\n\n3. **结论**:\n 通过以上比较,可以得出 \\(9.9\\) 大于 \\(9.11\\)。\n\n\\[\n\\boxed{9.9 > 9.11}\n\\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":36,"completion_tokens":182,"total_tokens":218},"created":1739874266,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-d4f846cd-20b8-91c2-aa98-3730fb88cd37"}
{"choices":[{"message":{"content":"要比较 \\(9.9\\) 和 \\(9.11\\) 的大小,我们可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 为了方便比较,我们将两个数都保留两位小数:\n \\[\n 9.9 = 9.90\n \\]\n \\[\n 9.11 = 9.11\n \\]\n\n2. **逐位比较**:\n - 比较整数部分:两者的整数部分都是 \\(9\\),相等。\n - 比较第一位小数:\\(9.90\\) 的第一位小数是 \\(9\\),而 \\(9.11\\) 的第一位小数是 \\(1\\)。\n - 因为 \\(9 > 1\\),所以 \\(9.90 > 9.11\\)。\n\n3. **结论**:\n \\[\n 9.9 > 9.11\n \\]\n\n因此,\\(9.9\\) 比 \\(9.11\\) 大。\n\n\\[\n\\boxed{9.9 \\text{ 大于 } 9.11}\n\\]","reasoning_content":"","role":"assistant"},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt_tokens":36,"completion_tokens":220,"total_tokens":256},"created":1739874530,"system_fingerprint":null,"model":"deepseek-v3","id":"chatcmpl-e30fad3c-dbbb-9739-b557-df1fdc02431a"}
发往腾讯云的三次执行结果全部正确:
错误
{"id":"67946867247717b454fee86f05d5e84b","object":"chat.completion","created":1739874853,"model":"deepseek-v3","choices":[{"index":0,"message":{"role":"assistant","content":"9.11 比 9.9 大。\n\n解释:\n- 9.9 可以理解为 9 又 9/10,即 9.90。\n- 9.11 可以理解为 9 又 11/100,即 9.11。\n\n比较小数点后的部分,0.11 大于 0.90,因此 9.11 大于 9.9。"},"finish_reason":"stop"}],"usage":{"prompt_tokens":39,"completion_tokens":88,"total_tokens":127}}
正确:
{"id":"3d4f5e01cb183c6e6069ed19cc9103aa","object":"chat.completion","created":1739876125,"model":"deepseek-v3","choices":[{"index":0,"message":{"role":"assistant","content":"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n - 将 **9.9** 写成 **9.90**,以便与 **9.11** 进行比较。\n\n2. **逐位比较**:\n - **整数部分**:两者都是 **9**,相等。\n - **十分位**:**9.90** 的十分位是 **9**,**9.11** 的十分位是 **1**。由于 **9 \u003e 1**,因此 **9.90 \u003e 9.11**。\n\n**结论**:\n\\[\n\\boxed{9.9 \\text{ 大于 } 9.11}\n\\]"},"finish_reason":"stop"}],"usage":{"prompt_tokens":39,"completion_tokens":163,"total_tokens":202}}
{"id":"1b9728633fead52bbbc2e835692b02e9","object":"chat.completion","created":1739876187,"model":"deepseek-v3","choices":[{"index":0,"message":{"role":"assistant","content":"要比较 **9.9** 和 **9.11** 的大小,可以按照以下步骤进行:\n\n1. **统一小数位数**:\n 为了方便比较,将 **9.9** 写成 **9.90**。\n\n2. **逐位比较**:\n - **个位数**:两者都是 **9**,相等。\n - **十分位**:**9.90** 的十分位是 **9**,**9.11** 的十分位是 **1**。\n \n 由于 **9 \u003e 1**,因此 **9.90 \u003e 9.11**。\n\n**最终答案:**\n\\[\n\\boxed{9.9 \u003e 9.11}\n\\]"},"finish_reason":"stop"}],"usage":{"prompt_tokens":39,"completion_tokens":152,"total_tokens":191}}
5 接口分析
由1~4节执行的结果看,在相同的提示词情况下,通过go实现的接口得到的结果和通过curl获得的内容差异较大,尤其是在阿里云平台上表现更是如此。通过代码调试后,将报文内容序列后,得到message格式为:
"messages": [{"content": [{"text": "you","type": "text"}],"role": "system"},{"content": [{"text": "9.9和9.11谁大","type": "text"}],"role": "user"}]
参考文章OpenAI API格式详解-Chat Completions
一个完整的User message是一个json对象,包含以下字段:
- content:必须提供的string或array类型,二选一,表示user的消息内容
- 为string类型时,表示消息的文本内容
- 为array类型时,一般用于调用多模态模型,用来包含多个内容部分的数组,一般是一个文本内容的json对象和一个或多个图片内容的json对象。仅当使用 gpt-4-visual-preview 这样的多模态模型时才支持图像输入。具体字段如下:
- 文本内容部分,是一个json对象:
- type:必须提供的string类型,表示内容部分的类型,一般是“text”
- text:必须提供的string类型,文字内容
- 图片内容部分,是一个json对象:
- type:必须提供的string类型,表示内容部分的类型,一般是"image_url"
- image_url:必须提供的json对象类型,字段有:
- url:必须提供的string类型,图像的 URL 或 Base64 编码的图像数据
- detail:可选的string类型,一般默认是“auto”
- 文本内容部分,是一个json对象:
- role:必须提供的string类型,表示消息作者的角色,对于user message应该是"user"
- name:可选的string类型,表示对话参与者的名称
因此根据openai sdk官网实现的内容,实际上对应于多模态的实现部分。
通过curl执行以下代码,可以得到上述go代码类似的效果
curl -X POST https://api.lkeap.cloud.tencent.com/v1/chat/completions \
-H "Authorization: Bearer sk-xxxx" \
-H "Content-Type: application/json" \
-d '{"messages": [{"content": [{"text": "识别用户的问题类型,回答问题的类型,并作为该类型问题专家,思考并回答用户提出的问题","type": "text"}],"role": "system"},{"content": [{"text": "9.9和9.11谁大","type": "text"}],"role": "user"}],"model": "deepseek-v3"}'
而go代码若是需要得到类似于1~3的curl结果的实现,需要进行以下的实现:
package mainimport ("context""fmt""github.com/openai/openai-go""github.com/openai/openai-go/option"
)func main() {client := openai.NewClient(option.WithAPIKey("sk-xxxxxxxxxxxxxxxxx"), // defaults to os.LookupEnv("OPENAI_API_KEY")option.WithBaseURL("https://dashscope.aliyuncs.com/compatible-mode/v1/"),)chatCompletion, err := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{Messages: openai.F([]openai.ChatCompletionMessageParamUnion{openai.ChatCompletionMessage{Role: oai.ChatCompletionMessageRole(oai.ChatCompletionUserMessageParamRoleUser), Content: "识别用户的问题类型,回答问题的类型,并作为该类型问题专家,思考并回答用户提出的问题"},openai.ChatCompletionMessage{Role: oai.ChatCompletionMessageRole(oai.ChatCompletionSystemMessageParamRoleSystem), Content: "9.9和9.11谁大"}}),Model: openai.F("deepseek-v3"),})if err != nil {panic(err.Error())}println(chatCompletion.Choices[0].Message.Content)
}
6 结论
同样的deepseek-v3的模型,同样的提示词,不同的云平台的部署和实现存在差异,不可等同视之。
相关文章:

deepseek-v3在阿里云和腾讯云的使用中的差异
随着deepseek在各大云商上线,试用了下阿里云和腾讯云的deepseek服务,在回答经典数学问题9.9和9.11谁大时,发现还是有差异的。将相关的问题记录如下。 1、问题表现 笔者使用的openai的官方sdk go-openai。 因本文中测验主要使用阿里云和腾讯…...

Mathtype安装入门指南
Mathtype安装入门指南 1 mathtype安装及补丁2 mathtype在word中加载3 常见的mathtype快捷命令4 实列测试 1 mathtype安装及补丁 下载相应的Mathtype7.4软件安装包,百度网盘链接为: 百度网盘链接下载完成后,有三个软件,如下图所示…...
使用 Apache PDFBox 提取 PDF 中的文本和图像
在许多应用中,我们需要从 PDF 文件中提取文本内容和嵌入的图像。为了实现这一目标,Apache PDFBox 是一个非常实用的开源工具库。它提供了丰富的 API,可以帮助我们轻松地读取 PDF 文件、提取其中的文本、图像以及其他资源。 本文将介绍如何使…...

【js逆向_入门】图灵爬虫练习平台 第四题
(base64解码)地址:aHR0cHM6Ly9zdHUudHVsaW5ncHl0b24uY24vcHJvYmxlbS1kZXRhaWwvNC8 请求接口带有加密参数: 全局搜索Sign,找到参数生成位置 一目了然,知道参数是怎么构造生成的 调试代码 测试验证思路是否正确 时间: …...

Redis7——基础篇(三)
前言:此篇文章系本人学习过程中记录下来的笔记,里面难免会有不少欠缺的地方,诚心期待大家多多给予指教。 基础篇: Redis(一)Redis(二) 接上期内容:上期完成了Redis的基本…...

深度学习中的知识蒸馏
大家好,我是小青 今天给大家分享神经网络中的一个关键概念,知识蒸馏 知识蒸馏(Knowledge Distillation)是一种模型压缩技术,旨在将大型、复杂的模型(通常称为教师模型)的知识迁移到小型、简单…...

【Windows软件 - HeidiSQL】导出数据库
HeidSQL导出数据库 软件信息 具体操作 示例文件 选项分析 选项(1) 结果(1) -- -------------------------------------------------------- -- 主机: 127.0.0.1 -- 服务器版本: …...

苏剑林“闭门造车”之多模态思路浅谈思考
原文来自科学空间苏剑林 “闭门造车”之多模态思路浅谈(一):无损输入和“闭门造车”之多模态思路浅谈(二):自回归,学习后总结。 文章目录 “闭门造车”之多模态思路浅谈(一ÿ…...

绿联nas docker 安装 rocketmq 队列。亲测可用
首先拉取docker 镜像,所需镜像如下: 安装 nameserver docker run -d -p 9876:9876 \ -v ${HOME}/docker/software/rocketmq/data/namesrv/logs:/opt/logs \ -v ${HOME}/docker/software/rocketmq/data/namesrv/store:/opt/store \ --name rmqnamesrv \ …...
C++(23):unreachable
C++23在头文件 "><utility>定义了std::unreachable(),用于指示编译器,该段代码不应该被允许,因此编译器可以对该位置进行优化,如果一旦允许了该位置的代码,行为未定义: #include <utility> #include <iostream>using namespace std;int func(…...
初等数论--欧几里得算法
1. 定义 u 0 u 1 ∈ Z , u 1 ≠ 0 , u 1 ∤ u 0 u_0\ u_1\in Z,u_1 \ne0,u_1 \nmid u_0 u0 u1∈Z,u10,u1∤u0 根据带余除法可得下面一系列等式 u 0 q 0 u 1 u 2 0 < u 2 < ∣ u 1 ∣ u 1 q 0 u 2 u 3 0 < u 3 < u 2 ⋯ u k − 1 q k − 1 u k …...
阿里云前端自动化部署流程指南
本文详细介绍从前端代码开发到阿里云 OSS/CDN 自动化部署的完整流程。 一、流程概览 © ivwdcwso (ID: u012172506) 1.1 部署流程图 #mermaid-svg-H1LBBmwTHAAF3QTL {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermai…...

EXCEL解决IF函数“您已为此函数输入太多个参数”的报错
IF函数的基本结构是IF(条件, 值为真时的结果, 值为假时的结果),所以标准的IF函数最多只能有三个参数。当用户输入的参数超过三个时,Excel就会报这个错误。比如多个IF语句叠加,但可能在嵌套的过程中没有正确关闭每个IF函数的括号,导…...

CAS单点登录(第7版)18.日志和审计
如有疑问,请看视频:CAS单点登录(第7版) 日志和审计 Logging 概述 Logging CAS 提供了一个日志记录工具,用于记录重要信息事件,如身份验证成功和失败;可以对其进行自定义以生成用于故障排除的其他信息。…...

2025年软件测试面试题大全(附答案+文档)
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、测试基础 1、测试策略或测试包括哪些,测试要覆盖哪些方面 UI、功能、性能、可靠性、易用性、兼容性、安全性、安装卸载 2、设计测试用例的办法 …...

太空飞船任务,生成一个地球发射、火星着陆以及下一次发射窗口返回地球的动画3D代码
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation from mpl_toolkits.mplot3d import Axes3D# 天体参数设置(简化模型) AU 1.5e8 # 天文单位(公里) earth_orbital_radius …...
IDEA——Mac版快捷键
目录 按键含义常用组合代码生成快捷键:代码追踪快捷键:高效编辑快捷键:代码重构快捷键:工具类快捷键:常规文件操作快捷键: 按键含义 ⌘ command Command键(⌘)相当于Windows中的Con…...

智能体系统(AI Agent System)是什么?——从概念解析到企业数字化转型的全景落地及投资视角
文章目录 一、 前言1.1 背景介绍1.2 写作目的 二、 智能体系统及相关概念解析2.1 智能体系统定义2.2 关键概念区分2.2.1 自主代理(Autonomous Agent)2.2.2 多智能体系统(MAS)2.2.3 人工智能/机器学习(AI/ML)…...
Vue 前端开发中的路由知识:从入门到精通
文章目录 引言1. Vue Router 简介1.1 安装 Vue Router1.2 配置 Vue Router1.3 在 Vue 实例中使用 Vue Router 2. 路由的基本用法2.1 路由映射2.2 路由视图2.3 路由链接 3. 动态路由3.1 动态路径参数3.2 访问动态参数3.3 响应路由参数的变化 4. 嵌套路由4.1 定义嵌套路由4.2 渲染…...

前端VUE+后端uwsgi 环境搭建
1整体架构 请求流程the web clinet--the web server->the socket->uwsgi--django 第一级的nginx并不是必须的,uwsgi完全可以完成整个的和浏览器交互的流程;在nginx上加上安全性或其他的限制,可以达到保护程序的作用;uWSGI本…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...

Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
Docker环境下安装 Elasticsearch + IK 分词器 + Pinyin插件 + Kibana(适配7.10.1)
做RAG自己打算使用esmilvus自己开发一个,安装时好像网上没有比较新的安装方法,然后找了个旧的方法对应试试: 🚀 本文将手把手教你在 Docker 环境中部署 Elasticsearch 7.10.1 IK分词器 拼音插件 Kibana,适配中文搜索…...
视觉slam--框架
视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图? 建图并没有一个固定的形式和算法…...
【学习记录】使用 Kali Linux 与 Hashcat 进行 WiFi 安全分析:合法的安全测试指南
文章目录 📌 前言🧰 一、前期准备✅ 安装 Kali Linux✅ 获取支持监听模式的无线网卡 🛠 二、使用 Kali Linux 进行 WiFi 安全测试步骤 1:插入无线网卡并确认识别步骤 2:开启监听模式步骤 3:扫描附近的 WiFi…...