chatgpt-wechat icon indicating copy to clipboard operation
chatgpt-wechat copied to clipboard

Deepseek模型不能正常收到user prompt

Open KarlFreddie opened this issue 7 months ago • 6 comments

作者你好,我使用企业微信客服,并且尝试接入火山方舟的deepseek-v3模型。但得到的回复总是雷同如下:

Image Image

回复的内容只与system prompt有关,无论之后的user prompt如何变化,都只能得到类似的回复。

也尝试过clear,但是没有作用。 模型的API是正常的,同一时间用AnythingLLM调用相同的API工作正常。

附上控制台内容:

2025/04/07 17:22:14 /build/service/chat/api/internal/logic/customerchatlogic.go:57 record not found
[1.138ms] [rows:0] SELECT * FROM "chat" WHERE "chat"."message_id" = 'BHuSzjQuT4Gm1bj9eoAkdiL2yQ' AND "chat"."user" = 'wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ' ORDER BY "chat"."id" LIMIT 1
{"@timestamp":"2025-04-07T17:22:14.483+08:00","caller":"response/response.go:63","content":"","level":"info","response":{"code":200,"msg":"成功","data":{"message":"ok"}},"span":"18e6d7d138c0e712","trace":"e007e4367266cb50e9a3c2607567c46e"}
{"@timestamp":"2025-04-07T17:22:14.483+08:00","caller":"accesslog/accesslog.go:29","content":"","level":"info","request":{"url":"/api/msg/customer/push","method":"POST","query":"","body":"{\"msg_id\":\"BHuSzjQuT4Gm1bj9eoAkdiL2yQ\",\"msg\":\"#clear\",\"customer_id\":\"wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ\",\"open_kf_id\":\"wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q\"}","header":{"Accept-Encoding":["gzip"],"Authorization":["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3Njk5Mzc3MjgsImlhdCI6MTc0NDAxNzcyOCwidXNlcklkIjoxfQ.SgXDag1EA6EXxj2yiLq6qR_x3_uccBqFwBuz3gFTLU8"],"Content-Length":["151"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]},"const":2},"span":"18e6d7d138c0e712","trace":"e007e4367266cb50e9a3c2607567c46e"}
{"@timestamp":"2025-04-07T17:22:14.483+08:00","caller":"handler/loghandler.go:147","content":"[HTTP] 200 - POST /api/msg/customer/push - [::1]:46670 - Go-http-client/1.1","duration":"2.4ms","level":"info","span":"18e6d7d138c0e712","trace":"e007e4367266cb50e9a3c2607567c46e"}
incoming message: RxMessage { FromUserID: "", SendTime: 1744017745000000000, MsgType: "event", MsgID: 0, AgentID: 0, Event: "kf_msg_or_event", ChangeType: "", EventKey: "ENC5EUjykq1iNmePmWNqJStGeZEFXoGaLn41WkozaKb7hyh" }
客服消息 -------------------------------------
客服消息 Token: ENC5EUjykq1iNmePmWNqJStGeZEFXoGaLn41WkozaKb7hyh OpenKfID: wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q
客服消息 获取 message success. NextCursor: HHFq49uYHoiCuZRv9QAk

