支持私有云部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Langchain v0.3 开发起步

发布日期:2025-03-30 21:30:33 浏览次数: 1617 作者:GevinView
推荐语

探索AI开发的新利器,Langchain v0.3助你轻松驾驭智能应用开发。

核心内容:
1. Langchain v0.3在AI领域的应用价值
2. 安装Langchain v0.3前的Python环境准备
3. 使用pip安装Langchain v0.3的详细步骤

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家


一、引言

在这个人工智能飞速发展的时代,你是否幻想过拥有一个智能助手,能瞬间帮你从海量文档中提取关键信息,或者根据你的想法创作出精彩绝伦的故事?又或者,在智能客服领域,让机器人能够精准理解客户需求,提供高效解决方案。其实,这些神奇的功能都离不开 Langchain 这个强大的工具。

Langchain v0.3 作为大模型领域的关键工具链,正以其独特的魅力在 AI 开发中占据着举足轻重的地位。它就像是 AI 世界里的 “瑞士军刀”,为开发者提供了一系列强大的功能和工具,极大地简化了开发流程,拓展了应用边界 。无论是构建智能聊天机器人、智能文档分析系统,还是开发智能写作辅助工具,Langchain v0.3 都能大显身手。

接下来,让我们一起深入探索 Langchain v0.3,从安装到入门,再到了解其丰富的生态,揭开它神秘的面纱,开启一场激动人心的 AI 开发之旅 。

二、Langchain v0.3 安装指南

(一)安装前准备

