亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

LangChain 介紹 |助力大模型LLM應用開發從入門到精通

標簽:
雜七雜八

概述

在探索 langchain知识库问答入门 的过程中,我们将引导您通过快速安装和环境设置,进入利用 LangChain 构建应用程序的世界。首先,您将学习如何安装 LangChain 和所需的 OpenAI 模型 API,以及如何通过环境变量管理 API 密钥。通过构建包含 LLMs(大型语言模型)和 ChatModels 的应用程序,我们可以进一步探索如 HumanMessageAIMessage 等角色在消息传递中的应用。此外,文章深入介绍了如何使用 Prompt Templates 为语言模型提供上下文,以及如何通过 Output Parsers 处理模型输出。 LLMChain 组件的组合允许创建复杂流程,如上下文提供、消息格式化和输出解析。我们将通过示例代码演示如何构建基本的翻译应用程序,这将加速您在 langchain知识库问答入门 领域的学习之旅。

快速入门 | 🦜️🔗 Langchain

安装

要安装LangChain,请运行:

pip install langchain

环境设置

使用LangChain通常需要与一个或多个模型提供者、数据存储、API等进行集成。在本示例中,我们将使用OpenAI的模型API。

首先,我们需要安装他们的Python包:

pip install openai

访问API需要一个API密钥,你可以通过创建一个帐户并前往 OpenAI帐户页面 来获取。当我们获得了一个密钥之后,我们需要通过运行以下命令将其设置为环境变量:

export OPENAI_API_KEY="你的API密钥"

如果你不想设置环境变量,你可以在初始化OpenAI LLM类时直接通过 openai_api_key 命名参数传递密钥:

from langchain.llms import OpenAI

llm = OpenAI(openai_api_key="你的API密钥")

构建应用程序

LLMs

LangChain中有两种类型的语言模型:

  • LLMs(Large Language Models):这是以字符串作为输入并返回字符串的语言模型。
  • ChatModels:这是以消息列表作为输入并返回消息的语言模型。

每个 ChatMessage 由两个部分组成:

  • content:这是消息的内容。

  • role:这是 ChatMessage 来自的实体的角色。LangChain提供了如下对象来帮助区分不同的角色:

    • HumanMessage:代表来自人类/用户的 ChatMessage
    • AIMessage:代表来自AI/助手的 ChatMessage
    • SystemMessage:代表来自系统的 ChatMessage
    • FunctionMessage:代表来自函数调用的 ChatMessage

如果这些角色都不适用,还可以使用 ChatMessage 类手动指定角色。

Prompt Templates

大多数LangChain应用程序不会直接将用户输入传递给LLM。通常,它们会将用户输入添加到一个更大的文本片段中,称为提示模板,该模板提供了有关特定任务的附加上下文。

提示模板将用户输入转化为完全格式化提示的所有逻辑绑定在一起。例如:

from langchain.prompts import PromptTemplate

prompt = PromptTemplate(template="What is a good name for a company that makes {product}?")

prompt.format(product="colorful socks")

使用提示模板的优势有:

  • 变量的灵活性:可以“部分”出变量或组合变量。
  • 模板组合:可以轻松地将不同的模板组合成一个单独的提示。
  • 生成消息列表:提示不仅可以包含有关内容的信息,还可以包含每个消息(其角色、其在列表中的位置等)。

Output Parsers

OutputParsers将LLM的原始输出转换为可以在下游使用的格式。有几种主要类型,包括:

  • 结构化信息(例如JSON):将LLM的文本转换为结构化信息。
  • 字符串转换:将ChatMessage转换为字符串。
  • 其他信息转换:将除消息之外的其他信息(如OpenAI函数调用)转换为字符串。

LLMChain

现在,我们可以将所有这些组合成一个链组件。这个链组件将接收输入变量,将其传递给提示模板以创建提示,将提示传递给LLM,然后通过一个(可选的)输出解析器将输出传递出去。

from langchain.chat_models import ChatOpenAI
from langchain.prompts import ChatPromptTemplate
from langchain.chains import LLMChain

template = "You are a helpful assistant."

chat_prompt = ChatPromptTemplate.from_template(template)

chain = LLMChain(llm=ChatOpenAI(), prompt=chat_prompt)

在构建应用程序时,可以利用这些构建块来构建更复杂的流程。例如,可以使用提示模板为LLM提供上下文,用输出解析器处理LLM的响应,并通过链将这些操作连接起来。

示例代码

以下是一个简单的示例:

from langchain.prompts import PromptTemplate
from langchain.chat_models import ChatOpenAI
from langchain.chains import LLMChain

# 创建提示模板
template = "You are a helpful assistant that translates {input_language} to {output_language}."
prompt = PromptTemplate(template=template, input_variables=["input_language", "output_language"])

# 创建链组件
chain = LLMChain(llm=ChatOpenAI(), prompt=prompt)

# 使用链
input_language = "English"
output_language = "French"
response = chain.run(input_language=input_language, output_language=output_language)
print(response)

通过以上步骤和示例,您可以开始使用Langchain构建简单的语言模型应用程序。为了构建更复杂的应用程序,可以组合不同的组件并根据需要调整配置。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
PHP開發工程師
手記
粉絲
10
獲贊與收藏
56

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消