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
Metadata
Release files for phoenix-agents 0.1.20
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| phoenix_agents-0.1.20.tar.gz | 18.0 kB | With provenance | Details for phoenix_agents-0.1.20.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| phoenix_agents-0.1.20-py3-none-any.whl | Python 3 | none | any | Details for phoenix_agents-0.1.20-py3-none-any.whl |
Total release size: 26.8 kB
Release files / phoenix_agents-0.1.20.tar.gz
| Download URL | phoenix_agents-0.1.20.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
708d9554f10f24d950647fa133fe1713df06e3e00726b82c0bd5d972b0bbd857
|
|
BLAKE2b-256 checksum How to use checksums |
9dc4b5785034637fef207c95e6f6b8e112bff1676a1a17686a7f37d50583c37e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 15, 2025.
Transparency logRelease files / phoenix_agents-0.1.20-py3-none-any.whl
| Download URL | phoenix_agents-0.1.20-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ea9b476261abee7accb7f9cec78b227b04c1468babb898945d9310d6a3ee693
|
|
BLAKE2b-256 checksum How to use checksums |
f31dc5f450fc03e7ecbc11faba4748c9fa723c88336f929ae466c847c7fc8904
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 15, 2025.
Transparency logSecurity for phoenix-agents 0.1.20
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for phoenix_agents-0.1.20.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 15, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.