Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于TensorRT-LLM接入LangChain #32

Closed
Astrallee opened this issue Nov 14, 2023 · 16 comments
Closed

关于TensorRT-LLM接入LangChain #32

Astrallee opened this issue Nov 14, 2023 · 16 comments

Comments

@Astrallee
Copy link

参考了文档 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": "",
},

@Tlntin
Copy link
Owner

Tlntin commented Nov 14, 2023

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

@Tlntin
Copy link
Owner

Tlntin commented Nov 14, 2023

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

@Astrallee
Copy link
Author

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

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

@Astrallee
Copy link
Author

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

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

@Tlntin
Copy link
Owner

Tlntin commented Nov 14, 2023

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

@Tlntin
Copy link
Owner

Tlntin commented Nov 14, 2023

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

@Astrallee
Copy link
Author

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

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

@Astrallee
Copy link
Author

还有一个就是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

@Tlntin
Copy link
Owner

Tlntin commented Nov 14, 2023

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

@Astrallee
Copy link
Author

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

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

@Astrallee
Copy link
Author

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

@Tlntin
Copy link
Owner

Tlntin commented Nov 14, 2023

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

@Tlntin
Copy link
Owner

Tlntin commented Nov 14, 2023

我刚才怀疑是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的虚拟环境,再试一次。

@Astrallee
Copy link
Author

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

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

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

@Tlntin
Copy link
Owner

Tlntin commented Nov 14, 2023

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

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

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

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

@Astrallee
Copy link
Author

从这里看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进行改正之后重装!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants