一架梯子,一头程序猿,仰望星空!
LangChain教程(Python版本) > 内容正文

LangChain整合ChatGLM模型


ChatGLM

ChatGLM-6B是基于通用语言模型(GLM)框架的开放式双语语言模型,具有62亿个参数。通过量化技术,用户可以在消费级图形卡上进行本地部署(在INT4量化级别下仅需6GB的GPU内存)。

ChatGLM2-6B是开源的第二代双语(中英文)聊天模型ChatGLM-6B的版本。它保留了第一代模型流畅对话流程和低部署门槛的特点,同时引入了新功能,如性能更好、上下文更长、推理效率更高。

以下示例介绍了如何使用LangChain与ChatGLM2-6B 推理进行文本补全交互。ChatGLM-6B和ChatGLM2-6B具有相同的API规范,因此该示例适用于两者。

from langchain.llms import ChatGLM
from langchain import PromptTemplate, LLMChain

API参考:

template = """{question}"""
prompt = PromptTemplate(template=template, input_variables=["question"])
endpoint_url = "http://127.0.0.1:8000"


llm = ChatGLM(
    endpoint_url=endpoint_url,
    max_token=80000,
    history=[["我将从美国到中国来旅游,出行前希望了解中国的城市", "欢迎问我任何问题。"]],
    top_p=0.9,
    model_kwargs={"sample_model_args": False},
)
llm_chain = LLMChain(prompt=prompt, llm=llm)
question = "北京和上海两座城市有什么不同?"

llm_chain.run(question)

```
ChatGLM请求:{‘prompt’: ‘北京和上海两座城市有什么不同?’, ‘temperature’: 0.1, ‘history’: [[‘我将从美国到中国来旅游,出行前希望了解中国的城市’, ‘欢迎问我任何问题。’]], ‘max_length’: 80000, ‘top_p’: 0.9, ‘sample_model_args’: False}

'北京和上海是中国的两个首都,它们在许多方面都有所不同。\n\n北京是中国的政治和文化中心,拥有悠久的历史和灿烂的文化。它是中国最重要的古都之一,也是中国历史上最后一个封建王朝的都城。北京有许多著名的古迹和景点,例如紫禁城、天安门广场和长城等。\n\n上海是中国最现代化的城市之一,也是中国商业和金融中心。上海拥有许多国际知名的企业和金融机构,同时也有许多著名的景点和美食。上海的外滩是一个历史悠久的商业区,拥有许多欧式建筑和餐馆。\n\n除此之外,北京和上海在交通和人口方面也有很大差异。北京是中国的首都,人口众多,交通拥堵问题较为严重。而上海是中国的商业和金融中心,人口密度较低,交通相对较为便利。\n\n总的来说,北京和上海是两个拥有独特魅力和特点的城市,可以根据自己的兴趣和时间来选择前往其中一座城市旅游。'