2025/04/07 17:22:25 /build/service/chat/api/internal/logic/customerchatlogic.go:57 record not found
[0.398ms] [rows:0] SELECT * FROM "chat" WHERE "chat"."message_id" = 'B77wuCmJgc8zsgfwDVFCVWAu2w' AND "chat"."user" = 'wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ' ORDER BY "chat"."id" LIMIT 1
上下文请求信息: collection.Prompt你是一个客户服务AI,你会回答我的问题。
[{ system {text/plain 你是一个客户服务AI,你会回答我的问题。}} {d1b1162b-1391-11f0-87e7-b69b86c3e532 user {text/plain 请问最小的自然数是几?}}]
{"@timestamp":"2025-04-07T17:22:25.771+08:00","caller":"response/response.go:63","content":"","level":"info","response":{"code":200,"msg":"成功","data":{"message":"ok"}},"span":"d4d9639a2df666a0","trace":"fc7bce851ab08c42219ad4af552e32b6"}
{"@timestamp":"2025-04-07T17:22:25.771+08:00","caller":"accesslog/accesslog.go:29","content":"","level":"info","request":{"url":"/api/msg/customer/push","method":"POST","query":"","body":"{\"msg_id\":\"B77wuCmJgc8zsgfwDVFCVWAu2w\",\"msg\":\"请问最小的自然数是几?\",\"customer_id\":\"wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ\",\"open_kf_id\":\"wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q\"}","header":{"Accept-Encoding":["gzip"],"Authorization":["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3Njk5Mzc3MjgsImlhdCI6MTc0NDAxNzcyOCwidXNlcklkIjoxfQ.SgXDag1EA6EXxj2yiLq6qR_x3_uccBqFwBuz3gFTLU8"],"Content-Length":["178"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]},"const":0},"span":"d4d9639a2df666a0","trace":"fc7bce851ab08c42219ad4af552e32b6"}
EncodingForModel: no encoding for model ep-20250219143041-6n4ql
EncodingForModel: no encoding for model ep-20250219143041-6n4ql
{"@timestamp":"2025-04-07T17:22:25.771+08:00","caller":"handler/loghandler.go:147","content":"[HTTP] 200 - POST /api/msg/customer/push - [::1]:40454 - Go-http-client/1.1","duration":"1.0ms","level":"info","span":"d4d9639a2df666a0","trace":"fc7bce851ab08c42219ad4af552e32b6"}

2025/04/07 17:22:25 /build/service/chat/api/internal/logic/customerchatlogic.go:324
[27.763ms] [rows:1] INSERT INTO "chat" ("user","message_id","open_kf_id","agent_id","req_content","res_content") VALUES ('wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ','B77wuCmJgc8zsgfwDVFCVWAu2w','wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q',0,'请问最小的自然数是几?','') RETURNING "id","created_at","updated_at"
{"@timestamp":"2025-04-07T17:23:04.748+08:00","caller":"proc/shutdown.go:84","content":"Got signal 15, shutting down...","level":"info"}

可以看到user prompt至少是正常传递到了容器这一级的。

我注意到有两处不寻常,请问是否和这个也有关呢? EncodingForModel: no encoding for model ep-20250219143041-6n4ql EncodingForModel: no encoding for model ep-20250219143041-6n4ql

非常感谢您!

KarlFreddie avatar Apr 07 '25 09:04 KarlFreddie

和这个没有关系,我改了一下

新加入了 debug 参数,你开启之后,再看看呢?

whyiyhw avatar Apr 07 '25 14:04 whyiyhw

我clone了您更新的这一版并且打开了debug重新试了一下。反应基本一样。

Image

incoming message: RxMessage { FromUserID: "", SendTime: 1744079795000000000, MsgType: "event", MsgID: 0, AgentID: 0, Event: "kf_msg_or_event", ChangeType: "", EventKey: "ENC6fjqHRN5mn3ykNKvgUygv8oYFVycQAApUQ4BshDUt1ip" }
客服消息 -------------------------------------
客服消息 Token: ENC6fjqHRN5mn3ykNKvgUygv8oYFVycQAApUQ4BshDUt1ip OpenKfID: wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q
客服消息 获取 message success. NextCursor: HHFq49uYHoiCuZRv9SqE

