1414
1515** AlphaTrion** is an open-source framework for building and optimizing GenAI applications. Track experiments, monitor performance, analyze model usage, and manage artifacts—all through an intuitive dashboard. Named after the oldest and wisest Transformer.
1616
17- * Currently in active development.*
17+ ### Trusted By
18+
19+ <a href =" https://hiverge.ai " target =" _blank " >
20+ <img src =" ./site/images/hiverge-logo.svg " alt =" Hiverge.ai " height =" 40 " >
21+ </a >
1822
1923## Features
2024
21- - ** 🔬 Experiment Tracking** - Organize and manage ML experiments with hierarchical teams, experiments, and runs
22- - ** 📊 Performance Monitoring** - Track metrics, visualize trends, and monitor experiment status in real-time
23- - ** 🔍 Distributed Tracing** - Automatic OpenTelemetry integration for LLM calls with detailed span analysis
24- - ** 💰 Token Usage Analytics** - Monitor daily token consumption across input/output with historical trends
25- - ** 🤖 Model Distribution** - Analyze request patterns and usage across different AI models
26- - ** 📦 Artifact Management** - Store and version execution results, checkpoints, and model outputs
27- - ** 🎯 Interactive Dashboard** - Modern web UI for exploring experiments, metrics, and traces
28- - ** 🔐 Secure Authentication** - JWT-based authentication with user profiles and multi-team support
29- - ** 👥 Multi-User Support** - Collaborative workspace with organization and team management
25+ - ** 🔬 Experiment Tracking** - Organize ML experiments with hierarchical teams, experiments, and runs
26+ - ** 📊 Performance Monitoring** - Track metrics, visualize trends, and monitor experiment status
27+ - ** 🔍 Distributed Tracing** - Automatic OpenTelemetry integration for LLM calls with token usage and span analysis
28+ - ** 🪝 Post-Run Hooks** - Automatically sync metadata and status after run completion
29+ - ** 🎯 Interactive Dashboard** - Modern web UI for exploring experiments and traces
3030- ** 🔌 Easy Integration** - Simple Python API with async/await support
3131
3232## Core Concepts
@@ -50,15 +50,15 @@ git clone https://github.com/inftyai/alphatrion.git && cd alphatrion
5050source start.sh
5151```
5252
53- ### 2. Setup Infrastructure
53+ ### 2. Setup
5454
5555``` bash
5656# Start PostgreSQL, ClickHouse, and Registry
5757cp .env.example .env
5858make up
5959
6060# Wait for services to be ready, then run migrations
61- make migrate
61+ make migrate-all
6262
6363# Initialize your organization, team, and user account
6464alphatrion init
@@ -70,11 +70,11 @@ alphatrion init
7070- Grafana: ` http://localhost:3000 ` (admin / admin) - LLM metrics dashboard
7171- Prometheus: ` http://localhost:9090 ` - Metrics explorer
7272
73- ### 3. Track Your First Experiment
73+ ### 3. Run Your First Experiment
7474
7575``` python
7676import alphatrion as alpha
77- from alphatrion import experiment
77+ from alphatrion.experiment import CraftExperiment
7878
7979# Initialize with your user ID
8080alpha.init(user_id = " <your_user_id>" )
@@ -83,9 +83,9 @@ async def my_task():
8383 # Your code here
8484 await alpha.log_metrics({" accuracy" : 0.95 , " loss" : 0.12 })
8585
86- async with experiment. CraftExperiment.start(name = " my_experiment" ) as exp:
87- task = exp.run(my_task)
88- await task .wait()
86+ async with CraftExperiment.start(name = " my_experiment" ) as exp:
87+ run = exp.run(my_task)
88+ await exp .wait()
8989```
9090
9191### 4. Launch Dashboard
@@ -108,13 +108,36 @@ AlphaTrion automatically captures distributed tracing data for all LLM calls, in
108108
109109![ tracing] ( ./site/images/trace.png )
110110
111- ### Cleanup
111+ ### 6. Using Post-Run Hooks (Optional)
112+
113+ Automatically sync metadata and status after run completion.
114+
115+ ``` python
116+ from alphatrion.experiment import CraftExperiment
117+ from alphatrion.run import PostRunHookFn
118+
119+ async def train_model ():
120+ # Your training code
121+ return {
122+ " metadata" : {" accuracy" : 0.95 , " loss" : 0.05 },
123+ " status" : " COMPLETED" ,
124+ }
125+
126+ async with CraftExperiment.start(" training" ) as exp:
127+ run = exp.run(
128+ train_model,
129+ post_run_hooks = [PostRunHookFn.sync_metadata, PostRunHookFn.sync_status]
130+ )
131+ await exp.wait()
132+ ```
133+
134+ ### 7. Cleanup
112135
113136``` bash
114137make down
115138```
116139
117- ## Documentation
140+ ## References
118141
119142- ** Architecture** : [ Diagrams] ( ./docs/architecture/diagrams.md )
120143- ** Dashboard** : [ Setup Guide] ( ./docs/dashboard/setup.md ) | [ CLI Reference] ( ./docs/dashboard/dashboard-cli.md ) | [ Architecture] ( ./docs/dashboard/dashboard-architecture.md )
0 commit comments