在安装 Langchain v0.3 之前,我们需要确保 Python 环境满足要求。Langchain v0.3 对 Python 版本有一定的要求,建议使用 Python 3.8 及以上版本 。如果你还没有安装 Python,可以前往 Python 官方网站(https://www.python.org/downloads/ )下载对应系统的安装包进行安装。安装过程中,记得勾选 “Add Python to PATH” 选项,这样可以方便在命令行中直接使用 Python 命令。

为了避免不同项目之间的依赖冲突,强烈建议提前准备好虚拟环境。虚拟环境就像是一个独立的小空间,在这个空间里安装的各种库和依赖都不会影响到其他项目。在 Windows 系统下,我们可以使用virtualenv来创建虚拟环境。首先,通过 pip 安装virtualenv

pip install virtualenv

安装完成后,在你想要创建虚拟环境的目录下,执行以下命令创建一个名为langchain_env的虚拟环境:

virtualenv langchain\_env

创建好虚拟环境后,在 Windows 下进入虚拟环境的 Scripts 目录,执行activate命令来激活虚拟环境:

langchain_env\Scripts\activate

在 MacOS 和 Linux 系统下,创建虚拟环境的命令类似,激活虚拟环境的命令则是:

source langchain_env/bin/activate

激活虚拟环境后,命令行的前缀会显示当前虚拟环境的名称,这就表示你已经成功进入虚拟环境啦。在这个虚拟环境中进行 Langchain v0.3 的安装,能让你的开发过程更加稳定和独立 。

(二)使用 pip 安装 Langchain v0.3

当我们完成安装前的准备工作后,就可以开始安装 Langchain v0.3 了。在已经激活的虚拟环境中,使用 pip 安装 Langchain v0.3 非常简单,只需要在命令行中输入以下命令:

pip install langchain==0.3

这个命令会自动从 Python 软件包索引(PyPI)下载并安装 Langchain v0.3 及其依赖项。不过,在安装过程中,可能会出现依赖冲突的问题。比如,某些依赖库的版本可能与 Langchain v0.3 不兼容。如果遇到这种情况,可以尝试使用虚拟环境来隔离不同项目的依赖,或者通过升级或降级依赖库来解决冲突。例如,如果提示某个依赖库版本过低,可以使用以下命令进行升级:

pip install --upgrade 依赖库名称

相反,如果某个依赖库版本过高导致冲突,可以尝试降级:

pip install 依赖库名称==指定版本号

在解决依赖冲突的过程中,耐心和细心是非常重要的,要仔细查看错误提示信息,根据提示来调整依赖库的版本 。

(三)验证安装

安装完成后,我们需要验证 Langchain v0.3 是否成功安装。首先,在 Python 代码中验证。打开你喜欢的代码编辑器,创建一个新的 Python 文件,例如test_langchain.py,在文件中输入以下代码:

import langchain
print(langchain.__version__)

保存文件并运行,如果能够正确输出版本号 “0.3”,则说明 Langchain v0.3 已经成功安装在你的 Python 环境中。

除了在 Python 代码中验证,我们还可以在命令行中验证。在激活的虚拟环境中,直接输入以下命令:

langchain --version

如果安装成功,同样会显示出版本号 “0.3” 。通过这两种方式的验证,我们就能确保 Langchain v0.3 已经正确安装,为后续的学习和使用做好准备。

三、Langchain v0.3 入门教程

(一)核心概念解读

Langchain 是一个用于开发由大型语言模型支持的应用程序的框架 ,它就像是一个 “超级工具箱”,里面装满了各种工具和组件,帮助开发者更轻松地利用大语言模型的强大能力。

在 Langchain 中,有几个核心组件至关重要。首先是语言模型(LLMs),它是整个框架的核心大脑,负责理解输入的文本,并生成相应的输出。就好比一个知识渊博的学者,能对各种问题给出专业的回答 。

提示模板(Prompt Templates)也十分关键,它的作用是将用户输入转化为大语言模型期待的消息列表。可以把它想象成一个精致的模具,将原始的用户需求,通过精心设计的模板,塑造成模型能够理解和处理的形式,从而引导模型生成更符合我们期望的结果 。

链(Chains)则允许将多个组件组合在一起,形成一个连贯的操作流程,完成更复杂的任务。比如,在处理文档时,可能需要先读取文档内容,然后进行文本摘要,最后根据摘要回答用户问题,这一系列操作就可以通过链来实现,它就像一条生产线,将各个环节紧密连接起来 。

工具(Tools)的存在让 Langchain 如虎添翼,它允许语言模型与外部资源结合,比如数据库、API 调用或自定义计算逻辑。这使得模型不再局限于自身的知识储备,能够获取更多实时的、外部的信息,大大扩展了模型的实际应用能力 。

这些核心组件相互协作,共同构成了 Langchain 强大的功能体系,为开发者打开了通往无限可能的 AI 应用开发大门。

(二)第一个 Langchain 应用:文本翻译

接下来,我们通过一个简单的文本翻译应用,来感受 Langchain 的魅力。假设我们要调用大模型将英文文本翻译成中文,具体代码示例如下:

import os
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

# 设置OpenAI API密钥
os.environ["OPENAI_API_KEY"] = "你的OpenAI API密钥"

# 创建模型实例
model = ChatOpenAI(model="gpt-3.5-turbo")

# 创建提示模板
system_template = "Translate the following English text to Chinese: {text}"
prompt_template = ChatPromptTemplate.from_messages([
    ("system", system_template),
    ("user""{text}")
])

# 使用StrOutputParser解析模型返回的消息
parser = StrOutputParser()

# 通过管道操作符|将PromptTemplate、模型和OutputParser链接在一起
chain = prompt_template | model | parser

# 调用链进行文本翻译
result = chain.invoke({"text""Hello, world!"})
print(result) 

在这段代码中,首先我们设置了 OpenAI API 密钥,这是访问 OpenAI 模型的通行证。然后创建了 ChatOpenAI 模型实例,它将负责执行文本翻译的任务。接着,我们定义了提示模板prompt_template,其中system_template明确告诉模型要将输入的英文文本翻译成中文,user部分则是我们待翻译的文本。StrOutputParser用于解析模型返回的结果,将其转换为我们易于理解的字符串形式。最后,通过管道操作符|将提示模板、模型和输出解析器链接在一起,形成一个完整的处理链chain。当我们调用chain.invoke({"text": "Hello, world!"})时,就会依次执行提示模板的格式化、模型的翻译以及结果的解析,最终输出翻译后的中文结果 “你好,世界!” 。通过这个简单的例子,我们可以看到 Langchain 如何将复杂的大模型调用过程简化为几行代码,让开发者能够快速实现强大的 AI 功能 。

(三)深入理解提示模板(Prompt Template)

提示模板在 Langchain 中起着举足轻重的作用,它是连接用户输入和大语言模型的桥梁,将用户的原始需求转化为模型能够理解和处理的消息格式。简单来说,它就像是一个精心设计的调查问卷,我们把问题(用户输入)按照问卷的格式(提示模板)填写好,然后交给大语言模型这个 “答题高手” 来回答 。

以文本翻译为例,我们之前创建的提示模板:

system_template = "Translate the following English text to Chinese: {text}"
prompt_template = ChatPromptTemplate.from_messages([
    ("system", system_template),
    ("user""{text}")
])

这里的system_template设定了任务的规则和要求,即把英文文本翻译成中文,{text}是一个占位符,它会在实际使用时被用户输入的具体文本所替换。ChatPromptTemplate.from_messages方法用于创建一个聊天提示模板,其中("system", system_template)表示系统消息,告诉模型任务的性质,("user", "{text}")表示用户消息,也就是待翻译的文本 。

当我们使用这个提示模板时,比如:

prompt = prompt_template.invoke({"text": "How are you?"})

invoke方法会根据传入的参数{"text": "How are you?"},将{text}替换为How are you?,生成一个完整的消息列表,这个消息列表就是大语言模型能够理解的输入。通过这种方式,提示模板不仅简化了与模型的交互过程,还能有效地引导模型生成符合我们期望的结果。而且,提示模板具有很高的可复用性,我们可以在不同的翻译任务中使用相同的模板,只需要改变传入的文本参数即可,大大提高了开发效率 。

(四)模型结果获取方式

在使用 Langchain 与大语言模型交互时,我们有多种方式获取模型的结果,主要包括调用(invoke)、流式(stream)和批处理(batch)三种方式,它们各有特点,适用于不同的场景 。

调用(invoke):这是最基础的获取结果方式。大语言模型在接收到请求后,会等结果全部生成之后统一返回。就像我们在餐厅点餐,服务员会在所有菜品都准备好后,一次性把菜端上桌 。

示例代码如下:

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.messages import HumanMessage, SystemMessage

# 创建模型实例
model = ChatOpenAI(model="gpt-3.5-turbo")

# 创建提示模板
prompt_template = ChatPromptTemplate.from_messages([
    SystemMessage(content="你是一个智能助手,能回答各种问题"),
    ("human""{question}")
])

# 生成提示
prompt = prompt_template.invoke({"question""中国的首都是哪里?"})

# 调用模型获取结果
result = model.invoke(prompt)
print(result.content)

在这个例子中,model.invoke(prompt)会等待模型生成完整的回答后,将结果返回并打印。这种方式适用于对响应时间要求不高,但需要完整结果的场景,比如生成一篇完整的文章总结 。

流式(stream):流式是一种允许大语言模型边生成边输出的获取结果方式。无需等待全部结果处理完成即可收到部分处理结果,就像看在线直播,主播一边直播,观众一边就能看到实时画面 。

示例代码如下:

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.messages import HumanMessage, SystemMessage

# 创建模型实例
model = ChatOpenAI(model="gpt-3.5-turbo")

# 创建提示模板
prompt_template = ChatPromptTemplate.from_messages([
    SystemMessage(content="你是一个智能助手,能回答各种问题"),
    ("human""{question}")
])

# 生成提示
prompt = prompt_template.invoke({"question""请介绍一下人工智能的发展历程"})

# 流式获取模型结果
for token in model.stream(prompt):
    print(token.content, end="")

在这段代码中,model.stream(prompt)会逐块返回模型生成的结果,我们通过循环不断打印这些结果,实现了实时输出。流式方式适用于需要快速展示部分结果,提升用户体验的场景,比如实时聊天机器人,用户可以在模型生成回答的过程中就开始阅读已经生成的内容 。

批处理(batch):批处理是一种允许将多个请求批量发送到大语言模型以实现更高效处理的方法。就像一次提交多个作业给老师批改,老师可以一次性处理多个作业,提高效率 。

示例代码如下:

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.messages import HumanMessage, SystemMessage

# 创建模型实例
model = ChatOpenAI(model="gpt-3.5-turbo")

# 创建提示模板
prompt_template = ChatPromptTemplate.from_messages([
    SystemMessage(content="你是一个智能助手,能回答各种问题"),
    ("human""{question}")
])

# 生成多个提示
prompts = [
    prompt_template.invoke({"question""苹果是什么颜色的?"}),
    prompt_template.invoke({"question""一年有几个季节?"}),
    prompt_template.invoke({"question""太阳从哪里升起?"})
]

# 批量获取模型结果
results = model.batch(prompts)

# 处理并输出结果
for question, answer inzip(prompts, results):
    print(f"Question: {question.content}\\nAnswer: {answer.content}\\n")

在这个示例中,我们创建了多个提示,并通过model.batch(prompts)将这些提示批量发送给模型,模型会一次性处理这些请求并返回结果。批处理方式适用于需要处理大量相似请求的场景,能够显著提高处理效率,减少总的响应时间 。

四、Langchain v0.3 新特性探秘

(一)Pydantic 版本升级

在 Langchain v0.3 中,一个显著的变化是 Pydantic 版本从 1 升级到了 2。Pydantic 是一个用于数据验证和设置管理的强大 Python 库,它在 Langchain 中起着关键作用 。

Pydantic 2 带来了诸多改进。在性能方面,它有了显著提升,数据验证的速度更快,这对于处理大量数据的应用来说,能够有效提高运行效率。在功能特性上,它引入了一些新的语法和功能,比如更加灵活的数据模型定义方式,能让开发者更方便地定义和管理数据结构 。

对于用户代码而言,这一升级带来了一些影响。在之前的版本中,由于 Langchain 内部使用 Pydantic 1,当用户想要使用 Pydantic 2 的新功能时,可能需要使用桥接程序来实现兼容。而在 Langchain v0.3 中,随着对 Pydantic 2 的原生支持,不再需要这些复杂的桥接程序,用户可以直接使用 Pydantic 2 的全部功能,代码结构也因此变得更加简洁和直观 。例如,在定义数据模型时,Pydantic 2 允许使用更简洁的语法,用户可以更方便地对数据进行验证和处理,这使得基于 Langchain 开发的应用在数据处理方面更加高效和灵活 。

(二)Python 版本支持变更

在 Langchain v0.3 中,Python 版本的支持情况发生了一些变化。从这个版本开始,Python 3.8 不再被支持 。这主要是因为 Python 3.8 已经停止安全更新,继续使用它可能会带来安全风险,同时也无法享受到最新 Python 版本的性能优化和新特性 。

对于还在使用 Python 3.8 的用户,强烈建议升级到更高版本的 Python。目前,Python 的最新版本不断引入新的特性和优化,例如 Python 3.11 相较于 3.10 版本在性能上有显著提升,速度提升可达 10% 到 60%,这对于 IO 密集型和计算密集型程序尤其重要 。新的 Python 版本在类型注解、语法简化、错误信息改进等方面也有很大的进步。类型注解的改进使得代码更易于阅读和维护,新版本引入了一些新语法,比如更简单的联合类型及参数化类型;语法简化方面,原生支持 “f” 字符串,使字符串格式化更加简单;错误信息改进让开发者在调试程序时能更快地定位问题 。升级 Python 版本能够为使用 Langchain v0.3 开发应用提供更好的基础环境,充分发挥其强大的功能 。

(三)工具使用简化

Langchain v0.3 在工具使用方面进行了优化,使得工具的使用更加简单便捷。我们通过一个具体的示例来对比 v0.2 版本和 v0.3 版本中工具使用的差异。

假设我们要使用一个工具来计算两个数的和,在 v0.2 版本中,可能需要编写如下较为复杂的代码:

from langchain.agents import load_tools, initialize_agent
from langchain.llms import OpenAI

# 创建语言模型实例
llm = OpenAI(temperature=0)

# 加载工具
tools = load_tools(["python_repl"], llm=llm)

# 初始化智能体
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)

