Open freezehe opened 3 months ago
如果你希望在本地运行 qwen1.5-chat,就需要在本地拉起 xinference 服务,并部署好 embedding 模型和语言模型:
XINFERENCE_MODEL_SRC=modelscope xinference-local --host 0.0.0.0 --port 9997 # 启动 xinference 服务
xinference launch --model-name bge-large-zh-v1.5 --model-type embedding --gpu-idx 0 # 启动 embedding 服务
xinference launch --model-engine vllm --model-name llama-3.1-instruct --size-in-billions 8 --model-format pytorch --gpu-idx 1 --quantization none # 启动 llama3.1
之后再填写 model_settings.yaml 中的 DEFAULT_LLM_MODEL: llama-3.1-instruct
和 DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5
如果你希望调用openai、通义千问等服务商提供的模型,就需要修改 model_settings.yaml 中 MODEL_PLATFORMS,修改 api_base_url、api_key等信息(我没有使用过这种方法,只知道大概的思路)
- 如果你希望在本地运行 qwen1.5-chat,就需要在本地拉起 xinference 服务,并部署好 embedding 模型和语言模型:
XINFERENCE_MODEL_SRC=modelscope xinference-local --host 0.0.0.0 --port 9997 # 启动 xinference 服务 xinference launch --model-name bge-large-zh-v1.5 --model-type embedding --gpu-idx 0 # 启动 embedding 服务 xinference launch --model-engine vllm --model-name llama-3.1-instruct --size-in-billions 8 --model-format pytorch --gpu-idx 1 --quantization none # 启动 llama3.1
之后再填写 model_settings.yaml 中的
DEFAULT_LLM_MODEL: llama-3.1-instruct
和DEFAULT_EMBEDDING_MODEL: bge-large-zh-v1.5
- 如果你希望调用openai、通义千问等服务商提供的模型,就需要修改 model_settings.yaml 中 MODEL_PLATFORMS,修改 api_base_url、api_key等信息(我没有使用过这种方法,只知道大概的思路)
首先非常感谢你的回答,我是打算采用你的方式1,但是我在xinference加载官网建议的qwen1.5-chat模型的时候,我是在centos服务器上,是cpu的,指定这些安装报错。我截个图 日志报错如下: 所以我才考虑你说的方式2,但是方式2你说的那两个参数是在openai 节点还剩oneapi节点?
你截图的报错应该是xinference部署相关的问题,去xinference的评论区提问可能会有人解答,或者详细看看xinference的入门教程。如果本地没有 GPU 只有 CPU,模型推理可能比较慢,最好还是使用厂商提供的语言模型。 openai的接口是行业规范,如果你使用 deepseek 这样的厂商提供的模型,也是支持 openai 规范的,所以尝试修改这一部分:
- platform_name: openai
platform_type: openai
api_base_url: https://api.openai.com/v1
api_key: sk-proj-
api_proxy: ''
api_concurrencies: 5
auto_detect_model: false
llm_models:
- gpt-4o
- gpt-3.5-turbo
embed_models:
- text-embedding-3-small
- text-embedding-3-large
text2image_models: []
image2text_models: []
rerank_models: []
speech2text_models: []
text2speech_models: []
我的经验是 xinference功能强但坑比较多 可以试试ollama,傻瓜化基本无坑,虽然能力也弱一些。
langchain-chatchat不能自动读ollama的模型列表,需要手工加模型列表,把前面默认LLM和embedding也改成列表里有的模型 比如我的ollama额配置:
- platform_name: ollama
platform_type: ollama
api_base_url: http://127.0.0.1:11434/v1
api_key: EMPTY
api_proxy: ''
api_concurrencies: 5
auto_detect_model: false
llm_models:
- qwen2:7b
- qwen2:72b
- glm4
- yi:34b
embed_models:
- bge-m3
- quentinz/bge-large-zh-v1.5
text2image_models: []
image2text_models: []
rerank_models: []
speech2text_models: []
text2speech_models: []
需要哪个模型就先pull了再run:
ollama pull qwen2:7b
ollama pull bge-m3
qwen2:7b在CPU上跑的还可以忍受,实在不行就1.5b。0.5b就不用考虑了。 瓶颈其实在embedding model上,如果CPU不够好,文档稍微一大可能就会向量化超时
我的经验是 xinference功能强但坑比较多 可以试试ollama,傻瓜化基本无坑,虽然能力也弱一些。
langchain-chatchat不能自动读ollama的模型列表,需要手工加模型列表,把前面默认LLM和embedding也改成列表里有的模型 比如我的ollama额配置:
- platform_name: ollama platform_type: ollama api_base_url: http://127.0.0.1:11434/v1 api_key: EMPTY api_proxy: '' api_concurrencies: 5 auto_detect_model: false llm_models: - qwen2:7b - qwen2:72b - glm4 - yi:34b embed_models: - bge-m3 - quentinz/bge-large-zh-v1.5 text2image_models: [] image2text_models: [] rerank_models: [] speech2text_models: [] text2speech_models: []
需要哪个模型就先pull了再run:
ollama pull qwen2:7b
ollama pull bge-m3
- 'ollama run qwen2:7b'
qwen2:7b在CPU上跑的还可以忍受,实在不行就1.5b。0.5b就不用考虑了。 瓶颈其实在embedding model上,如果CPU不够好,文档稍微一大可能就会向量化超时
大佬,我是手动下载的qwen-2大模型,通过lama.cpp改为gguf格式,通过ollama启动的,embed_models 我按你上面的写法,在初始化知识库 提示default embedding model bge-large-zh-v1.5 is not found in available embeddings, using quentinz/bge-large-zh-v1.5 instead Error raised by inference API HTTP code: 404, {"error":"model \"quentinz/bge-large-zh-v1.5\" not found, try pulling it first"} 2024-09-07 19:09:08.206 | ERROR | chatchat.init_database:worker:61 - 向量库 samples 加载失败。 这个是哪里的问题
我的经验是 xinference功能强但坑比较多 可以试试ollama,傻瓜化基本无坑,虽然能力也弱一些。 langchain-chatchat不能自动读ollama的模型列表,需要手工加模型列表,把前面默认LLM和embedding也改成列表里有的模型 比如我的ollama额配置:
- platform_name: ollama platform_type: ollama api_base_url: http://127.0.0.1:11434/v1 api_key: EMPTY api_proxy: '' api_concurrencies: 5 auto_detect_model: false llm_models: - qwen2:7b - qwen2:72b - glm4 - yi:34b embed_models: - bge-m3 - quentinz/bge-large-zh-v1.5 text2image_models: [] image2text_models: [] rerank_models: [] speech2text_models: [] text2speech_models: []
需要哪个模型就先pull了再run:
ollama pull qwen2:7b
ollama pull bge-m3
- 'ollama run qwen2:7b'
qwen2:7b在CPU上跑的还可以忍受,实在不行就1.5b。0.5b就不用考虑了。 瓶颈其实在embedding model上,如果CPU不够好,文档稍微一大可能就会向量化超时
大佬,我是手动下载的qwen-2大模型,通过lama.cpp改为gguf格式,通过ollama启动的,embed_models 我按你上面的写法,在初始化知识库 提示default embedding model bge-large-zh-v1.5 is not found in available embeddings, using quentinz/bge-large-zh-v1.5 instead Error raised by inference API HTTP code: 404, {"error":"model "quentinz/bge-large-zh-v1.5" not found, try pulling it first"} 2024-09-07 19:09:08.206 | ERROR | chatchat.init_database:worker:61 - 向量库 samples 加载失败。 这个是哪里的问题
看这个错误你没有 pull quentinz/bge-large-zh-v1.5啊。没有嵌入模型,仅仅有语言模型是不能RAG的。建议你都用ollama pull命令拉取官方模型,都试验没问题了再搞你自定义的
老哥,真巧,我正在看这个问题,我的llm想用qwen2:1.5b ,我的ollama list如下:
`userland@localhost:/root/codes/Langchain-Chatchat/libs/chatchat-server/chatchat$ ollama list
NAME
qwen2:1.5b
qwen:4b
qwen2:7b
quentinz/bge-large-zh-v1.5:latest
qwen2:0.5b
我的model_setting如下:
“DEFAULT_LLM_MODEL: qwen2:1.5b
DEFAULT_EMBEDDING_MODEL: quentinz/bge-large-zh-v1.5:latest
MODEL_PLATFORMS:
老哥,真巧,我正在看这个问题,我的llm想用qwen2:1.5b ,我的ollama list如下: `userland@localhost:/root/codes/Langchain-Chatchat/libs/chatchat-server/chatchat$ ollama list NAME qwen2:1.5b qwen:4b qwen2:7b quentinz/bge-large-zh-v1.5:latest qwen2:0.5b 我的model_setting如下: “DEFAULT_LLM_MODEL: qwen2:1.5b DEFAULT_EMBEDDING_MODEL: quentinz/bge-large-zh-v1.5:latest MODEL_PLATFORMS:
- platform_name: ollama platform_type: ollama api_base_url: http://127.0.0.1:11434/v1 api_key: EMPTY api_proxy: '' api_concurrencies: 5 auto_detect_model: false llm_models:
刚刚试了一下,没有问题:
- platform_name: ollama
platform_type: ollama
api_base_url: http://127.0.0.1:11434/v1
api_key: EMPTY
api_proxy: ''
api_concurrencies: 5
auto_detect_model: false
llm_models:
- qwen2:0.5b
- qwen2:1.5b
- qwen2:7b
- qwen2:72b
- glm4
- yi:34b
embed_models:
- bge-m3
- quentinz/bge-large-zh-v1.5
这个问题已经被标记为 stale
,因为它已经超过 30 天没有任何活动。
如题,我已经参考官网的手册安装了conda,且安装了两个环境,一个专门是xinference跑emding模型的,bge-large-zh-v1.5,一个是chatchat环境,我是在centos7上安装的,还没有跑成功。不清楚model_settings.yml如何配置大模型,我看官网介绍说是 qwen1.5-chat,我想问一下,是不是得在通一千文官网注册拿到api的url和appkey?这个有教程吗?或者如果告知我,我作为新手后面也可以为社区编写这个手册。请技术人员告知一下如何配置大模型,对于我们这些新手同学来说很有必要,谢谢!