译者 | 李睿
审校 | 重楼
LangChain是当今最热门的开发平台之一,用于创建使用生成式人工智能的应用程序,但它只适用于Python和JavaScript。对于想要使用LangChain的R程序员,该怎么办?
幸运的是,可以使用非常基本的Python代码在LangChain中做很多有用的事情。而且,多亏有了reticulate R包,R和RStudio用户可以在他们熟悉的环境中编写和运行Python,包括在Python和R之间来回传递对象和数据。
在这个LangChain教程中,将展示如何使用Python和R来访问LangChain和OpenAI API。这将允许使用大型语言模型(LLM)来查询ggplot2的300页PDF文档。第一个示例查询:“如何在图形的x轴上旋转文本?”
以下是介绍这个过程的每个步骤:
(1)如果还没有运行,需要将系统设置为运行Python和reticulate。
(2)将ggplot2 PDF文档文件导入为纯文本的LangChain对象。
(3)将文本分割成可以被大型语言模型读取的更小的部分,因为这些模型对一次读取的数量有限制。而长达300页的文本将超出OpenAI公司的限制。
(4)使用LLM为每个文本块创建“嵌入”,并将它们全部保存在数据库中。嵌入是一串数字,表示多维空间中文本的语义。
(5)为用户的问题创建一个嵌入,然后将问题嵌入与文本中的所有现有问题进行比较。查找并检索最相关的文本片段。
(6)只将那些相关的文本部分输入到像GPT-3.5这样的LLM中,并要求它生成答案。
如果用户要遵循示例并使用OpenAI API,则需要一个API密钥。可以在platform.openai.com注册。如果愿意使用另一个模型,LangChain有组件可以为许多LLM构建链,而不仅仅是OpenAI公司的组件,因此用户不会被某个LLM提供商锁定。
LangChain拥有可以轻松处理这些步骤的组件,特别是如果企业对其默认值感到满意的话。这就是为什么它变得如此受欢迎的原因。
以下开始逐步实施:
步骤1:设置系统在RStudio中运行Python
如果用户已经运行了Python和reticulate,则可以跳到下一步。否则,确保在系统上有最新版本的Python。有很多方法可以安装Python,但只需要从python.org网站中下载就可以。然后,按照通常的方式使用install.packages("reticulate")安装reticulate R包。
如果已经安装了Python,但是reticulate找不到它,可以使用命令use_Python(“/path/to/your/Python”)。
library(reticulate)
virtualenv_create(envname = "langchain_env", packages = c( "langchain", "openai", "pypdf", "bs4", "python-dotenv", "chromadb", "tiktoken")) # Only do this once
分享说明:转发分享请注明出处。