Skip to main content

Python A2A SDK for Telecom Scenarios

Project description

a2a-t-sdk

项目简介

a2a-t-sdk 是一个面向电信场景的 Python SDK,用于生成任务提示词并处理任务协商流程。当前版本为 0.1.5,处于 Alpha 阶段,适合用于原型验证、接口联调和能力评估,暂不建议直接用于生产环境。

这个 SDK 主要面向两类使用方:

  • 客户端:根据用户输入生成任务提示词,并发起、接收和推进协商流程。
  • 服务端:校验符合 SDK 格式的 processed task prompt(处理后的任务提示词),并发起、接收和推进协商流程。

核心能力

  • 任务提示词生成链路:覆盖输入归一化、场景识别、槽位提取、槽位校验、任务提示词渲染。
  • 客户端 API:提供任务提示词生成结果流,以及 start_negotiationreceive_negotiationcontinue_negotiation 等协商入口。
  • 服务端校验 API:面向符合 SDK 格式的 processed task prompt,执行元数据解析、槽位提取和槽位校验,并支持可选的 guardrail(防护)钩子。
  • 协商类型:内置 informationclarificationfeasibilityfulfillment 四类协商类型。
  • 资源组织:内置提示词资源位于 package_data/prompt_resources,包含 promptsscenariosslotstemplates
  • 内置示例场景:当前随包仅提供 subscribe_incident

项目结构

仓库的核心代码位于 src/a2a_t,主要模块如下:

  • client:客户端封装,提供任务提示词生成与协商入口。
  • server:服务端封装,提供 processed task prompt 校验与协商入口。
  • common:共享的提示词资源加载与运行时公共能力。
  • config:模型相关配置及其加载逻辑。
  • llm:LLM 适配层、客户端和会话存储抽象。
  • negotiation:协商类型、运行时处理与状态存储。
  • prompt:任务提示词格式、分析、渲染与校验相关能力。

安装与环境要求

  • Python 要求:>=3.12
  • 包名:a2a-t-sdk
  • 许可证:Apache-2.0
  • 构建后端:uv_build 当前版本更适合通过源码方式试用、联调和评估。开始前,建议先将 package_data/env.example 复制为 package_data/.env

开发与测试

项目使用 uv_build 作为构建后端,开发依赖包括:

  • pytest
  • pytest-asyncio
  • pytest-cov
  • ruff
  • mypy

建议的最小开发流程如下:

uv sync --dev
uv run pytest
uv run ruff check .
uv run mypy src

tests/ 目录包含客户端提示词生成、服务端校验、协商运行时、提示词资源和 LLM 适配等测试用例。对于外部贡献者,建议优先执行与本次改动相关的测试和静态检查。

当前支持范围

使用前建议先确认以下限制:

  • 项目整体处于 Alpha 阶段,接口和资源组织仍可能调整。
  • 内置 LLM 调用链对外统一为 OpenAI-compatible 适配层。
  • 内置 guardrail 机制目前仅提供 noop
  • 提示词资源目前仅支持本地文件。
  • 协商状态存储目前仅提供内存实现,不保证持久化。
  • 随包资源与语言覆盖有限,不包含 registry(注册中心)等远程资源加载能力。
  • 本文档主要介绍 SDK 本身,不涉及 CLI、托管服务、部署流程或可直接使用的应用方案。

许可证

本项目采用 Apache-2.0 许可证。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

a2a_t_sdk-0.1.5.tar.gz (59.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

a2a_t_sdk-0.1.5-py3-none-any.whl (122.0 kB view details)

Uploaded Python 3

File details

Details for the file a2a_t_sdk-0.1.5.tar.gz.

File metadata

  • Download URL: a2a_t_sdk-0.1.5.tar.gz
  • Upload date:
  • Size: 59.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for a2a_t_sdk-0.1.5.tar.gz
Algorithm Hash digest
SHA256 c318526c39e95e47cc5fdf9664b0e3c67f99ee09143fcf4466399c820f1d5917
MD5 e98efb8177338fe5bde0eb73a7e0c3cd
BLAKE2b-256 c6adeb5872d385ee68c81ce9e45623b3f2a6055fa5636e82ae0a8645dd9ac024

See more details on using hashes here.

File details

Details for the file a2a_t_sdk-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: a2a_t_sdk-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 122.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for a2a_t_sdk-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4363662fe720f79b60fa85d4b4c77b2e97b41d05dce1da2ccb247815cb6dfba2
MD5 5adf3d573a7882b91565ae38f5a93521
BLAKE2b-256 2e4624c39f53d8fb17cb4c678ef3172e4c9e0fc5fe80e2d90663b88a903dbbec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page