# 运行智能体进行计算
result = agent.run("计算3和5的和")

在这段代码中,我们需要先创建语言模型实例,然后加载工具,再初始化智能体,最后通过智能体来运行任务,步骤相对繁琐 。

而在 v0.3 版本中,代码得到了显著简化:

from langchain_core.tools import tool
from langchain_openai import ChatOpenAI

@tool
def add_numbers(a: int, b: int) -> int:
    """计算两个整数的和"""
    return a + b

model = ChatOpenAI(model="gpt-3.5-turbo")

# 直接调用工具
result = model.invoke(add_numbers(35))

在 v0.3 版本中,我们可以直接使用@tool装饰器将一个普通函数定义为工具,然后通过模型直接调用这个工具,代码简洁明了,大大降低了工具使用的复杂度 。通过这个对比示例,我们可以清楚地看到 v0.3 版本在工具使用上的简洁性和易用性,这使得开发者能够更高效地利用工具来完成各种任务 。

五、Langchain v0.3 生态系统

(一)LangGraph:可视化工作流构建

LangGraph 是为视觉化构建语言模型流程设计的新型框架,就像是一个专业的项目规划师,特别适合喜欢通过图形界面来管理复杂工作流的开发者 。在处理多步骤协同工作的大规模应用时,它的优势尤为明显。

