AI创想

标题: 001_Langchain [打印本页]

作者: 渊影若凡虹    时间: 昨天 23:04
标题: 001_Langchain
作者:͝͝͝͝Bank
LangChain

LangChain 是一个开源框架,旨在帮助开发者使用大型语言模型(LLMs)和聊天模型构建端到端的应用程序。它提供了一套工具、组件和接口,以简化创建由这些模型支持的应用程序的过程。LangChain 的核心概念包括组件(Components)、链(Chains)、模型输入/输出(Model I/O)、数据连接(Data Connection)、内存(Memory)和代理(Agents)等。

(, 下载次数: 0)


以下是LangChain的一些关键特性和组件的详细解释:
LangChain 的使用场景包括但不限于文档分析和摘要、聊天机器人、代码分析、工作流自动化、自定义搜索等。它允许开发者将语言模型与外部计算和数据源相结合,从而创建出能够理解和生成自然语言的应用程序。
要开始使用LangChain,开发者需要导入必要的组件和工具,组合这些组件来创建一个可以理解、处理和响应用户输入的应用程序。LangChain 提供了多种组件,例如个人助理、文档问答、聊天机器人、查询表格数据、与API交互等,以支持特定的用例。
LangChain 的官方文档提供了详细的指南和教程,帮助开发者了解如何设置和使用这个框架。开发者可以通过这些资源来学习如何构建和部署基于LangChain的应用程序。
LangChain可以构建哪些应用

(, 下载次数: 0)


LangChain 作为一个强大的框架,旨在帮助开发者利用大型语言模型(LLMs)构建各种端到端的应用程序。以下是一些可以使用 LangChain 开发的应用类型:
LangChain 的灵活性和模块化设计使得开发者可以根据特定需求定制和扩展应用程序。通过将语言模型与外部数据源和APIs结合,LangChain 能够支持广泛的应用场景,从而创造出更加智能和用户友好的软件解决方案。
pip install openai

pip install langchain-openai

from langchain_openai import ChatOpenAI
import os
OPENAI_API_KEY= os.getenv(‘OPEN_API_KEY’)
llm = ChatOpenAI(openai_api_key=OPENAI_API_KEY)
llm.invoke(“中国的首都是哪里?不需要介绍”)
基本示例:提示+模型+输出解析器

最基本和常见的用例是将提示模板和模型链接在一起。为了看看这是如何工作的,让我们创建一个接受主题并生成小红书短文的链:
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
prompt = ChatPromptTemplate.from_template(“请根据下面的主题写一篇小红书营销的短文: {topic}”)
model = ChatOpenAI(model=“gpt-3.5-turbo-1106”,openai_api_key=OPENAI_API_KEY)
output_parser = StrOutputParser()
chain = prompt | model | output_parser
chain.invoke({“topic”: “康师傅绿茶”})
Prompt 提示

prompt 是一个 BasePromptTemplate ,这意味着它接受模板变量的字典并生成一个 PromptValue 。 PromptValue 是一个完整提示的包装器,可以传递给 LLM (它接受一个字符串作为输入)或 ChatModel (它接受一个序列作为输入的消息)。它可以与任何一种语言模型类型一起使用,因为它定义了生成 BaseMessage 和生成字符串的逻辑。
prompt = ChatPromptTemplate.from_template(“请根据下面的主题写一篇小红书营销的短文: {topic}”)
prompt_value = prompt.invoke({“topic”: “康师傅绿茶”})
prompt_value
Model 模型

然后 PromptValue 被传递给 model 。在本例中,我们的 model 是 ChatModel ,这意味着它将输出 BaseMessage
message = model.invoke(prompt_value)
message
Output parser 输出解析器

将 model 输出传递给 output_parser ,这是一个 BaseOutputParser ,意味着它接受字符串或 BaseMessage 作为输入。 StrOutputParser 特别简单地将任何输入转换为字符串。
(, 下载次数: 0)


output_parser.invoke(message)
流式输出

如果我们想流式传输结果,我们需要更改我们的函数
for chunk in chain.stream({“topic”: “康师傅绿茶”}):
print(chunk, end=“”, flush=True)

原文地址:https://blog.csdn.net/Bankofli/article/details/138413380




欢迎光临 AI创想 (https://www.llms-ai.com/) Powered by Discuz! X3.4