Skip to main content

AgentSpeak agents on A2A/ACL protocol.

Project description

A2A Agentspeak

AgentSpeak agents on A2A/ACL protocol. (Work in progress).

Features

  • Run AgentSpeak agents on an A2A server.
  • Describe agent card and skills in an interface file in a dedicated format.
  • Targets that are not declared in the interface are private and ignored from incoming messages.
  • Extension of the A2A protocol that supports tell, achieve, and ask performatives.
  • Synchronous answers for ask messages (to consult a belief).
  • Asynchronous answers for achieve messages (to request some actions and optionally answer later).
  • Two repositories : one to keep track of running agents (hot repository for hot agents) and one to keep track of agents that can be run locally on demand (cold repository for cold agents).
  • Hot agent repositories can be accessed by requested interface (formatted, see samples/llm_req_manager_with_orchestrator_and_hot_repository) or by natural language (interpreted by a LLM, see samples/llm_req_manager_with_orchestrator_and_repository_and_nl_selection).
  • Cold agent repositories can be accessed by interface (see tests/ping_agent_on_cold_repo, tests/cold_agent_on_repo_with_holes, and tests/spawn).
  • Hot agent repositories can receive failure reports and degrade the reputation of failing agents. That reputation is taken into account when selecting agents (see samples/llm_req_manager_with_orchestrator_and_hot_repository and samples/llm_req_manager_with_orchestrator_and_repository_and_nl_selection).
  • Configuration of agents with customized actions at init time (see tests/customizable_robot, tests/action, and tests/cold_agent_on_repo_with_holes).
  • Different codecs can be used to encode/decode the content of the messages (AgentSpeak agents can encode the content of the message differently than Python agents or Java agents).

Examples and Documentation

Some examples are given in the samples and tests directories. This is the only source of documentation currently.

To run the simple example from samples/ping, first run run_receiver_agent.py and run_sender_agent.py, then run run_test_client.py. That example does not require access to an LLM.

Requirements

This module relies on the A2A Protocol (package a2a-sdk), the A2A-ACL package (acl-a2a), and python-agentspeak (package agentspeak).

Optional Requirements

To run the examples that use an LLM, you need:

  • the package mistralai and set your MISTRAL_API_KEY in the environment,
  • the package openai and set your OPENAI_API_KEY in the environment.

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_agentspeak-0.0.6.tar.gz (62.7 kB view details)

Uploaded Source

Built Distribution

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

a2a_agentspeak-0.0.6-py3-none-any.whl (147.9 kB view details)

Uploaded Python 3

File details

Details for the file a2a_agentspeak-0.0.6.tar.gz.

File metadata

  • Download URL: a2a_agentspeak-0.0.6.tar.gz
  • Upload date:
  • Size: 62.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for a2a_agentspeak-0.0.6.tar.gz
Algorithm Hash digest
SHA256 d260f63893dd1cc0e2c2e71f9124ab05a09b76deba5d1b3fd67c3f8cc0c02ebe
MD5 95a0ea5655bb05c3b974d950c5c21f66
BLAKE2b-256 e38a34b4e2fce511d5ffeb2e4756dcd19a5c507862112319b45baae2dd8113f2

See more details on using hashes here.

File details

Details for the file a2a_agentspeak-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: a2a_agentspeak-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 147.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for a2a_agentspeak-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 461056a6cc40724334b0383ade2dad59fd0bb122c44fdd860c2d3f6cff83ec32
MD5 a8bcf8aef42a3f8373b062f78ed30da9
BLAKE2b-256 22085f8629767356d19ed82a2d886574464c475ec4b9c44e7b35a4804e3e1f0d

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