Skip to main content

A custom GenAI agent framework

Project description

Phoenix Agents

A framework for building AI agents with modular connectors and LLM integration.

Installation

pip install phoenix-agents

Features

  • Modular connector system for agent interactions
  • Built-in support for Azure AI and OpenAI
  • Chat history management
  • Extensible agent architecture
  • Session management for multi-user scenarios

Quick Start

Here's a simple example using Phoenix to create a simple AI agent:

from dotenv import load_dotenv
import asyncio
import os

from phoenix.agent import Agent
from phoenix.user_session import UserSession
from phoenix.models.azure_ai_inference import AzureAIInferece
import phoenix.models.openai_history as openai_history

load_dotenv()

async def main():
    # Initialize chat history
    chat_history = openai_history.ChatHistory()

    # Setup LLM with Azure AI
    llm = AzureAIInferece(
        token=os.getenv("GITHUB_TOKEN"),
        history=chat_history
    )

    # Create agent
    agent = Agent(
        brain=llm,
        history=chat_history,
    )

    # Create user session and interact
    session = UserSession()
    response = await agent.call("Hello, how are you?", session)
    print(response)

if __name__ == "__main__":
    asyncio.run(main())

Here's a simple example using Phoenix to create a moody AI agent with MCP connectors (The full example can be found in Moody AI Repository):

from dotenv import load_dotenv
import asyncio
import os

from phoenix.agent import Agent
from phoenix.user_session import UserSession
from phoenix.models.azure_ai_inference import AzureAIInferece
import phoenix.models.openai_history as openai_history
from phoenix.connectors.mcp import MCPClient, MCPServer

load_dotenv()

async def main():
    # Initialize chat history
    chat_history = openai_history.ChatHistory()

    # Setup LLM with Azure AI
    llm = AzureAIInferece(
        token=os.getenv("GITHUB_TOKEN"),
        history=chat_history
    )

    # Setup MCP connector with servers
    mcp = MCPClient([
        MCPServer(path="path/to/mood.py")
    ])

    try:
        await mcp.connect()

        # Create agent
        agent = Agent(
            brain=llm,
            history=chat_history,
            connector=mcp,
            system="You are a moody AI, you need to know your current mood to know how to respond.",
        )

        # Create user session and interact
        session = UserSession()
        response = await agent.call("Hello, how are you?", session)
        print(response)

    finally:
        await mcp.cleanup()

if __name__ == "__main__":
    asyncio.run(main())

Configuration

The framework uses environment variables for configuration. Create a .env file with:

GITHUB_TOKEN=your_token_here

Contributing

Contributions are welcome!

License

MIT

Documentation

TODO

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

phoenix_agents-0.1.5.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

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

phoenix_agents-0.1.5-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: phoenix_agents-0.1.5.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for phoenix_agents-0.1.5.tar.gz
Algorithm Hash digest
SHA256 0e3f0907928f209bbb275434ad9e46d87ebeaca94a5b8cf3ce98e6e3929f4636
MD5 eaa6d82d19289b10412ba197f406cccf
BLAKE2b-256 89c6cdb5c1358c487fc53fd4351978e7846e8fe2944e2fc47b6682d488bf3e76

See more details on using hashes here.

Provenance

The following attestation bundles were made for phoenix_agents-0.1.5.tar.gz:

Publisher: publish.yml on Nie-Mand/phoenix-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: phoenix_agents-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for phoenix_agents-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cd4db6e28d7a259ce2e2c2d39747c5b7984a9387f91646411714f22926a61184
MD5 073cd902d3c5a045d0160d4607fcfffa
BLAKE2b-256 299dcb5ee859f7eb5d8ecc7fbf1f73258c9ea56a693cdc9d851c599775d6e540

See more details on using hashes here.

Provenance

The following attestation bundles were made for phoenix_agents-0.1.5-py3-none-any.whl:

Publisher: publish.yml on Nie-Mand/phoenix-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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