Parlant 是一个开源的AI智能体框架,旨在解决当前大型语言模型(LLM)在实际应用中面临的核心挑战:不可预测性和缺乏可控性。 开发者在构建AI智能体时,常常会遇到模型忽略系统提示、产生幻觉性回答或无法处理边界情况等问题。 Parlant通过一种创新的方法来应对这些挑战,它不再仅仅依赖于复杂的提示工程,而是让开发者能够定义明确的“行为准则”(Behavioral Guidelines)。 这些准则以自然语言形式编写,能够确保智能体在特定情境下精确地按照业务逻辑和预设规则行动。 该框架通过实时自我批判和上下文匹配机制,动态应用相关准则,从而保证了智能体行为的一致性和可靠性,特别适用于需要高稳定性的客户服务、金融、医疗等领域。 Parlant支持集成外部API和工具,并提供了完整的可解释性,让开发者能清晰地了解智能体每一决策背后的原因。
Funktionsliste
- 行为准则 (Behavioral Guidelines): 允许开发者使用自然语言定义智能体在特定条件下必须遵守的规则,确保业务逻辑的精确执行。
- 对话流程 (Journeys): 可以定义清晰的用户对话路径,引导智能体在多轮对话中一步步实现目标。
- 可靠的工具集成 (Reliable Tool Integration): 支持将外部API、数据库或后端服务稳定地接入到智能体的特定交互事件中。
- 领域术语适应 (Domain Adaptation): 能够让智能体学习并使用特定行业的术语,提供更加个性化和专业的回复。
- 预设回复模板 (Canned Responses): 通过使用预设的回复模板,可以有效消除模型产生幻觉的风险,并保证回复风格的一致性。
- 完整的可解释性 (Full Explainability): 提供对智能体决策过程的深入洞察,解释每一条准则在何时以及为何被匹配和遵循。
- 内置护栏 (Built-in Guardrails): 具备防止智能体产生幻觉和偏离主题的内置机制,并能通过内容审核来处理不当用户输入。
- React小组件: 提供一个可以轻松嵌入到任何网页应用中的即插即用聊天用户界面。
Hilfe verwenden
Parlant旨在提供一个从开发到部署都简单快捷的体验,让开发者可以在几分钟内就搭建并运行一个行为可控的AI智能体。
Montage
Parlant可以通过Python的包管理器pip轻松安装。打开你的终端或命令行工具,输入以下命令即可:
pip install parlant
这个命令会自动下载并安装Parlant框架及其所有必要的依赖项。
快速上手:创建一个天气查询智能体
下面是一个简单的示例,演示如何在60秒内创建一个能查询天气的智能体。
1. 导入SDK并定义工具
首先,你需要导入parlant.sdk
。然后,使用@p.tool
装饰器来定义智能体可以使用的工具。工具本质上是普通的异步Python函数,可以执行任何你需要的功能,比如调用一个API。
import parlant.sdk as p
from datetime import datetime
# 定义一个获取天气的工具
# 它接收一个城市名称作为参数
@p.tool
async def get_weather(context: p.ToolContext, city: str) -> p.ToolResult:
# 在这里编写你自己的天气API调用逻辑
# 为简化示例,我们直接返回一个固定的结果
return p.ToolResult(f"Sunny, 72°F in {city}")
# 定义一个获取当前日期和时间的工具
@p.tool
async def get_datetime(context: p.ToolContext) -> p.ToolResult:
return p.ToolResult(datetime.now())
2 Intelligenzen erstellen und konfigurieren
接下来,你需要编写一个main
异步函数来启动服务、创建智能体并为其配置行为。
async def main():
# 启动Parlant服务器
async with p.Server() as server:
# 创建一个名为"WeatherBot"的智能体
agent = await server.create_agent(
name="WeatherBot",
description="一个乐于助人的天气助手"
)
# 创建一个上下文变量,让智能体在每次回复时都能获取最新时间
# 'get_datetime'工具会被自动调用
await agent.create_variable(name="current-datetime", tool=get_datetime)
# 使用自然语言创建一条行为准则
# 这是Parlant的核心功能,用于确保智能体的行为
await agent.create_guideline(
condition="当用户询问天气时",
action="调用天气工具获取当前天气,并用友好的语气回复,同时给出一些建议",
tools=[get_weather] # 将之前定义的工具绑定到这条准则
)
# 你可以在这里添加更多、更复杂的行为准则...
# 启动成功后,可以在 http://localhost:8800 访问测试界面
print("🎉 智能体测试界面已就绪,请访问 http://localhost:8800")
if __name__ == "__main__":
import asyncio
asyncio.run(main())```
**3. 运行并测试**
将以上代码保存为一个Python文件(例如 `weather_bot.py`),然后在终端中运行它:
```shell
python weather_bot.py
程序运行后,你会在终端看到一条消息,提示测试界面已在 http://localhost:8800
上准备就绪。打开浏览器访问这个地址,你就可以与你刚刚创建的“WeatherBot”进行实时交互了。
当你问“纽约现在天气怎么样?”时,Parlant
框架会识别出这个意图符合你设定的condition
,然后自动执行绑定的action
im Gesang antwortentools
,即调用get_weather
函数,并根据action
中的描述生成友好的回复。
核心概念:行为准则 (Guidelines)
行为准则是Parlant最强大的功能。 它解决了传统方法中智能体可能忽略冗长系统提示的问题。 你不再需要祈祷LLM能理解你的意图,而是可以直接规定它的行为。
一个准则由几个部分组成:
condition
: 触发该准则的条件,用自然语言描述。例如:“用户情绪激动并要求退款”。action
: 满足条件时智能体应执行的动作,同样用自然语言描述。例如:“首先安抚用户情绪,然后调用订单查询工具确认退款资格”。tools
: 绑定到该准则的一个或多个工具。当准则被激活时,这些工具将被调用。
Parlant的引擎会实时分析对话上下文,并动态匹配最合适的准则组合来指导LLM生成回复。这种方式极大地提升了智能体行为的可预测性和可靠性。
Anwendungsszenario
- Kundenbetreuung
在客户服务领域,企业可以定义严格的对话流程和问题处理准则。例如,为退款请求、技术支持、订单查询等场景设定不同的行为准则,确保智能体始终遵循公司政策,提供标准、准确且有同理心的服务,并在检测到用户负面情绪时自动引导至人工客服。 - Finanzdienstleistung
在合规性要求极高的金融行业,Parlant可以确保AI智能体在提供投资建议或处理客户账户信息时,严格遵守法律法规。可以设定准则,避免提供未经授权的财务建议,并在涉及敏感操作时强制进行身份验证。 - Gesundheitsfürsorge
医疗领域的AI助手需要处理敏感的患者数据,并且不能提供错误的医疗建议。使用Parlant可以设定严格的隐私保护准则,确保对话内容符合HIPAA等法规要求,并在用户描述严重症状时,立即建议其寻求专业医疗帮助,而不是尝试自行诊断。 - e-Commerce
电商平台的导购机器人可以使用Parlant来引导用户完成购买流程。通过设定“对话流程”(Journeys),可以带领用户浏览商品、回答规格问题、处理库存查询并最终完成下单。当用户偏离购物主题时,准则可以引导其回到购物流程中。
QA
- Parlant与其他AI框架(如LangChain)有何不同?
Parlant的核心区别在于其设计理念。传统框架更侧重于通过提示工程和链式调用来“请求”LLM遵循指令,但这在复杂场景下往往不够可靠。Parlant则通过其“行为准则”和实时上下文匹配机制,提供了一种更确定性的方法来“强制”智能体遵循规则,从而实现了更高水平的可控性和可靠性。 - Parlant支持哪些大型语言模型?
Parlant框架设计灵活,支持多种LLM,包括OpenAI的系列模型以及HuggingFace上的各类开源模型。这使得开发者可以根据自己的需求和预算选择最合适的模型。 - 使用Parlant是否需要深厚的AI背景?
不需要。Parlant的设计目标之一就是降低开发可靠AI智能体的门槛。它的核心功能,如行为准则,是使用自然语言进行定义的,这使得不具备深厚AI背景的开发者甚至业务人员也能参与到智能体行为的设计中。 - Parlant如何处理幻觉和不准确的回复?
Parlant通过多种方式解决幻觉问题。首先,“行为准则”确保智能体在关键业务场景下必须调用工具或数据库来获取事实信息。其次,“预设回复模板”功能允许在需要绝对准确性的场景下(如价格报价、政策说明),直接使用预先编写好的文本,完全避免LLM的自由发挥。 - 该项目是否开源且可用于商业用途?
是的,Parlant基于Apache 2.0许可证开源,这意味着你可以免费使用它,并可以将其用于商业项目中。