Langchain介绍以及安装
PIP安装langchain
pip install langchain
Conda安装langchain
conda install langchain -c conda-forge
Conda安装jupyter并打开
conda install jupyter
pip install --upgrade jupyter
jupyter notebook
打开MobaXterm,激活ChatGLM3env,进入以下目录/ChatGLM3/openai_api_demo,运行api_serve.py,失败。
找到api_serve.py文件打开
【Error1】.bashrc文件里未匹配路径 ,词嵌套路径没有。
打开魔塔,下载词嵌入模型
点击下载模型,获得git clone的下载方式,回到MobaXterm进行下载
cd /root
git clone https://www.modelscope.cn/Xorbits/bge-base-zh.git
下载成功
在root目录下,vim .bashrc,输入路径
vim /root/.bashrc
export补充路径
export MODEL_PATH=/root/chatglm3-6b
export EMBEDDING_PATH=/root/bge-large-zh
执行一遍
重新激活ChatGLM3,然后到cd /root/ChatGLM3/openai_api_demo/路径下,vim api_server.py查看文件
conda activate ChatGLM3env
cd /root/ChatGLM3/openai_api_demo/
ll
vim api_server.py
心跳
词嵌入
模型chatgml3-6b
推理返回
上面的代码说明基本部署完成,重新python api_server.py文件
成功,监听了一个端口8000
云服务器安全组添加一个新的入方向的端口8000
测试:LangChain与ChatGLM3-6B集成
打开jupyter,输入以下代码:
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain.chat_models import ChatOpenAI
import os
template = """{question}"""
prompt = PromptTemplate(template=template, input_variables=["question"])
openai_api_base="http://127.0.0.1:8000/v1"
llm = ChatOpenAI(model="chatglm3-6b", openai_api_base=openai_api_base, openai_api_key="abcabc")
llm_chain = LLMChain(prompt=prompt, llm=llm)
question = "帮我写一篇新闻,关于美食。"
print(llm_chain.run(question))
1. `from langchain.chains import LLMChain`
从 LangChain 库中导入 LLMChain 类,用于创建一个链式语言模型。
2. `from langchain.prompts import PromptTemplate`
从 LangChain 库中导入 PromptTemplate 类,用于定义提示模板。
3. `from langchain.chat_models import ChatOpenAI`
从 LangChain 库中导入 ChatOpenAI 类,用于与 OpenAI 的对话模型进行交互。
4. `template = """{question}"""`
定义一个简单的提示模板,其中只包含一个占位符 {question}。
5. `prompt = PromptTemplate(template=template, input_variables=["question"])`
使用上一步定义的模板和输入变量创建一个 PromptTemplate 实例。
6. `openai_api_base="http://127.0.0.1:8000/v1"`
设置 OpenAI API 的基础 URL,在这个例子中是本地主机的 8000 端口。
"http://127.0.0.1:8000/v1"的127.0.0.1要改为自己的公网IP
7. `llm = ChatOpenAI(model="chatglm3-6b", openai_api_base=openai_api_base, openai_api_key="abcabc")`
创建一个 ChatOpenAI 实例,指定使用 chatglm3-6b 模型,并设置 API 基础 URL 和 API 密钥。
8. `llm_chain = LLMChain(prompt=prompt, llm=llm)`
使用之前创建的 PromptTemplate 和 ChatOpenAI 实例创建一个 LLMChain 对象。
9. `question = "帮我写一篇新闻,关于美食。"`
定义一个问题字符串。
10. `print(llm_chain.run(question))`
将问题字符串传递给 LLMChain 的 run 方法,并打印模型的响应。
总的来说,这段代码设置了一个简单的提示模板,并使用 LangChain 库与 OpenAI 的 chatglm3-6b 模型进行交互。它向模型提交一个关于写一篇美食新闻的问题,并打印模型的响应。
【Error2】没有openai的包,终端下载openai即可
pip install openai
下载完成