Skip to main content
Open In ColabOpen on GitHub

PaymanAI

PaymanAI 提供代表 AI 代理发送和接收支付(法币和加密货币)的功能。开始使用:

  1. 注册在 app.paymanai.com 创建一个AI代理并获取您的 API密钥
  2. 设置环境变量(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 最新版本
PaymanAIlangchain_community[PyPI Version]

如果您只是调用PaymanAI SDK,您可以直接调用或通过LangChain中的工具接口进行。

设置

  1. 安装 langchain-community(或等效)软件包:
pip install --quiet -U langchain-community
  1. 安装 PaymanAI SDK:
pip install paymanai
  1. 设置环境变量:
export PAYMAN_API_SECRET="YOUR_SECRET_KEY"
export PAYMAN_ENVIRONMENT="sandbox"

您的PAYMAN_API_SECRET应该是来自app.paymanai.com的密钥。PAYMAN_ENVIRONMENT可以是sandboxproduction,具体取决于您的使用情况。

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代理或链中。

快速开始摘要

  1. 强列建议您在 app.paymanai.com 注册以获取您的 API密钥
  2. 安装 依赖项:
    pip install paymanai langchain-community
  3. 导出 环境变量:
    export PAYMAN_API_SECRET="YOUR_SECRET_KEY"
    export PAYMAN_ENVIRONMENT="sandbox"
  4. 实例化一个PaymanAI工具,传递您希望的名称/描述。
  5. 调用工具使用.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)