Skip to main content
Ampersend 使 LangChain 代理能够支付并使用远程 AI 代理服务。支付通过 x402 协议透明处理,通信层使用 A2A

概述

集成详情

可序列化JS 支持版本
A2AToolkitlangchain-ampersendPyPI - Version

工具特性

  1. a2a_get_agent_details - 获取远程代理的能力
  2. a2a_send_message - 向远程代理发送消息(支付自动处理)

关键特性

  • 支出控制:可插拔的支付授权,包含限额和策略
  • 透明支付:x402 协议自动处理支付协商

设置

安装

安装 langchain-ampersend 包:
pip install -U langchain-ampersend

凭证

该工具包需要会话密钥和智能账户地址,您可以从 Ampersend 仪表板 获取。
设置凭证
import os

SESSION_KEY = os.environ.get("AMPERSEND_SESSION_KEY")  # 0x...
SMART_ACCOUNT_ADDRESS = os.environ.get("AMPERSEND_SMART_ACCOUNT_ADDRESS")  # 0x...

实例化

初始化工具包
from langchain_ampersend import (
    A2AToolkit,
    AmpersendTreasurer,
    ApiClient,
    ApiClientOptions,
    SmartAccountConfig,
    SmartAccountWallet,
)

# 设置钱包
wallet = SmartAccountWallet(
    config=SmartAccountConfig(
        session_key=SESSION_KEY,
        smart_account_address=SMART_ACCOUNT_ADDRESS,
    )
)

# 设置财务官
treasurer = AmpersendTreasurer(
    api_client=ApiClient(
        options=ApiClientOptions(
            base_url="https://api.ampersend.ai",
            session_key_private_key=SESSION_KEY,
        )
    ),
    wallet=wallet,
)

# 创建工具包
toolkit = A2AToolkit(
    remote_agent_url="https://agent.example.com",
    treasurer=treasurer,
)

await toolkit.initialize()

调用

向远程代理发送消息:
发送消息
tools = toolkit.get_tools()
send_tool = tools[1]  # a2a_send_message
response = await send_tool.ainvoke({"message": "分析第四季度的销售趋势"})
print(response)

在代理中使用

创建代理
from langchain.agents import create_agent
from langchain_anthropic import ChatAnthropic

# 初始化 LLM
llm = ChatAnthropic(model="claude-sonnet-4-20250514")

# 从工具包获取工具
tools = toolkit.get_tools()

# 创建代理
agent = create_agent(llm, tools)
示例用法:
运行代理
result = await agent.ainvoke({
    "messages": [("user", "这个代理能做什么,然后让它分析近期趋势")]
})

# 代理将调用远程代理并自动处理支付

支付工作原理

当远程代理需要支付时(HTTP 402),工具包:
  1. 接收支付要求
  2. 调用财务官授权支付
  3. 使用配置的钱包签名支付
  4. 附加支付重试请求
这对您的 LangChain 代理是透明的。 AmpersendTreasurer 提供具有支出限额和分析功能的托管支付会话。替代的财务官实现在 ampersend_sdk 中可用。

API 参考