Skip to main content

Python A2A SDK for Telecom Scenarios

Project description

a2a-t-sdk

项目简介

a2a-t-sdk 是一个面向电信场景的 Python SDK,用于生成任务提示词并处理任务协商流程。当前版本为 0.1.6,处于 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.6.tar.gz (66.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.6-py3-none-any.whl (133.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: a2a_t_sdk-0.1.6.tar.gz
  • Upload date:
  • Size: 66.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.6.tar.gz
Algorithm Hash digest
SHA256 18c2612d9c78087f657864108d49f066051ac45cbb02b445272e46d28842c5d0
MD5 51b9f0922a88c45d6e15d94033c9d638
BLAKE2b-256 6c7e767f8d867fc9dd89badfb93e591b6afea2449014c6bc00e2d71069cc2a34

See more details on using hashes here.

File details

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

File metadata

  • Download URL: a2a_t_sdk-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 133.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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3911ae1ac99ad3637e9aaf803ce144bcdc7dedc04305788337b4699bbc5735b7
MD5 6b83546292ad22b7dc3fc4a8ce39227a
BLAKE2b-256 7adb78741d6753be2b222a65e1ca493112e10c529e68dc1d13937d7bf427bd9c

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