当前位置:   article > 正文

本地化部署/LangChain与ChatGLM3-6B集成/大模型备忘录(三)_langchain导入本地的chatglm3

langchain导入本地的chatglm3

Langchain介绍以及安装

 PIP安装langchain

pip install langchain

 Conda安装langchain

conda install langchain -c conda-forge 

 Conda安装jupyter并打开

  1. conda install jupyter
  2. pip install --upgrade jupyter
  3. jupyter notebook

 

打开MobaXterm,激活ChatGLM3env,进入以下目录/ChatGLM3/openai_api_demo,运行api_serve.py,失败。

找到api_serve.py文件打开

【Error1】.bashrc文件里未匹配路径 ,词嵌套路径没有。

打开魔塔,下载词嵌入模型

点击下载模型,获得git clone的下载方式,回到MobaXterm进行下载

  1. cd /root
  2. git clone https://www.modelscope.cn/Xorbits/bge-base-zh.git

 

下载成功 

 在root目录下,vim .bashrc,输入路径

 vim /root/.bashrc

export补充路径 

  1. export MODEL_PATH=/root/chatglm3-6b
  2. export EMBEDDING_PATH=/root/bge-large-zh

执行一遍

重新激活ChatGLM3,然后到cd /root/ChatGLM3/openai_api_demo/路径下,vim api_server.py查看文件

  1. conda activate ChatGLM3env
  2. cd /root/ChatGLM3/openai_api_demo/
  3. ll
  4. vim api_server.py

 心跳

词嵌入 

模型chatgml3-6b 

 推理返回

上面的代码说明基本部署完成,重新python api_server.py文件

成功,监听了一个端口8000

云服务器安全组添加一个新的入方向的端口8000

测试:LangChain与ChatGLM3-6B集成

打开jupyter,输入以下代码:

  1. from langchain.chains import LLMChain
  2. from langchain.prompts import PromptTemplate
  3. from langchain.chat_models import ChatOpenAI
  4. import os
  5. template = """{question}"""
  6. prompt = PromptTemplate(template=template, input_variables=["question"])
  7. openai_api_base="http://127.0.0.1:8000/v1"
  8. llm = ChatOpenAI(model="chatglm3-6b", openai_api_base=openai_api_base, openai_api_key="abcabc")
  9. llm_chain = LLMChain(prompt=prompt, llm=llm)
  10. question = "帮我写一篇新闻,关于美食。"
  11. 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

 

下载完成

再次运行代码 

 成功 

chain(链)=prompt(提示词)+llm(大语言模型)+output_parsen(输出解析器)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/823175
推荐阅读
相关标签
  

闽ICP备14008679号