赞
踩
LangChain 是一个开源的语言模型集成框架,旨在简化使用大型语言模型(LLM)创建应用程序的过程。
利用它可以让开发者使用语言模型来实现各种复杂的任务,例如文本到图像的生成、文档问答、聊天机器人、
调用特定的SaaS服务等等。
1,/v1/models 用来返回可用的模型列表
2,/v1/completions 给定提示,模型将返回一个或多个预测完成,还可以返回每个位置的替代令牌的概率。
3,/v1/chat/completions 给定聊天对话,模型将返回聊天完成响应。角色有system assistant user
Models:各种类型的模型和模型集成,比如OpenAI 的 ChatGPT。
import os
os.environ.setdefault("OPENAI_API_BASE", "http://llm.demo.haizhi.com/v1")
os.environ.setdefault("OPENAI_API_KEY", "EMPTY")
from langchain.llms import OpenAI
#llm = OpenAI(temperature=0, model_name="Baichuan2-13B-Chat") # model_name="text-davinci-003" 这里使用OpenAI接口调用LLM模型
llm = OpenAI(temperature=0, model_name="ChatGLM2-6B") # model_name="text-davinci-003" 这里使用OpenAI接口调用LLM模型
text = "你是个诗人,我写个劝学的打油诗吧"
print(llm(text))
Prompts:提示管理、提示优化和提示序列化,通过提示微调模型的语义理解。
import os os.environ.setdefault("OPENAI_API_BASE", "http://llm.demo.haizhi.com/v1") os.environ.setdefault("OPENAI_API_KEY", "EMPTY") from langchain.llms import OpenAI from langchain import PromptTemplate template = """Question: {question} Let's think step by step. Answer: """ #llm = OpenAI(temperature=0, model_name="Baichuan2-13B-Chat") llm = OpenAI(temperature=0, model_name="ChatGLM2-6B") prompt = PromptTemplate(template=template, input_variables=["question"]) final_promot = prompt.format(question="请告诉我该怎么学习大模型?") print(llm(final_promot))
Memory:用来保存和模型交互时的上下文状态。
Indexes:用来结构化文档,以便和模型交互。
Chains:一系列对各种组件的调用。
import os os.environ.setdefault("OPENAI_API_BASE", "http://llm.demo.haizhi.com/v1") os.environ.setdefault("OPENAI_API_KEY", "EMPTY") from langchain.llms import OpenAI from langchain import PromptTemplate from langchain import LLMChain template = """Question: {question} Let's think step by step. Answer: """ #llm = OpenAI(temperature=0, model_name="Baichuan2-13B-Chat") llm = OpenAI(temperature=0, model_name="ChatGLM2-6B") prompt = PromptTemplate(template=template, input_variables=["question"]) # final_promot = prompt.format(question="请告诉我该怎么学习大模型?") # print(llm(final_promot)) llm_chain = LLMChain(prompt=prompt, llm=llm) question = "请告诉我该怎么学习向量库?" print(llm_chain.run(question))
Agents:决定模型采取哪些行动,执行并且观察流程,直到完成为止。
import os os.environ.setdefault("OPENAI_API_BASE", "http://llm.demo.haizhi.com/v1") os.environ.setdefault("OPENAI_API_KEY", "EMPTY") from langchain.llms import OpenAI from langchain.chains import LLMChain from langchain.prompts import PromptTemplate from langchain.chains import SimpleSequentialChain #llm = OpenAI(temperature=0, model_name="Chinese-Alpaca-2-7B-ywj1016") llm = OpenAI(temperature=0, model_name="ChatGLM2-6B") # 第一个链模版内容 template1 = "根据用户的输入的描述推荐一个适合的地区,用户输入: {value}" prompt_template1 = PromptTemplate(input_variables=["value"], template=template1) # 构建第一个链 chain1 = LLMChain(llm=llm, prompt=prompt_template1) # 第二个链模版内容 template2 = "根据用户的输入的地区推荐该地区的美食,用户输入: {value}" prompt_template2 = PromptTemplate(input_variables=["value"], template=template2) # 构建第二个链 chain2 = LLMChain(llm=llm, prompt=prompt_template2) # 将链组装起来 overall_chain = SimpleSequentialChain(chains=[chain1, chain2], verbose=True) # 运行链 review = overall_chain.run("北京") print('结果:', review)
参考 https://github.com/langchain-ai/langchain
参考 https://github.com/chatchat-space/Langchain-Chatchat
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。