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
32.01k stars 5.57k forks source link

[BUG] 仅使用API,不启动本地模型 Web页面报错 #1877

Closed ticoAg closed 1 year ago

ticoAg commented 1 year ago

问题描述 / Problem Description model_config.py中LLM_MODEL指定为LANGCHAIN_LLM_MODEL中定义的MODEL API,不本地启动模型,进入web页面报错变量index越界 是设计上要求本地必须启动一个MODEL_PATH.llm_model里的模型吗

环境信息 / Environment Information

qqilin1213 commented 1 year ago

不需要

  1. model_config 下
    • ONLINE_LLM_MODEL 配置需要用的api的key
    • LLM_MODEL :指定 要用的api模型
      LLM_MODEL = "qwen-api"
  2. 安装特定依赖
    # online api libs
    # qwen-api
    dashscope>=1.10.0
    # fangzhou
    # volcengine>=1.0.106 
  3. server_config 下 为每个要运行的在线API设置不同的端口
    "zhipu-api": { # 请为每个要运行的在线API设置不同的端口
        "port": 21001,
    },
    "minimax-api": {
        "port": 21002,
    },
    "xinghuo-api": {
        "port": 21003,
    },
    "qianfan-api": {
        "port": 21004,
    },
    "fangzhou-api": {
        "port": 21005,
    },
    "qwen-api": {
        "port": 21006,
    },
    "baichuan-api": {
        "port": 21007,
    },
ticoAg commented 1 year ago

LLM_MODEL指定LANGCHAIN_LLM_MODEL中的模型 启动web就会报错 理论上都是API 应该都可以吧

zRzRzRzRzRzRzR commented 1 year ago

这个确实不稳定,dev修复了这个问题,可以先更新到dev

ticoAg commented 10 months ago

尝试了下,支持了,方法如下:

  1. model_config.py ONLINE_LLM_MODEL中新增以下key-value,注意此处key的作用等同于model_name,会用key去调用api_base_url,这里可能存在一些不合适的设计,个人认为key只是一个server的名字,随便叫什么,用里面的model_name才对
    "Qwen-1_8B-Chat": {
        "model_name": "Qwen-1_8B-Chat",    # model_name无效
        "api_base_url": "url",             # 确保langchain部署的位置能够访问到这个url
        "api_key": "api-key"
    },

    错误示例及报错

    "qwen1_8b-api": {
        "model_name": "Qwen-1_8B-Chat",
        "api_base_url": "url",
        "api_key": "api-key"
    },
    openai.BadRequestError: Error code: 400 - {'object': 'error', 'message': 'Only Qwen-1_8B-Chat allowed now, your model qwen1_8b-api', 'code': 40301}
    2023-12-26 23:11:12,994 - utils.py[line:27] - ERROR: BadRequestError: Caught exception: Error code: 400 - {'object': 'error', 'message': 'Only Qwen-1_8B-Chat allowed now, your model qwen1_8b-api', 'code': 40301}
  2. LLM_MODELS中增加上面的key
    LLM_MODELS.append("Qwen-1_8B-Chat") # 或者定义的列表中直接增加
  3. server_config.py中FSCHAT_MODEL_WORKERS增加下块,新增的key和LLM_MODELS中新增的key以及ONLINE_LLM_MODEL中新增的key保持一致, 新起一个端口
    "Qwen-1_8B-Chat":{
        "port": 21010
    }