从功能上看,LangGraph 最大的亮点在于能够以直观的图形化形式展示数据流动。在构建一个智能文档处理系统时,我们可能需要先使用语言模型对文档进行内容提取,然后将提取的信息传递给摘要器生成摘要,最后根据用户需求进行信息检索和展示。在这个过程中,LangGraph 可以将各个环节以图形节点和边的形式清晰地展示出来,让我们一目了然地看到数据从输入到输出的整个流程,大大简化了复杂工作流程的设计 。

在调试方面,LangGraph 的图形界面就像是一个精密的故障检测仪,能够快速帮助我们发现工作流中的瓶颈和问题。假设在上述文档处理系统中,某个环节出现了数据处理缓慢或者错误的情况,我们可以通过 LangGraph 的图形展示,迅速定位到出现问题的节点,比如是摘要生成环节的算法出现问题,还是信息检索部分的参数设置不合理,从而有针对性地进行调试和优化 。

通过一个实际案例,能更清楚地了解 LangGraph 的强大之处。在开发一个智能客服系统时,我们需要实现用户问题的分类、相关知识的检索以及回答的生成等多个步骤。使用 LangGraph,我们可以将这些步骤分别定义为不同的节点,然后通过边来表示它们之间的关系和执行顺序。例如,当用户输入问题后,首先进入问题分类节点,根据问题的类型和关键词,选择合适的知识检索节点进行相关信息的查找,最后将检索到的信息传递给回答生成节点,生成回复用户的内容。在这个过程中,如果发现某个用户问题的处理出现异常,我们可以直接在 LangGraph 的图形界面中查看该问题的处理路径,快速找到问题所在并进行修复 。

