Interactive debugging tool for AI applications
Project description
Pixie
Web UI for AI agents manual testing.
This is the equivalent of LangSmith Studio/Google ADK Web, but for AI agents built in all kinds of ways without the framework constraint. Easy to setup, support multi-turn interactions, Human-in-the-loop, live tracing, and more.
Why?
Manually testing AI applications is time-consuming and cumbersome. Especially for early stage development, it doesn’t make sense to build e2e product just to test, or setup automated tests/evals. So the process ends up being a lot of inputting awkwardly into the command line, and looking through walls of logs in different places.
Demo
Features
- Interactive Testing: Support for two way interaction with your application, plus the ability to pause/resume/stop.
- Real-time Observability: Application traces are streamed in real-time while you debug.
- Structured Input/Output: Native support for structured input/output using Pydantic models.
- Data Privacy: Communications are only between your browser and your server, your data stays private.
- Framework Support: Out-of-the-box support for popular AI development frameworks like Pydantic AI, OpenAI Agents SDK, LangChain, LangGraph, and more.
Get Started
1. Setup
In your project folder, install pixie-sdk package:
pip install pixie-sdk
Create .env file in your project folder and add LLM API key(s):
# .env
OPENAI_API_KEY=...
Add AI Development framework depdendencies as needed:
pip install pydantic-ai-slim[openai]
Start the local server for debugging by running:
pixie
2. Connect Your Application
Add @pixie.app decorator to your main application function:
# my_chatbot.py
from pydantic_ai import Agent
import pixie
# You can implement your application using any major AI development framework
agent = Agent(
name="Simple chatbot",
instructions="You are a helpful assistant.",
model="gpt-4o-mini",
)
@pixie.app
async def my_chatbot():
"""Chatbot application example."""
yield "How can I help you today?"
messages = []
while True:
user_msg = yield pixie.InputRequired(str)
response = await agent.run(user_msg, message_history=messages)
messages = response.all_messages()
yield response.output
You should see in the log of pixie server that your app is registered.
3. Debug with web UI
Visit the web UI gopixie.ai to start debugging.
Important Links
- Documentation - Complete documentation with tutorials and API reference
- Examples - Real-world examples and sample applications
- Demo - Live Demo with the examples server setup
- Discord - Join our community for support and discussions
Acknowledgments
This project is built on top of many awesome open-source projects:
- Langfuse for instrumentation
- Pydantic for structured data validation
- FastAPI for web API
- Strawberry for graphql
- Uvicorn for web server
- Janus for sync-async queue
- docstring-parser for docstring parsing
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pixie_sdk-0.2.15.tar.gz.
File metadata
- Download URL: pixie_sdk-0.2.15.tar.gz
- Upload date:
- Size: 271.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.12.12 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a368438cca9e5b6450ee883f0ff9e2930be1fd5ffd8555b7264dc2ce898f93c8
|
|
| MD5 |
6d92de654ac22506ad0f8f2d51aad597
|
|
| BLAKE2b-256 |
3e7c4601a74c5c8205f8d6124047ee502295b9d00985ea64970b67a958631969
|
File details
Details for the file pixie_sdk-0.2.15-py3-none-any.whl.
File metadata
- Download URL: pixie_sdk-0.2.15-py3-none-any.whl
- Upload date:
- Size: 475.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.2 CPython/3.12.12 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c8001afaee20be3dd77d6c276c8034e09af8fe94e456d879c671626f2a3e055
|
|
| MD5 |
ba89953b101ea93ab5cdbeef2fe405d4
|
|
| BLAKE2b-256 |
f06d09495ffa4f66094589afe9709f05aee7b249e77bdc12112ce5528805ac3e
|