Skip to main content

Volcengine agent development kit, integrations with Volcengine cloud services.

Project description

Volcengine Agent Development Kit Logo

Volcengine Agent Development Kit

License Deepwiki

An open-source kit for agent development, integrated the powerful capabilities of Volcengine.

For more details, see our documents.

A tutorial is available by Jupyter Notebook, or open it in Google Colab directly.

Installation

From PyPI

pip install veadk-python

# install extensions
pip install veadk-python[extensions]

Build from source

We use uv to build this project (how-to-install-uv).

git clone ... # clone repo first

cd veadk-python

# create a virtual environment with python 3.12
uv venv --python 3.12

# only install necessary requirements
uv sync

# or, install extra requirements
# uv sync --extra database
# uv sync --extra eval
# uv sync --extra cli

# or, directly install all requirements
# uv sync --all-extras

# install veadk-python with editable mode
uv pip install -e .

Configuration

We recommand you to create a config.yaml file in the root directory of your own project, VeADK is able to read it automatically. For running a minimal agent, you just need to set the following configs in your config.yaml file:

model:
  agent:
    provider: openai
    name: doubao-seed-1-6-250615
    api_base: https://ark.cn-beijing.volces.com/api/v3/
    api_key: # <-- set your Volcengine ARK api key here

You can refer to the config instructions for more details.

Have a try

Enjoy a minimal agent from VeADK:

from veadk import Agent
import asyncio

agent = Agent()

res = asyncio.run(agent.run("hello!"))
print(res)

Feishu bot channel

VeADK now provides veadk.extensions.FeishuChannelExtension for bridging a Feishu bot with a Runner. It maps union_id to user_id, and thread_id / chat_id to session_id, so VeADK memory and tracing can work directly in Feishu conversations.

from veadk import Agent, Runner
from veadk.extensions import FeishuChannelExtension

agent = Agent()
runner = Runner(agent=agent, app_name="feishu_demo")
channel = FeishuChannelExtension(runner=runner)

Configure credentials with TOOL_FEISHU_CHANNEL_APP_ID and TOOL_FEISHU_CHANNEL_APP_SECRET, or in config.yaml under tool.feishu_channel.

A2UI (agent-driven UI)

VeADK integrates Google's A2UI, letting an agent reply with declarative UI (cards, rows, forms) instead of plain text. A client renders the UI with native components. Enable it with a single flag (requires the optional a2ui-agent-sdk dependency: pip install veadk-python[a2ui]):

from veadk import Agent

agent = Agent(enable_a2ui=True)  # uses the bundled "basic" component catalog

A bundled React web UI renders A2UI over the standard ADK API server. The built UI ships inside the package (veadk/webui, produced by npm run build), so installed users can launch it directly:

veadk frontend --agents-dir examples           # serve UI + API on http://127.0.0.1:8000

To rebuild the UI from source (output goes to veadk/webui, which is committed so it ships with the wheel):

cd frontend && npm install && npm run build

Point the agent at a custom component catalog (relative paths resolve against the agent's directory; absolute paths work too). With no argument it auto-discovers a catalog.json next to the agent, falling back to the bundled basic catalog:

Agent(enable_a2ui=True, a2ui_catalog="catalog.json")  # beside the agent

Enterprises extend the component set in two matching halves: a backend catalog (a catalog.json or a veadk.a2ui.BaseA2UICatalog subclass) and a frontend renderer directory (frontend/src/a2ui/components/<Name>/). See frontend/README.md.

Command line tools

VeADK provides several useful command line tools for faster deployment and optimization, such as:

  • veadk deploy: deploy your project to Volcengine VeFaaS platform (you can use veadk init to init a demo project first)
  • veadk prompt: otpimize the system prompt of your agent by PromptPilot
  • veadk frontend: serve the A2UI web UI together with the ADK agent API server

Contribution

Before making your contribution to our repository, please install and config the pre-commit linter first.

pip install pre-commit
pre-commit install

Before commit or push your changes, please make sure the unittests are passed ,otherwise your PR will be rejected by CI/CD workflow. Running the unittests by:

pytest -n 16

Security and privacy

This project takes security seriously. For vulnerability reporting and supported versions, see SECURITY.md

Contact with us

Join our discussion group by scanning the QR code below:

Volcengine Agent Development Kit Logo

License

This project is licensed under the Apache 2.0 License.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

veadk_python-1.0.0.tar.gz (58.2 MB view details)

Uploaded Source

Built Distribution

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

veadk_python-1.0.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file veadk_python-1.0.0.tar.gz.

File metadata

  • Download URL: veadk_python-1.0.0.tar.gz
  • Upload date:
  • Size: 58.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for veadk_python-1.0.0.tar.gz
Algorithm Hash digest
SHA256 03b7aabbb75e1baba58216490faa2862b46f5d18692c30b4f203c2ddc5659c44
MD5 5053066906f1f7766d7badf7748f4c6d
BLAKE2b-256 f574b0557336d3aaa048ffdd8476d6b62e692dacfd19c5e2a8aad9f5fa810cec

See more details on using hashes here.

File details

Details for the file veadk_python-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: veadk_python-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for veadk_python-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 089a5b92342962ade4b6f9f74691ea9b13753093872145ebb2384db71a1528f8
MD5 588a556f10b858f45de6f9ca29d26dd0
BLAKE2b-256 94ba167d500cf6216b16fc8efe7aa6d30808a0350aa6172a11e1863b6e0d3925

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