(二)LangFlow:无代码 / 低代码扩展

LangFlow 是 LangChain 的无代码 / 低代码扩展,它就像是一把神奇的钥匙,为不熟悉编码的用户打开了利用语言模型的大门 。它将 LangChain 强大的后端与直观的拖放界面完美结合,让用户能够轻松创建和管理语言模型工作流。

对于那些没有深厚编程基础的用户来说,LangFlow 的出现无疑是一个福音。它的可视化工作流创建功能,使得用户无需编写大量代码,只需通过简单的拖放操作,就可以像搭建积木一样构建出自己的应用程序。如果我们想要创建一个文本摘要工具,只需要在 LangFlow 的界面中,从左侧的组件区拖动 “文本输入” 组件到工作台作为输入,再拖动 “摘要生成” 组件作为处理核心,最后拖动 “文本输出” 组件作为输出,然后将这些组件按照逻辑关系连接起来,一个简单的文本摘要工具就创建完成了,整个过程就像在玩拼图游戏一样轻松 。

除了操作简单,LangFlow 在快速原型设计方面也表现出色。在进行新产品的概念验证时,我们可以利用 LangFlow 快速搭建出一个应用原型,通过简单的配置和调整,就能对产品的功能和效果进行初步的测试和验证。如果我们想要开发一款智能写作辅助工具,通过 LangFlow,我们可以在短时间内将各种语言模型组件、提示模板组件等组合在一起,形成一个简单的原型,快速展示给团队成员或者潜在用户,收集反馈意见,为后续的开发提供方向 。

