Tlntin/Qwen-TensorRT-LLM

关于TensorRT-LLM接入LangChain

Closed this issue · 16 comments

参考了文档 https://github.com/Tlntin/Qwen-7B-Chat-TensorRT-LLM/blob/release/0.5.0/docs/trt_llm_deploy_langchain.md

langchain-chatchat-0.2.6版本

在保证api正常运行可以被调用(同容器docker测试,windows上的postman测试)

在导入langchain-chatchat时,得到了错误
image

定位到,或许是文档中下述部分的问题:

修改模型配置文件configs/model_config.py,修改OpenAI的url地址为你配置TensorRT-LLM api的地址
修改前
"OpenAI": {
"model_name": "your openai model name(such as gpt-4)",
"api_base_url": "https://api.openai.com/v1",
"api_key": "your OPENAI_API_KEY",
"openai_proxy": "",
},
修改后
"OpenAI": {
"model_name": "gpt-3.5-turbo",
"api_base_url": "http://127.0.0.1:8000/v1",
"api_key": "",
"openai_proxy": "",
},

这个错误是因为openai的包最近更新到1.x了,改了调用方式,langchain那边没有更新导致的。

并且新版api_key为必填项目,可以给一个任意数值。

这个错误是因为openai的包最近更新到1.x了,改了调用方式,langchain方面没有更新导致的。

我看langchain-chatchat昨天更新到了0.2.7版本,或许 是更新了?

而新版api_key为必填项目,可以给出一个任意数值。

我随便给了一个值,测试还是出现了问题。
image

建议检查一下langchain那边openai模块版本,应该是0.4.1才能跑,1.x是跑不了的。
TensorRT-LLM这边我上周已经升级到1.x了,所以没啥影响。

还有一个就是TensorRT-LLM这边需要做端口映射,如果你的TensorRT-LLM部署不是本机,请你将127.0.0.1换成部署TensorRT-LLM所在服务器的ip,例如192.168.x.x

建议检查一下langchain有关openai模块版本,应该是0.4.1才能跑,1.x是跑不了的。TensorRT -LLM普拉斯我上周已经升级到1.x了,所以没啥影响。

我对openai进行了降级,但是没有发现0.4.1版本, 就安装了0.4.0版本,依旧是存在着上述情况。
image

还有一个就是TensorRT-LLM布拉格需要做端口映射,如果你的TensorRT-LLM配置不是本机,请你将127.0.0.1换成配置TensorRT-LLM所在服务器的ip,例如192.168.xx

关于这个 在部署tensor-llm +qwen的时候已经做了映射

docker run --gpus all \ --name trt_llm \ -d \ --ipc=host \ --ulimit memlock=-1 \ --restart=always \ --ulimit stack=67108864 \ -p 8000:8000 \ -p 7860:7860 \ -v ${PWD}/qwen:/app/tensorrt_llm/examples/qwen \ tensorrt_llm/release sleep 8640000

个人感觉是127.0.0.1:8000不通导致的, 你可以看看TensorRT-LLM api.py启动后那边有收到langchain调用的日志吗?如果没有,请检查你langchain这边设置的ip http://127.0.0.1:8000/v1是否正确。

个人感觉是127.0.0.1:8000不通导致的,你可以看看TensorRT-LLM api.py启动后那边有收到langchain调用的日志吗?如果没有,请检查你langchain参数设置的ip是否正确http://127.0.0.1:8000/v1
我使用了postman进行了测试,是可以得到回复的,图如下:
image

然后在langchain-chatchat里面,我看到是有接收到一个信息的,这是全部详细的信息
image

我刚才怀疑是pydantic版本的原因,在langchain-chatchat 项目中,如果将pydantic升级到2.x,fschat和pydantic一直存在着冲突的问题,我可以请求一份你的pip requirements.txt看一下吗?

从这里看TensorRT-LLM ip配置这块应该是没问题了,那就可能要看看再选择LLM模型部分,选择OpenAI (Running)即可,我记得好像有两个OpenAI,你可以在前端页面多试试,貌似是第一个OpenAI.

我刚才怀疑是pydantic版本的原因,在langchain-chatchat 项目中,如果将pydantic升级到2.x,fschat和pydantic一直存在着冲突的问题,我可以请求一份你的pip requirements.txt看一下吗?

这个有可能是,不过我安装langchain的时候是直接按作者说的,用Python3.10.12版本,然后直接按照他提供的requerements.txt安装的包(确保openai版本是0.4.0)。我建议你用conda重新构建一个Python3.10.12的虚拟环境,再试一次。

从这里看TensorRT-LLM ip配置这块应该是没问题了,那么可能要看看再选择LLM模型部分,选择OpenAI (Running)即可,我记得好像有两个OpenAI,你可以在前面的页面多试试,显然是第一个OpenAI。

是的有两个,刚开始不能区分,我就将名字改为了OpenAI-test,发现两个都发生了了变化,但是两个返回的错误都是一致的 T T
image
image

我注意到在webui进行选择模型切换的时候,切换到OpenAI(Running)会出现一个红色的错误
image

从这里看TensorRT-LLM ip配置这块应该是没问题了,那么可能要看看再选择LLM模型部分,选择OpenAI (Running)即可,我记得好像有两个OpenAI,你可以在前面的页面多试试,显然是第一个OpenAI。

是的有两个,刚开始不能区分,我就将名字改为了OpenAI-test,发现两个都发生了了变化,但是两个返回的错误都是一致的 T T image image

我注意到在webui进行选择模型切换的时候,切换到OpenAI(Running)会出现一个红色的错误 image

这里不建议改,还是还原之前的叫法比较好。

从这里看TensorRT-LLM ip配置这块应该是没问题了,那么可能要看看再选择LLM模型部分,选择OpenAI (Running)即可,我记得想要有两个OpenAI,你可以在前面的页面多尝试一下,显然是第一个OpenAI。

是的有两个,刚开始不能区分,我就将名字改为OpenAI-test,发现两个都发生了变化,但是两个返回的错误都是一致的 TT图像 图像
我注意到在webui进行选择模型切换的时候,切换到OpenAI(Running)会出现一个红色的错误图像

这里不建议修改,还是还原之前的叫法比较好。

确实,复议!改回OpenAI名称
错误发生了改变,直指我langchain项目里的openai版本过低(0.4.0)
image

然后我更新了(版本 1.2.4)

正常了!(终于!!)

ps:
会莫名其妙出现bug最好是在requirements.txt进行改正之后重装!!