"); //-->
凭借其怪异的api和快速的工程设计,LLMs正在改变我们构建人工智能产品的方式。这就是为什么新的开发工具在 “LLMOpS” 一词下随处可见,其中一个新工具是LangChain(https://github.com/hwchase17/langchain)。
什么是LangChain?
LangChain是一个框架,旨在通过为您提供以下内容来帮助您更轻松地构建LLM支持的应用程序:
各种不同基础模型的通用接口 (请参阅模型);
帮助您管理提示的框架 (请参阅提示);
以及用于LLM无法处理 (例如计算或搜索) 的长期内存 (请参阅内存),外部数据 (请参阅索引),其他LLM (请参阅链) 和其他代理的中央接口。代理)。这是哈里森·蔡斯创建的一个开源项目 (GitHub存储库)。
由于LangChain功能众多,这就是为什么我们将在本文中介绍LangChain目前的六个关键模块,以使您更好地了解其功能。
安装环境
在本教程中,您将需要安装langchain Python软件包,并准备好使用所有相关的API密钥。安装LangChain在安装langchain软件包之前,请确保您的Python版本 ≥ 3.8.1且<4.0。
要安装langchain Python包,您可以pip安装它。
pip install langchain
import langchain
LLM提供者:专有和开源基础模型 (作者的图片,灵感来自Fiddler.ai,首次发布在W & B的博客上)
专有模型是拥有大型专家团队和大型AI预算的公司拥有的封闭式基础模型。它们通常比开源模型更大,因此具有更好的性能,但它们也具有昂贵的api。专有模型提供商的示例是OpenAI,co:here,AI21 Labs或Anthropic。大多数可用的LangChain教程使用OpenAI,但请注意,OpenAI API (对于实验来说并不昂贵,但它) 不是免费的。要获取OpenAI API密钥,您需要一个OpenAI帐户,然后在API密钥下 “创建新的密钥”。
import osos.environ["OPENAI_API_KEY"] = ... # insert your API_TOKEN here
开源模型通常是较小的模型,其功能比专有模型低,但比专有模型更具成本效益。开源模型的示例包括:
作为社区中心,许多开源模型都是在Hugging Face组织和托管的。要获得Hugging Face API密钥,您需要一个Hugging Face帐户,并在访问令牌下创建一个 “新令牌”。
import osos.environ["HUGGINGFACEHUB_API_TOKEN"] = ... # insert your API_TOKEN here
个人笔记:您可以在此处尝试开源基础模型。我尝试使本教程仅与托管在常规帐户(google/flan-t5-xl和sentence transformer/all-MiniLM-L6-v2) 上的Hugging Face上的开源模型一起使用。它适用于大多数示例,但是让一些示例起作用也是一种痛苦。最后,我为OpenAI设置了一个付费帐户,因为LangChain的大多数示例似乎都针对OpenAI的API进行了优化。总的来说,为教程运行一些实验花了我大约1美元。
矢量数据库 (可选):如果要使用特定的矢量数据库,例如Pinecome,Weaviate或Milvus,则需要向他们注册以获取API密钥并确认其定价。在本教程中,我们使用的是Faiss,它不需要注册。
工具 (可选):根据您希望LLM与之交互的工具 (例如OpenWeatherMap或SerpAPI),您可能需要向它们注册以获取API密钥并检查其定价。在本教程中,我们仅使用不需要API密钥的工具。
我们可以用LangChain做什么?
该软件包为许多基础模型提供了通用接口,可以进行提示管理,并通过代理充当其他组件 (如提示模板,其他LLM,外部数据和其他工具) 的中央接口。在撰写本文时,LangChain (版本0.0.147) 涵盖了六个模块:
以下各节中的代码示例是从LangChain文档中复制和修改的。
模型: 从不同的LLM中选择和嵌入模型
目前,许多不同的LLM正在出现。LangChain为各种模型提供了集成,并为所有模型提供了简化的界面。LangChain区分了三种类型的模型,它们的输入和输出不同:
# Proprietary LLM from e.g. OpenAI# pip install openaifrom langchain.llms import OpenAIllm = OpenAI(model_name="text-davinci-003")
# Alternatively, open-source LLM hosted on Hugging Face# pip install huggingface_hubfrom langchain import HuggingFaceHubllm = HuggingFaceHub(repo_id = "google/flan-t5-xl")
# The LLM takes a prompt as an input and outputs a completionprompt = "Alice has a parrot. What animal is Alice's pet?"completion = llm(prompt)
LLM 模型
文本嵌入模型
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。