(三)LangSmith:监控与调试 LLM 应用

LangSmith 专注于监控和调试语言模型应用,它就像是一个专业的医生,时刻关注着语言模型应用的健康状况 。在生产环境中,确保应用性能的稳定和高效至关重要,而 LangSmith 正是解决这些问题的得力助手。

在监控性能方面,LangSmith 能够实时跟踪工作流的执行情况,确保每个步骤都按预期执行。在一个智能聊天机器人应用中,LangSmith 可以监控机器人对用户问题的响应时间、回答的准确性等指标。如果发现某个时间段内,机器人的响应时间突然变长,或者回答的准确率下降,LangSmith 会及时发出警报,提醒开发者进行检查和优化 。

当出现问题时,LangSmith 强大的错误追踪功能就会发挥作用。它就像一个经验丰富的侦探,能够帮助我们快速定位问题的根源,简化调试过程。假设聊天机器人在回答某个问题时出现错误,LangSmith 可以详细记录机器人在处理这个问题时的所有步骤和参数,包括输入的问题、调用的模型、生成的中间结果等。通过分析这些信息,我们可以很容易地找出是哪个环节出现了问题,是模型的参数设置不合理,还是提示模板的设计有缺陷,从而有针对性地进行修复 。

通过一个部署聊天机器人的案例,能更好地理解 LangSmith 的价值。在将聊天机器人部署到线上环境后,我们使用 LangSmith 对其进行监控。有一天,我们发现部分用户反馈机器人的回答不太准确。通过 LangSmith 的监控数据,我们发现这些问题主要集中在某一类特定的问题上。进一步查看 LangSmith 记录的详细信息,发现是在处理这类问题时,调用的知识检索工具返回的结果不准确,导致机器人基于错误的信息生成了错误的回答。找到问题后,我们及时调整了知识检索工具的参数和算法,解决了机器人回答不准确的问题,提升了用户体验 。

六、实战案例:基于 Langchain v0.3 构建智能聊天机器人

(一)需求分析

在构建智能聊天机器人之前,明确功能需求至关重要。我们期望这个聊天机器人具备多方面的能力,以提供优质的交互体验。首先,它要能够准确理解用户问题,无论是简单的日常问候,还是复杂的专业知识询问,都能把握问题的核心 。例如,当用户询问 “最近有什么好看的科幻电影?”,聊天机器人需要理解这是一个关于电影推荐的问题,而不是对科幻电影概念的探讨 。

其次,检索信息的能力不可或缺。聊天机器人需要能够从大量的文本数据中快速找到与用户问题相关的信息,这些数据可以来自互联网、本地文档库或者数据库等。在回答关于科技发展趋势的问题时,它可能需要检索最新的科技资讯网站,获取相关的新闻报道和专家分析 。

最后,生成响应的能力是关键。根据理解的用户问题和检索到的信息,聊天机器人要生成自然、准确且有针对性的回答。如果用户询问数学问题,如 “2 + 3 等于多少?”,聊天机器人应直接给出正确答案 “5”;如果是开放性问题,如 “如何提高学习效率?”,则需要综合多方面的知识和经验,给出有条理的建议 。这些功能需求为后续的开发工作提供了清晰的方向,确保我们构建的聊天机器人能够满足用户的实际需求 。

(二)开发步骤

创建模型实例:我们选择使用 OpenAI 的 GPT-3.5-Turbo 模型,它在自然语言处理方面表现出色,能够生成高质量的回答 。在 Python 中,通过 Langchain 与 OpenAI 进行集成,创建模型实例的代码如下:

import os
from langchain_openai import ChatOpenAI

# 设置OpenAI API密钥
os.environ["OPENAI_API_KEY"] = "你的OpenAI API密钥"

# 创建模型实例
model = ChatOpenAI(model="gpt-3.5-turbo")

