Skip to main content

autogen-watsonx-client

This is an autogen>=0.4 extension for watsonx client integration.

Disclaimer

  • This is a community extension for the Autogen project, specifically for the new Autogen >= 0.4 architecture. The goal is to support IBM Watsonx.ai hosted LLMs in the Autogen framework.
  • This project is still in a very early stage under development, please create issues in this github repo for bug reports.
  • This project is a personal endeavor and is not affiliated with, endorsed by, or connected to any organization/employer in any way. The views, ideas, and opinions expressed in this project are solely my own and do not reflect those of others.

Announcements

  • 2025-02-13: create_stream is now implemented!
  • 2025-01-13: the version requirement on Autogen has been updated to >=0.4.1, the integration examples have been updated accordingly, see here.

Usage

Prerequisites

  • create a python environment with version 3.10 or above
  • pip install --upgrade autogen-watsonx-client
  • pip install --upgrade autogen-agentchat>=0.4.1
  • access to a watsonx.ai instance, setting up environment variables WATSONX_API_KEY, one of WATSONX_SPACE_ID or WATSONX_PROJECT_ID, optionally WATSONX_URL

code snippets

Importing dependencies:

import os

from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_agentchat.conditions import TextMentionTermination
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_watsonx_client.config import WatsonxClientConfiguration
from autogen_watsonx_client.client import WatsonXChatCompletionClient

Create a watsonx client

wx_config = WatsonxClientConfiguration(
    model_id="meta-llama/llama-3-2-90b-vision-instruct",  # pick a model you have access to on wx.ai here
    api_key=os.environ.get("WATSONX_API_KEY"),
    url=os.environ.get("WATSONX_URL"),
    space_id=os.environ.get("WATSONX_SPACE_ID"),
    project_id=os.environ.get("WATSONX_PROJECT_ID"),
)

wx_client = WatsonXChatCompletionClient(**wx_config)

Define an agent using the watsonx client and register a dummy tool for querying weather

# Define a tool
async def get_weather(city: str) -> str:
    return f"The weather in {city} is 73 degrees and Sunny."


async def main() -> None:
    # Define an agent
    weather_agent = AssistantAgent(
        name="weather_agent",
        model_client=wx_client,
        tools=[get_weather],
    )

    # Define termination condition
    termination = TextMentionTermination("TERMINATE")

    # Define a team
    agent_team = RoundRobinGroupChat([weather_agent], termination_condition=termination)

    # Run the team and stream messages to the console
    stream = agent_team.run_stream(task="What is the weather in New York?")
    await Console(stream)


# NOTE: if running this inside a Python script you'll need to use asyncio.run(main()).
await main()

Refer to here for more detailed examples.

Metadata

Release files for autogen-watsonx-client 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autogen-watsonx-client 0.0.8
File Size Uploaded
autogen_watsonx_client-0.0.8.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autogen-watsonx-client 0.0.8
File Interpreter ABI Platform
autogen_watsonx_client-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 16.6 kB

Release files / autogen_watsonx_client-0.0.8.tar.gz

Download URL autogen_watsonx_client-0.0.8.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8962205347f86827da02030e759b6f987e5dea14fc46485b6462bb9dae11b5e8
BLAKE2b-256 checksum
How to use checksums
9103826225721e357208818da57709e69c48f64c94fe7f0433adb28e0f80ae09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.10

Release files / autogen_watsonx_client-0.0.8-py3-none-any.whl

Download URL autogen_watsonx_client-0.0.8-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cc9139341988562530ec07a9804354d23a048af0e49ff8caaa39fdbd11dff99
BLAKE2b-256 checksum
How to use checksums
cdd43ec0e9b0bde4821a4098d37d89cf22a34a84850e44b26fa3a307db8696ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.10

Release history Release notifications | RSS feed

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page