2025/04/08 10:36:36 /build/service/chat/api/internal/logic/customerchatlogic.go:57 record not found
[0.302ms] [rows:0] SELECT * FROM "chat" WHERE "chat"."message_id" = 'AvdLmss3FcYm57u7Xsuy7RRPmb' AND "chat"."user" = 'wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ' ORDER BY "chat"."id" LIMIT 1
上下文请求信息: collection.Prompt 你是 DeepSeek, 一个由深度求索公司(DeepSeek)创造的智能AI助手!, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。
[{ system {text/plain 你是 DeepSeek, 一个由深度求索公司(DeepSeek)创造的智能AI助手!, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。}} {4a8d738f-1422-11f0-861b-aeca9152fb43 user {text/plain 最小的自然数是几?}}]
{"@timestamp":"2025-04-08T10:36:36.071+08:00","caller":"response/response.go:63","content":"","level":"info","response":{"code":200,"msg":"成功","data":{"message":"ok"}},"span":"7ab9228363c6310c","trace":"a006a2444f95925af2d2641930808735"}
{"@timestamp":"2025-04-08T10:36:36.071+08:00","caller":"accesslog/accesslog.go:29","content":"","level":"info","request":{"url":"/api/msg/customer/push","method":"POST","query":"","body":"{\"msg_id\":\"AvdLmss3FcYm57u7Xsuy7RRPmb\",\"msg\":\"最小的自然数是几?\",\"customer_id\":\"wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ\",\"open_kf_id\":\"wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q\"}","header":{"Accept-Encoding":["gzip"],"Authorization":["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3Njk5OTk1MTMsImlhdCI6MTc0NDA3OTUxMywidXNlcklkIjoxfQ.sHMQYL6WSweftZHZvBMBdoO0S81UbHKYY1GhPqtB1Vw"],"Content-Length":["172"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]},"const":0},"span":"7ab9228363c6310c","trace":"a006a2444f95925af2d2641930808735"}
{"@timestamp":"2025-04-08T10:36:36.071+08:00","caller":"handler/loghandler.go:147","content":"[HTTP] 200 - POST /api/msg/customer/push - [::1]:47962 - Go-http-client/1.1","duration":"0.8ms","level":"info","span":"7ab9228363c6310c","trace":"a006a2444f95925af2d2641930808735"}
request body: {"messages":[{"content":"你是 DeepSeek, 一个由深度求索公司(DeepSeek)创造的智能AI助手!, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。","role":"system"}],"model":"ep-20250219143041-6n4ql","stream":true,"temperature":1}
Full response: 你好!我是DeepSeek,由深度求索公司创造的AI助手。我可以帮助你解答各种问题,无论是学习、工作还是日常生活中的疑问,我都会尽力提供准确、有用的信息。如果你有任何需要,随时告诉我!😊

你今天想了解些什么呢?

