chatchat-space / Langchain-Chatchat

Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain
Apache License 2.0
31.25k stars 5.45k forks source link

[BUG] 简洁阐述问题 / 通义千问模型对话不会停止,会自问自答 #2132

Closed erjiguan closed 9 months ago

erjiguan commented 10 months ago

问题描述 / Problem Description qwen本地部署的模型对话不会停止,会自问自答,当对话输出长的时候会出现。 我手动加上stop停止词["<|endoftext|>","<|im_end|>","<|im_start|>"]后,似乎修复了,我再观察一下

预期的结果 / Expected Result 对话正常停止

环境信息 / Environment Information

附加信息 / Additional Information 添加与问题相关的任何其他信息 / Add any other information related to the issue.

Jingzhenzxz commented 10 months ago

我也遇到了这个问题。

环境信息 / Environment Information

0.2.7 dev分支 是否使用 Docker 部署(是/否):否 / Is Docker deployment used (yes/no): no 使用的模型(ChatGLM2-6B / Qwen-7B 等):CodeShell-7B-Chat 使用的 Embedding 模型(moka-ai/m3e-base 等):m3e-base 使用的向量库类型 (faiss / milvus / pg_vector 等): faiss 操作系统及版本 / Operating system and version: centos7.9 Python 版本 / Python version: 3.9.18

suqitian commented 9 months ago

大概率和依赖库FastChat相关 1、看看该库的conversation.py有没有下面粘贴的这个配置 配置不对,模型就不会停止 2、如果有,进一步看放置模型的路径,是不是包含有“qwen”这几个字符

# Qwen-chat default template
# source: https://huggingface.co/Qwen/Qwen-7B-Chat/blob/main/qwen_generation_utils.py#L130
register_conv_template(
    Conversation(
        name="qwen-7b-chat",
        system_template="<|im_start|>system\n{system_message}",
        system_message="You are a helpful assistant.",
        roles=("<|im_start|>user", "<|im_start|>assistant"),
        sep_style=SeparatorStyle.CHATML,
        sep="<|im_end|>",
        stop_token_ids=[
            151643,
            151644,
            151645,
        ],  # "<|endoftext|>", "<|im_start|>", "<|im_end|>"
        stop_str="<|endoftext|>",
    )
)
zRzRzRzRzRzRzR commented 9 months ago

更新一下fschat试试?然后如果不行,可以在我们的对话中加入stop word 就是在langchain中加

weigong1983 commented 4 months ago

更新一下fschat试试?然后如果不行,可以在我们的对话中加入stop word 就是在langchain中加

该问题测试chatglm3-6b-128K、千问14B、llama3-8B等大模型均出现。 好些AI问答应用聊天输入框上方都有一个【停止生成】的按钮, 请问本开源项目如何添加这样一个功能,当出现AI对话无法自动停止的时候,可以人工停止。