自从ChatGPT发布以来,大型语言模型(LLM)变得非常受欢迎。虽然你可能没有足够的资金和计算资源在地下室里从头开始训练一个LLM,但你仍然可以使用预训练的LLM来构建一些很酷的东西,比如:
基于你的数据与外界进行交互的个人助理
根据你目标定制的聊天机器人
对文档或代码进行分析或总结
LLMs正在改变我们构建基于人工智能的产品的方式,凭借其奇特的API和迅速的工程技术,LLM正在改变我们构建AI驱动产品的方式。这就是为什么在“LLMOps”这个术语下(术语 LLMOps 代表大型语言模型运维。它的简短定义是 LLMOps 是 LLM 的 MLOps。这意味着 LLMOps 是一组工具和最佳实践),新的开发者工具随处涌现。
其中一个新工具就是 LangChain 。
目录
一、LangChain 是什么二、LangChain 准备2.1 python开发环境2.2 用OpenAI账号(付费)2.3 用HuggingFace账号(免费)2.4 结合OLLaMA(免费)三、LangChain 有什么
一、LangChain 是什么
速读:LangChain是一个大语言模型的应用开发框架,在LangChain在基础上,我们可以快速开发AI应用。
LangChain是一个框架,旨在通过为您提供以下功能,帮助您更轻松地构建基于LLM的应用程序:
- 一个通用接口,可以连接各种不同的基础模型
- 一个帮助您管理提示的框架
- 一个长期记忆的中央接口、外部数据、其他LLM和其他代理人来处理LLM无法处理的任务(例如计算或搜索)的接口。
这是由Harrison Chase创建的开源项目。
二、LangChain 准备
需要安装langchain Python包,并准备好所有相关的API密钥以供使用,或者使用本地模型。
2.1 python开发环境
可以使用conda,也可以直接使用python 3,Python版本≥ 3.8.1且<4.0。
我使用的是python 3.10版本。
# 安装openai和langchain
pip install openai
pip install langchain
2.2 用OpenAI账号(付费)
OpenAI官网 https://openai.com/
大多数可用的LangChain教程使用OpenAI,要获取OpenAI API密钥openai_api_key
。您需要注册一个OpenAI账户,并在API密钥下方选择“创建新秘密密钥”,生成key,获取key来调用open ai的接口,调用接口会消耗费用。
import os
os.environ["OPENAI\_API\_KEY"] = ... # insert your API\_TOKEN here
2.3 用HuggingFace账号(免费)
HuggingFace官网 https://huggingface.co/models
许多开源模型都在Hugging Face上作为一个社区中心进行组织和托管。要获取Hugging Face API密钥,您需要拥有一个Hugging Face账户,并在访问令牌下创建一个“新的令牌”。
import os
os.environ["HUGGINGFACEHUB\_API\_TOKEN"] = ... # insert your API\_TOKEN here
2.4 结合OLLaMA(免费)
Ollama 是一个强大的框架。Ollama 的主要功能是在 Docker 容器内部署和管理 LLM 的促进者,它使该过程变得非常简单。它帮助用户快速在本地运行大模型,通过简单的安装指令,可以让用户执行一条命令就在本地运行开源大型语言模型。
ollama官网 https://ollama.com/
模型名列表见 https://ollama.com/library
三、LangChain 有什么
LangChain官网 https://www.langchain.com.cn/getting\_started/getting\_started
使用LangChain,你可以做什么呢?
这个软件包提供了通用接口,可以管理多种基础模型,并作为其他组件(如提示模板、其他LLM、外部数据和工具)通过代理的中央接口。
在撰写本文时,LangChain(版本0.0.147)涵盖了六个模块:
-
Models 模型:选择不同的LLM和嵌入模型
-
Prompts 提示:管理LLM输入
-
Chains 链条:将LLM与其他组件结合起来
-
Indexes 索引:访问外部数据
-
Memory 记忆:记住以前的对话
-
Agents 代理人:访问其他工具
由于LangChain具有许多不同的功能,一开始可能很难理解它的作用。因此,在【LangChain基础系列】中,我们将介绍LangChain目前的六个关键模块,以便更好地了解其功能。