2025/04/08 10:36:39 /build/service/chat/api/internal/logic/customerchatlogic.go:325
[32.841ms] [rows:1] INSERT INTO "chat" ("user","message_id","open_kf_id","agent_id","req_content","res_content") VALUES ('wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ','AvdLmss3FcYm57u7Xsuy7RRPmb','wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q',0,'最小的自然数是几?','你好!我是DeepSeek,由深度求索公司创造的AI助手。我可以帮助你解答各种问题,无论是学习、工作还是日常生活中的疑问,我都会尽力提供准确、有用的信息。如果你有任何需要,随时告诉我!😊

你今天想了解些什么呢?') RETURNING "id","created_at","updated_at"
incoming message: RxMessage { FromUserID: "", SendTime: 1744079804000000000, MsgType: "event", MsgID: 0, AgentID: 0, Event: "kf_msg_or_event", ChangeType: "", EventKey: "ENC8ySf97vazwenCvPAJymtMct3y9RqH2pxnpJYNrQUXaYs" }
客服消息 -------------------------------------
客服消息 Token: ENC8ySf97vazwenCvPAJymtMct3y9RqH2pxnpJYNrQUXaYs OpenKfID: wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q
客服消息 获取 message success. NextCursor: HHFq49uYHoiCuZRv9T4U

2025/04/08 10:36:45 /build/service/chat/api/internal/logic/customerchatlogic.go:57 record not found
[0.407ms] [rows:0] SELECT * FROM "chat" WHERE "chat"."message_id" = 'ANu2wVkDF5cNTTTeEBSKtd94Bd' AND "chat"."user" = 'wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ' ORDER BY "chat"."id" LIMIT 1
上下文请求信息: collection.Prompt 你是 DeepSeek, 一个由深度求索公司(DeepSeek)创造的智能AI助手!, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。
[{ system {text/plain 你是 DeepSeek, 一个由深度求索公司(DeepSeek)创造的智能AI助手!, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。}} {4a8d738f-1422-11f0-861b-aeca9152fb43 user {text/plain 最小的自然数是几?}} {4a8d738f-1422-11f0-861b-aeca9152fb43 assistant {text/plain 你好!我是DeepSeek,由深度求索公司创造的AI助手。我可以帮助你解答各种问题,无论是学习、工作还是日常生活中的疑问,我都会尽力提供准确、有用的信息。如果你有任何需要,随时告诉我!😊

你今天想了解些什么呢?}} {500377b7-1422-11f0-861b-aeca9152fb43 user {text/plain 一个周有几天?}}]
{"@timestamp":"2025-04-08T10:36:45.233+08:00","caller":"response/response.go:63","content":"","level":"info","response":{"code":200,"msg":"成功","data":{"message":"ok"}},"span":"9d1f055821e1aa4d","trace":"3b28d740664b4d9083b6eaad0dd9e1c5"}
{"@timestamp":"2025-04-08T10:36:45.233+08:00","caller":"accesslog/accesslog.go:29","content":"","level":"info","request":{"url":"/api/msg/customer/push","method":"POST","query":"","body":"{\"msg_id\":\"ANu2wVkDF5cNTTTeEBSKtd94Bd\",\"msg\":\"一个周有几天?\",\"customer_id\":\"wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ\",\"open_kf_id\":\"wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q\"}","header":{"Accept-Encoding":["gzip"],"Authorization":["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3Njk5OTk1MTMsImlhdCI6MTc0NDA3OTUxMywidXNlcklkIjoxfQ.sHMQYL6WSweftZHZvBMBdoO0S81UbHKYY1GhPqtB1Vw"],"Content-Length":["166"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]},"const":0},"span":"9d1f055821e1aa4d","trace":"3b28d740664b4d9083b6eaad0dd9e1c5"}
{"@timestamp":"2025-04-08T10:36:45.233+08:00","caller":"handler/loghandler.go:147","content":"[HTTP] 200 - POST /api/msg/customer/push - [::1]:34202 - Go-http-client/1.1","duration":"0.9ms","level":"info","span":"9d1f055821e1aa4d","trace":"3b28d740664b4d9083b6eaad0dd9e1c5"}
request body: {"messages":[{"content":"你是 DeepSeek, 一个由深度求索公司(DeepSeek)创造的智能AI助手!, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。","role":"system"}],"model":"ep-20250219143041-6n4ql","stream":true,"temperature":1}
Full response: 你好!我是DeepSeek,很高兴见到你!😊 我可以帮助你解答各种问题,无论是学习、工作,还是日常生活中的疑问,都可以随时向我提问。有什么我可以帮你的吗?

2025/04/08 10:36:47 /build/service/chat/api/internal/logic/customerchatlogic.go:325
[34.380ms] [rows:1] INSERT INTO "chat" ("user","message_id","open_kf_id","agent_id","req_content","res_content") VALUES ('wmMwALCgAAHjbgafui7I7yDwXvhfIjdQ','ANu2wVkDF5cNTTTeEBSKtd94Bd','wkMwALCgAAAjSLL-4SV_o0GThxd52c_Q',0,'一个周有几天?','你好!我是DeepSeek,很高兴见到你!😊 我可以帮助你解答各种问题,无论是学习、工作,还是日常生活中的疑问,都可以随时向我提问。有什么我可以帮你的吗?') RETURNING "id","created_at","updated_at"

此外,还发现有一些指令也会被识别成prompt。

Image

KarlFreddie avatar Apr 08 '25 03:04 KarlFreddie

request body: {"messages":[{"content":"你是 DeepSeek, 一个由深度求索公司(DeepSeek)创造的智能AI助手!, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。","role":"system"}],"model":"ep-20250219143041-6n4ql","stream":true,"temperature":1}

我看到了这个信息,感觉 是上下文没有被正确的加载进去,另外我有一点好奇

Image

理论上我目前的 host 是不支持 火山引擎的路由的,因为默认是 v1 版本 ,你能给我看下你的配置吗?注意打码

指令这一块, 在客服这边是用处不大的,好多我没加入进来

whyiyhw avatar Apr 08 '25 09:04 whyiyhw

应该不是通过您找到的这个api接入的。而是通过与OpenAI兼容的方式接入的,这是火山引擎给出的调用示例。

https://www.volcengine.com/docs/82379/1399008

import os
from openai import OpenAI

# 请确保您已将 API Key 存储在环境变量 ARK_API_KEY 中
# 初始化Openai客户端,从环境变量中读取您的API Key
client = OpenAI(
    # 此为默认路径,您可根据业务所在地域进行配置
    base_url="https://ark.cn-beijing.volces.com/api/v3",
    # 从环境变量中获取您的 API Key
    api_key=os.environ.get("ARK_API_KEY"),
)

# Non-streaming:
print("----- standard request -----")
completion = client.chat.completions.create(
    # 指定您创建的方舟推理接入点 ID,此处已帮您修改为您的推理接入点 ID
    model="ep-20250219143041-6n4ql",
    messages=[
        {"role": "system", "content": "你是人工智能助手"},
        {"role": "user", "content": "常见的十字花科植物有哪些?"},
    ],
)
print(completion.choices[0].message.content)

# Streaming:
print("----- streaming request -----")
stream = client.chat.completions.create(
    # 指定您创建的方舟推理接入点 ID,此处已帮您修改为您的推理接入点 ID
    model="ep-20250219143041-6n4ql",
    messages=[
        {"role": "system", "content": "你是人工智能助手"},
        {"role": "user", "content": "常见的十字花科植物有哪些?"},
    ],
    # 响应内容是否流式返回
    stream=True,
)
for chunk in stream:
    if not chunk.choices:
        continue
    print(chunk.choices[0].delta.content, end="")
print()

但您截图给出的API我也有尝试过,直接无法连接到模型。现在这个至少还可以连接到模型。

配置文件:

Name: chat-api                                      # 项目名称
Host: 0.0.0.0                                       # 项目监听地址
Port: 8888                                          # 项目监听端口

#Mysql:
#    DataSource: chat:Chat-gpt~wechat@tcp(mysql81:3306)/chat?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai # 数据库连接地址

PGSql:
  DataSource: "host=pgvector user=chat password=Chat-gpt~wechat dbname=chat port=5432 sslmode=disable TimeZone=Asia/Shanghai"

RedisCache:
  - Host: [***]                               # redis缓存地址
    Pass: "[***]"                         # redis缓存密码

WeCom:                                              # 企业微信配置
  Port: 8887                                        # 企业微信回调监听端口(可选)默认为8887
  CorpID: "[***]"                  # 企业微信 CorpID
  Token: "[***]"                               # 企业微信应用/客服消息 Token
  EncodingAESKey: "[***]"                # 企业微信应用/客服消息 EncodingAESKey
  MultipleApplication:                              # 多应用配置
  - AgentID: [***]                                # 企业微信应用ID
    AgentSecret: "[***]"     # 企业微信应用 Secret
    ManageAllKFSession: true                        # manage_all_kf_session 为 true 时,管理所有客服会话
    Model: "ep-20250219143041-6n4ql"                          # openai 模型(可选)默认为 gpt-3.5-turbo 可选[gpt-3.5-turbo-16k, gpt-4,gpt-4-32k]
    BasePrompt: "你是 ChatGPT, 一个由 OpenAI 训练的大型语言模型,你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。" # openai 基础设定(可选)
    Welcome: "您好!我是 ChatGPT,一个由 OpenAI 训练的大型语言模型,我可以回答您的问题和进行交流。请告诉我您需要了解些什么,我会尽力为您提供答案。发送#help >查看更多功能"  # 进入应用时的欢迎语

ModelProvider:                                      # 服务提供者 可选择 openai / gemini / dify / deepseek  默认为 openai
  Company: "deepseek"                               # openai / gemini / dify / deepseek

[略去其他模型]

DeepSeek:
    Key: "[***]"                   # deepseek key
    Host: "https://ark.cn-beijing.volces.com/api/v3"                # deepseek host (可选)
    Model: "ep-20250219143041-6n4ql"                          # deepseek model (可选) 默认为 deepseek-chat  deepseek-chat/deepseek-reasoner
    Prompt: "你是 DeepSeek, 一个由深度求索公司(DeepSeek)创造的智能AI助手!, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。" # deepseek prompt (可选)
    Temperature: 1.0                                # 对话的创造性,当其逼近与0时,其响应的结果更加死板,当其趋近于2时,其对话更加符有跳跃与创造力
    EnableProxy: false                              #(可选)是否开启代理,默认为 false
    Debug: true                                    #(可选)是否开启调试,默认为 false

Response:                                           # 回复配置
    Stream: true                                    # 是否开启流式回复,自动断句(可选)

KarlFreddie avatar Apr 08 '25 10:04 KarlFreddie

我找到原因了,应该是 ep-20250219143041-6n4ql 这个模型名称我不知道算 reason 还是 chat 导致的,目前先加了一个补丁,能正常输出了,reason 模型 暂时先不支持,我还要多加参数兼容这种第三方的情况

whyiyhw avatar Apr 08 '25 12:04 whyiyhw