前面课程当中,我们一起学习了用 OpenAI 接口的方式,直接调用GPT模型的方法。从这节课开始,我们就正式开始学习 LangChain 框架,用框架的思维,去管理项目。

LangChain是什么

LangChain 是一个框架,用于帮助开发者使用语言模型来构建应用程序。这个框架提供了一系列工具和组件,让你可以更简单地创建基于大型语言模型和聊天模型的应用程序。LangChain 允许你方便地管理语言模型的交互,将多个组件链接在一起,并集成额外的资源,例如 API 和数据库等。

为什么要用LangChain

1、大模型的限制,如知识不是最新、Token数量限制、无法外挂知识库等。 

2、代码风格各异,没有统一标准,多人协作开发效率低。

LangChain 框架可以帮开发者,轻松实现可扩展的标准化应用。

六大核心模块

Models(模型):LangChain 支持的各种模型类型和模型集成。

Prompts(提示词):包括提示管理、提示优化和提示序列化。

Memory(记忆):内存是在链/代理调用之间保持状态的概念。LangChain 提供了一个标准的内存接口、一组内存实现及使用内存的链/代理示例。

Indexes(检索):与您自己的文本数据结合使用时,语言模型往往更加强大,此模块涵盖了执行此操作的最佳实践。

Chains(模型链):链不仅仅是单个 LLM 调用,还包括一系列调用(无论是调用 LLM 还是不同的实用工具)。LangChain 提供了一种标准的链接口、许多与其他工具的集成。LangChain 提供了用于常见应用程序的端到端的链调用。

Agents(代理):代理涉及 LLM 做出行动决策、执行该行动、查看一个观察结果,并重复该过程直到完成。LangChain 提供了一个标准的代理接口,一系列可供选择的代理,以及端到端代理的示例。

代码示例

1、安装三方包

pip install langchain-core==0.1.3
pip install langchain==0.0.352

2、Openai方式调用(回顾)

# langchain_01_base.py
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()

# 用openai调用
client = OpenAI()

response = client.chat.completions.create(
    model="gpt-3.5-turbo-1106",
    messages=[
        {"role": "user", "content": "写一首描写秋天的诗"},
    ]
)
print(response.choices[0].message.content)

3、LangChain初体验

# Langchain方式调用
from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI(model_name='gpt-3.5-turbo-1106')
print(llm.predict('写一首描写秋天的诗'))

通过以上例子,可以明显看出,通过 LangChain 框架封装的类,去调用 OpenAI 模型,比原生方法方便很多。这只是初体验环节,后面还会学到 LangChain 更多强大的功能。

本文链接:http://www.ichenhua.cn/edu/note/689

版权声明:本文为「陈华编程」原创课程讲义,请给与知识创作者起码的尊重,未经许可不得传播或转售!