以编程方式使用文档

Ampersend 使 LangChain 代理能够支付和使用远程 AI 代理服务。支付通过以下方式透明处理 x402 协议,使用 A2A 作为通信层。

概述

集成详情

可序列化JS 支持版本
A2AToolkitlangchain-ampersend!PyPI - 版本

工具功能

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

主要特点

  • 消费控制:可插拔的支付授权,支持限制和策略
  • 透明支付:x402 协议自动处理支付协商

设置

安装

安装 langchain-ampersend package:

    pip install -U langchain-ampersend
    
    uv add langchain-ampersend
    

凭证

该工具包需要会话密钥和智能账户地址,您可以从 Ampersend 仪表板.

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,
)

# Setup wallet
wallet = SmartAccountWallet(
    config=SmartAccountConfig(
        session_key=SESSION_KEY,
        smart_account_address=SMART_ACCOUNT_ADDRESS,
    )
)

# Setup treasurer
treasurer = AmpersendTreasurer(
    api_client=ApiClient(
        options=ApiClientOptions(
            base_url="https://api.ampersend.ai",
            session_key_private_key=SESSION_KEY,
        )
    ),
    wallet=wallet,
)

# Create toolkit
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": "Analyze the sales trends in Q4"})
print(response)

在代理中使用

from langchain.agents import create_agent
from langchain_anthropic import ChatAnthropic

# Initialize the LLM
llm = ChatAnthropic(model="claude-sonnet-4-20250514")

# Get tools from the toolkit
tools = toolkit.get_tools()

# Create the agent
agent = create_agent(llm, tools)

使用示例:

result = await agent.ainvoke({
    "messages": [("user", "What can this agent do, and then ask it to analyze recent trends")]
})

# The agent will call the remote agent and handle payments automatically

支付工作原理

当远程代理需要支付(HTTP 402)时,工具包会:

  1. 接收支付要求
  2. 调用财务模块授权支付
  3. 使用配置的钱包签名支付
  4. 附带支付重试请求

这对您的 LangChain 代理是透明的。

提供具有消费限制和分析功能的托管支付会话。 AmpersendTreasurer 替代财务模块实现在 ampersend_sdk.

API 参考