PaymanAI
PaymanAI 提供功能,代表 AI 代理发送和接收支付(法币和加密货币)。开始使用:
- 注册 app.paymanai.com 创建一个AI代理并获取您的 API密钥。
- 设置 环境变量(
PAYMAN_API_SECRET代表您的API密钥,PAYMAN_ENVIRONMENT代表沙盒或生产环境)。
这个笔记本简要概述了将 PaymanAI 集成到 LangChain 作为工具的过程。如需完整参考,请参阅 API 文档。
概览
PaymanAI 集成是 langchain-community(或您的自定义)包的一部分。它允许您:
- 发送付款 (
send_payment) 到加密地址或银行账户。 - 搜索收款人 (
search_payees)。 - 添加新的收款人 (
add_payee)。 - 使用托管结账链接向客户请求付款 (
ask_for_money)。 - 检查代理或客户余额 (
get_balance)。
这些可以包装为LangChain工具,供基于LLM的代理自动调用。
集成详情
| 类 | 包 | 可序列化的 | JS 支持 | 最新包裹 |
|---|---|---|---|---|
| PaymanAI | langchain_community | ❌ | ❌ | [PyPI Version] |
如果你只是调用PaymanAI SDK,可以直接进行,也可以通过LangChain中的工具接口来实现。
设置
- 安装
langchain-community(或等效)包:
pip install --quiet -U langchain-community
- 安装 PaymanAI SDK:
pip install paymanai
- 设置环境变量:
export PAYMAN_API_SECRET="YOUR_SECRET_KEY"
export PAYMAN_ENVIRONMENT="sandbox"
你的 PAYMAN_API_SECRET 应该是来自 app.paymanai.com 的密钥。根据你的使用情况,PAYMAN_ENVIRONMENT 可以是 sandbox 或 production。
实例化
以下是一个实例化 PaymanAI 工具的示例。如果你有多个 Payman 方法,可以创建多个工具。
from langchain_community.tools.langchain_payman_tool.tool import PaymanAI
# Instantiate the PaymanAI tool (example)
tool = PaymanAI(
name="send_payment",
description="Send a payment to a specified payee.",
)
调用
使用参数直接调用
您可以调用 tool.invoke(...) 并传递一个与工具预期字段匹配的字典。例如:
response = tool.invoke({
"amount_decimal": 10.00,
"payment_destination_id": "abc123",
"customer_id": "cust_001",
"memo": "Payment for invoice #XYZ"
})
使用 ToolCall 调用
在AI工作流程中使用时,LLM可能会生成一个ToolCall字典。你可以通过以下方式模拟它:
model_generated_tool_call = {
"args": {
"amount_decimal": 10.00,
"payment_destination_id": "abc123"
},
"id": "1",
"name": tool.name,
"type": "tool_call",
}
tool.invoke(model_generated_tool_call)
在链或代理中使用工具
您可以将 PaymanAI 工具绑定到支持工具调用的 LangChain 代理或链上。
快速开始摘要
- 注册 app.paymanai.com 获取您的 API密钥。
- 安装 dependencies:
pip install paymanai langchain-community - 导出环境变量:
export PAYMAN_API_SECRET="YOUR_SECRET_KEY"
export PAYMAN_ENVIRONMENT="sandbox" - 实例化 一个 PaymanAI 工具,传入你想要的名称/描述。
- 调用该工具时使用
.invoke(...),或者将其集成到链或代理中。
API 参考
您可以在以下位置找到 PaymanAI 的完整 API 文档:
链式调用
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableConfig, chain
from langchain.chat_models import init_chat_model
# Assume we've imported your PaymanAITool or multiple Payman AI Tools
payman_tool = PaymanAITool(name="send_payment")
# Build a prompt
prompt = ChatPromptTemplate([
("system", "You are a helpful AI that can send payments if asked."),
("human", "{user_input}"),
("placeholder", "{messages}"),
])
llm = init_chat_model(model="gpt-4", model_provider="openai")
llm_with_tools = llm.bind_tools([payman_tool], tool_choice=payman_tool.name)
llm_chain = prompt | llm_with_tools
@chain
def tool_chain(user_input: str, config: RunnableConfig):
input_ = {"user_input": user_input}
ai_msg = llm_chain.invoke(input_, config=config)
tool_msgs = payman_tool.batch(ai_msg.tool_calls, config=config)
return llm_chain.invoke({**input_, "messages": [ai_msg, *tool_msgs]}, config=config)
# Example usage:
response = tool_chain.invoke("Send $10 to payee123.")
print(response)```
## API reference
You can find full API documentation for PaymanAI at:
- [Python reference](https://python.langchain.com/v0.2/api_reference/community/tools/langchain_community.tools.langchain_payman_tool.tool.PaymanAI.html)
- (Any other relevant references or doc links)
## Related
- Tool [conceptual guide](/docs/concepts/tools)
- Tool [how-to guides](/docs/how_to/#tools)