PaymanAI
PaymanAI 提供代表 AI 代理发送和接收支付(法币和加密货币)的功能。开始使用:
- 注册在 app.paymanai.com 创建一个AI代理并获取您的 API密钥。
- 设置环境变量(
PAYMAN_API_SECRET为您的 API 密钥,PAYMAN_ENVIRONMENT为沙盒或生产环境).
此笔记本快速介绍了将PaymanAI集成到LangChain作为工具的方法。如需完整参考,请参见API文档。
概览
The PaymanAI 集成是 langchain-community(或您的自定义)包的一部分。它允许您:
- 向加密地址或银行账户发送付款(
send_payment)。 - 搜索收款方(
search_payees)。 - 添加新收款方 (
add_payee)。 - 使用托管的支付链接从客户处请求付款(
ask_for_money)。 - 检查代理或客户余额(
get_balance)。
这些可以包装为LangChain 工具,以便基于LLM的代理程序能够自动调用它们。
集成细节
| Class | 包 | 序列化 | JS支持 | Package 最新版本 |
|---|---|---|---|---|
| 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,具体取决于您的使用情况。
Instantiation
以下是一个实例化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.",
)
Invocation
直接使用参数调用
您可以调用 tool.invoke(...) 并传递一个与工具预期字段匹配的字典。例如:
response = tool.invoke({
"amount_decimal": 10.00,
"payment_destination_id": "abc123",
"customer_id": "cust_001",
"memo": "Payment for invoice #XYZ"
})
Invoke with 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密钥。
- 安装 依赖项:
pip install paymanai langchain-community - 导出 环境变量:
export PAYMAN_API_SECRET="YOUR_SECRET_KEY"
export PAYMAN_ENVIRONMENT="sandbox" - 实例化一个PaymanAI工具,传递您希望的名称/描述。
- 调用工具使用
.invoke(...)或将它集成到一个链或代理中。
API 参考
您可以在以下链接找到PaymanAI的完整API文档:<br>
链式调用
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)