定义提示模板:提示模板用于引导模型生成符合我们期望的回答。在这里,我们定义一个简单的提示模板,将用户输入直接传递给模型 :

from langchain_core.prompts import ChatPromptTemplate

# 创建提示模板
prompt_template = ChatPromptTemplate.from_messages([
    ("user""{input}")
])

实现聊天逻辑:利用 Langchain 的链(Chain)功能,将提示模板和模型连接起来,实现聊天逻辑。同时,使用while循环来实现持续的对话交互 :

from langchain_core.runnables import RunnablePassthrough

# 将提示模板和模型连接成链
chain = prompt_template | model

while True:
    user_input = input("你: ")
    if user_input.lower() == "exit":
        break
    response = chain.invoke({"input": user_input})
    print("聊天机器人:", response.content) 

在上述代码中,RunnablePassthrough用于将输入直接传递给下一个环节,这里就是将提示模板生成的消息传递给模型。while循环不断接收用户输入,当用户输入 “exit” 时,退出循环,结束对话。通过这些步骤,我们利用 Langchain v0.3 的特性和生态工具,成功实现了一个简单的智能聊天机器人 。

(三)效果展示与优化建议

运行上述代码,启动聊天机器人后,我们可以与它进行实际的对话交互。当我们输入 “你好”,聊天机器人可能会回复 “你好!有什么我可以帮忙的吗?”;输入 “介绍一下人工智能”,它会详细地介绍人工智能的定义、发展历程、应用领域等相关信息 。

然而,为了进一步提升聊天机器人的性能,我们可以采取一些优化建议。在模型参数方面,可以尝试调整温度(temperature)参数。温度参数控制着模型输出的随机性,取值范围通常在 0 到 1 之间 。较低的温度值(如 0.2)会使模型生成的回答更加保守和确定性,适合需要准确答案的场景,比如回答科学知识类问题;较高的温度值(如 0.8)会使回答更加随机和富有创意,适合需要开放性回答的场景,比如创作故事或诗歌 。

优化提示模板也是提升性能的重要手段。我们可以在提示模板中添加更多的系统信息,引导模型生成更符合预期的回答 。在询问关于历史事件的问题时,可以在提示模板中加入 “请按照时间顺序,详细地介绍该历史事件” 这样的指令,让模型生成更有条理的回答 。通过这些优化措施,能够使聊天机器人的表现更加出色,为用户提供更好的交互体验 。

七、总结与展望

通过本文,我们全面探索了 Langchain v0.3 的世界。从安装开始,我们一步步搭建起 Langchain 的开发环境,为后续的学习和实践奠定了基础 。在入门教程中,深入理解了 Langchain 的核心概念,如语言模型、提示模板、链和工具等,并通过第一个应用 —— 文本翻译,以及对提示模板的深入剖析和模型结果获取方式的学习,掌握了 Langchain 的基本使用方法 。

接着,我们探秘了 Langchain v0.3 的新特性,包括 Pydantic 版本升级带来的性能提升和功能增强、Python 版本支持变更的原因和影响,以及工具使用的简化,这些新特性使得 Langchain v0.3 在开发过程中更加高效和便捷 。

在了解 Langchain v0.3 的生态系统时,认识到 LangGraph、LangFlow 和 LangSmith 在可视化工作流构建、无代码 / 低代码扩展以及监控与调试 LLM 应用方面的强大功能,它们极大地拓展了 Langchain 的应用场景和开发方式 。

最后,通过基于 Langchain v0.3 构建智能聊天机器人的实战案例,从需求分析到开发步骤,再到效果展示与优化建议,完整地体验了如何利用 Langchain 开发一个实际的 AI 应用 。

Langchain v0.3 在 AI 开发中具有不可忽视的重要性,它为开发者提供了强大的工具和框架,让我们能够更轻松地构建出各种智能应用。随着技术的不断发展,相信 Langchain 还会带来更多令人惊喜的功能和应用场景 。

如果你对 AI 开发充满热情,不妨尝试使用 Langchain v0.3,开启你的 AI 应用开发之旅,在这个充满无限可能的领域中,创造出属于自己的精彩应用 。

 

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询