大语言模型(LLMs)可以被用来创建各种自动化功能,通常被称为“AI代理”。这些代理能够将提示转化为一系列程序化操作,与其他系统交互。
什么是代理式工作流?
“代理式工作流”是一种结合了大语言模型和函数调用的自动化流程。以“订机票”为例,用户可能会输入:“帮我订一张4月24日从纽约到旧金山的机票,预算500美元以下。”为了实现这个目标,代理需要:
- 提取变量:出发地、目的地、出发时间和预算。
- 查询并筛选符合条件的航班。
- 展示可选航班,并让用户做出选择。
- 完成机票购买。
通过像Vercel的AI SDK、LangChain和CrewAI这样的框架,这些任务可以被分解并分配给专门的代理处理。此外,框架还能为代理配备“工具”,例如在线搜索功能或购买操作的代码片段,使得这些工具能够被调用以执行特定任务。
如何集成支付功能?
借助Stripe的代理工具包,你可以将其API直接嵌入代理框架中。Stripe工具包支持多个流行的框架,并可以与任何支持函数调用的LLM提供商兼容,比如Vercel的AI SDK或LangChain。
使用示例
假设需要构建一个“商务助手”代理来管理用户的账单。通过Stripe工具包,可以快速实现:
import {StripeAgentToolkit} from '@stripe/agent-toolkit/ai-sdk';
const toolkit = new StripeAgentToolkit({
secretKey: "sk_test_123",
configuration: {
actions: {
// 激活特定功能
},
},
});
await generateText({
model: openai('gpt-4o'),
tools: {
...toolkit.getTools(),
},
maxSteps: 5,
prompt: '发送一份100美元的发票到<<email address>>',
});
类似地,还可以将Stripe与Slack结合,打造复杂的多步自动化:
from langchain.agents import AgentExecutor, create_structured_chat_agent
from stripe_agent_toolkit.langchain.toolkit import StripeAgentToolkit
stripe_agent_toolkit = StripeAgentToolkit(
secret_key=os.getenv("STRIPE_SECRET_KEY"),
configuration={
"actions": {
"payment_links": {"create": True},
}
},
)
agent_executor = AgentExecutor(
agent=create_structured_chat_agent(llm, stripe_agent_toolkit.get_tools()),
tools=stripe_agent_toolkit.get_tools()
)
agent_executor.invoke({
"input": "创建一个价值100美元的支付链接并发送到#my-channel"
})
嵌入金融服务
代理式工作流不仅限于虚拟任务。例如,可以利用Stripe的虚拟卡生成功能来处理商务消费:
- 代理展示机票选项(如纽约到旧金山,250美元)。
- 用户确认选择后,生成一张仅限该金额的虚拟卡:
stripe.issuing.Card.create(
cardholder="ich_123",
currency="usd",
type="virtual",
spending_controls={
spending_limits=[{
amount="30000",
interval="all_time"
}]
}
)
- 通过Stripe的实时授权功能,系统能够批准或拒绝该笔交易,同时在购买完成后自动停用虚拟卡。
这种方式结合了LLM的智能决策能力和API的可控性,让自动化更加可靠。
用计量式计费追踪使用情况
代理工作流会消耗资源(如代币或时间),因此可以通过使用量计费为客户收费。Stripe工具包内置了中间件,可轻松追踪代币使用情况,并将其作为计费事件发送给客户:
const model = wrapLanguageModel({
model: anthropic('claude-3-5-sonnet-20240620'),
middleware: stripeAgentToolkit.middleware({
billing: {
customer: 'cus_123',
meters: {
input: 'input_tokens',
output: 'output_tokens',
},
},
}),
});
Stripe还提供快速入门指南,帮助开发者快速上手基于使用量的计费代理。
测试与可靠性
由于代理行为具有一定的随机性,建议开发者先在测试模式中运行,并使用受限API密钥限制代理的功能范围。例如,仅为库存管理代理启用产品和价格相关的功能:
const toolkit = new StripeAgentToolkit({
secretKey: "sk_test_123",
configuration: {
actions: {
products: {create: true},
prices: {create: true},
},
}
});
通过减少功能范围,不仅降低了选择错误工具的风险,还避免任务中途因工具失败而中断。
总结
Stripe代理工具包让支付功能的集成变得前所未有的简单。无论是常见的支付任务自动化,还是基于使用量的计费模式,这一工具都能帮助开发者快速实现创新功能。想了解更多?访问官方文档获取详细信息!