AI大模型:LangChain 安装与查询使用指南

LangChain 是一种 AI 代理工具,可以为以 ChatGPT 为代表的额大语言模型(LLM)增添更多功能。此外,LangChain 还具备 token 和上下文管理功能。本文主要通过查询 GPT 和查询文档两个示例[1]介绍如何使用 LangChain。

一、安装 LangChain

LangChain 是用于构建 LLM 应用的框架,使用 LangChain 可以快速构建 CVP 框架。LangChain 为 LLM 提供了两大核心功能:

  • 数据感知能力:将外部数据源纳入 LLM 应用的能力。
  • 代理能力:使用其他工具的能力。

与许多 LLM 工具一样,默认情况下,LangChain 使用的 LLM 是 OpenAI 的 GPT。因此,想要使用 LangChain,需要先从 OpenAI 获取 API 密钥[2]。LangChain 支持 Python 和 JavaScript。本教程展示的是 Python 示例代码,大家可以通过运行 pip install langchain 来安装 LangChain。

安装结束后就可以用 LangChain 查询文档、向量,当然也可以把 LangChain 当作 LlamaIndex 一样,让它与 GPT 的交互更丝滑。

二、查询 GPT

大多数人都是因为 ChatGPT 才对 GPT 有所了解。ChatGPT 是 OpenAI 的旗舰产品,是一个允许用户与 GPT 进行交互的界面。不过,如果想以编程的方式与 GPT 进行交互,那么就需要一个像 LangChain 这样的查询接口。

LangChain 为 GPT 提供了一系列的查询接口,从【通过一个 prompt 提问】的简单接口,到【通过多个问题让 GPT 进行上下文学习】的复杂接口,一应俱全。

接下来先介绍通过一个 prompt 模板将提问链接在一起的方法。

  • 首先,安装 Python 库。大家可以用 pip install langchain openai python-dotenv tiktoken 安装。笔者本人会使用 python-dotenv,因为个人习惯在一个 .env 文件中管理环境变量,不过大家可以根据自己的偏好选择如何加载 OpenAI API 密钥。

  • 准备好 OpenAI API 密钥后,必须加载 LangChain 工具。我们需要从 langchain 导入 PromptTemplate 和LLMChain,并从langchain.llms导入OpenAI。本示例中使用 OpenAI 的文本模型 text-davinci-003。

  • 随后,创建一个查询 GPT 的模板,下述模板告诉 GPT 每次只回答一个问题:

  • 创建一个字符串(string),括号内输入变量,类似于 f-strings。

import os
from dotenv import load_dotenv
import openai
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")

from langchain import PromptTemplate, LLMChain
from langchain.llms import OpenAI
davinci = OpenAI(model_name="text-davinci-003")
multi_template = """Answer the following questions one at a time.

Questions:
{questions}

Answers:
"""
  • 使用 PromptTemplate 从字符串创建模版,且指定输入变量。
  • 准备好提示模板后,可以创建 LLM 链条(chain),传入 prompt 和选择的 LLM。

然后就可以提问了!输入问题后,就可以通过 run 来运行 LLM chain 导入问题并获得答案。

llm_chain = LLMChain(
   prompt=long_prompt,
   llm=davinci
)
qs_str = (
   "Which NFL team won the Super Bowl in the 2010 season?\\\\n" +
   "If I am 6 ft 4 inches, how tall am I in centimeters?\\\\n" +
   "Who was the 12th person on the moon?" +
   "How many eyes does a blade of grass have?"
)
print(llm_chain.run(qs_str))

三、查询文档

GPT 和 LLM 的痛点之一就是它们受限于训练时所使用的数据。这些训练数据是模型能够获取到的知识,这意味着随着时间的推移,在旧数据上训练的 LLM 不仅可能无法处理上下文,其答案准确性也有待提高。将 LangChain 和向量数据库结合可以解决这个问题,例如开源的向量数据库 Milvus。

本示例将通过查询文档的例子,演示如何通过 LangChain 将最新的知识添加到 LLM 应用,并进行语义检索。在本示例中,我们使用 Zilliz Cloud 的文档[3],大家可以通过 Colab[4] 获取源码。请先运行 pip install langchain openai milvus pymilvus python-dotenv tiktoken 安装需要使用到的库。

与前面的示例一样,首先加载 OpenAI API 密钥和 LLM。然后用 Milvus Lite 启动向量数据库,这样可以直接在 notebook 中运行 Milvus。

import os
from dotenv import load_dotenv
import openai
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
from langchain.llms import OpenAI
davinci = OpenAI(model_name="text-davinci-003")
from milvus import default_server
default_server.start()

现在可以开始学习如何查询文档了。这次从 LangChain 导入了很多内容,需要 OpenAI Embeddings、文本字符拆分器、Milvus 向量数据库、加载器和问答检索链。

  • 首先,设置一个加载器并加载 urls 链接中的内容。本例中,将加载 Zilliz Cloud 介绍的文档,即加载链接 ‘https://zilliz.com/doc/about_zilliz_cloud’。
  • 其次,将文档拆分并将其存储为 LangChain 中的一组文档。
  • 接着,设置 Milvus 向量数据库。在本例中,我们为刚才通过 UnstructuredURLLoader和 CharacterTextSplitter 获取的文档数据创建了一个 Milvus 集合(collection)。同时,还使用了 OpenAI Embeddings 将文本转化为 embedding 向量。
  • 准备好向量数据库后,可以使用 RetrievalQA 通过向量数据库查询文档。使用 stuff 类型的链,并选择 OpenAI 作为 LLM,Milvus 向量数据库作为检索器。

接下来,大家就可以查询啦!通过 run 运行查询语句。当然,最后别忘了关闭向量数据库。

from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.text_splitter import CharacterTextSplitter
from langchain.vectorstores import Milvus
from langchain.document_loaders import UnstructuredURLLoader
from langchain.chains import RetrievalQA

loader = UnstructuredURLLoader(urls=['https://zilliz.com/doc/about_zilliz_cloud'])
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
embeddings = OpenAIEmbeddings()
vector_db = Milvus.from_documents(
   docs,
   embeddings,
   connection_args={"host": "127.0.0.1", "port": default_server.listen_port},
)
qa = RetrievalQA.from_chain_type(llm=OpenAI(), chain_type="stuff", retriever=vector_db.as_retriever())
query = "What is Zilliz Cloud?"
qa.run(query)
default_server.stop()

以上就是 LangChain 的安装和使用方法。


文章最后

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频,免费分享!

在这里插入图片描述

一、大模型全套的学习路线

L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署

在这里插入图片描述

达到L4级别也就意味着你具备了在大多数技术岗位上胜任的能力,想要达到顶尖水平,可能还需要更多的专业技能和实战经验。

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

三、大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

四、AI大模型商业化落地方案

在这里插入图片描述

作为普通人在大模型时代,需要不断提升自己的技术和认知水平,同时还需要具备责任感和伦理意识,为人工智能的健康发展贡献力量。

有需要全套的AI大模型学习资源的小伙伴,可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

在这里插入图片描述
如有侵权,请联系删除。

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值