eval-track
is a series of LLM-ML observability and tracking services. This series provides APIs for retrieving and storing trace data across multiple programming languages.
Components
- tracker: data tracking services
- web: provides API ,and viewer and analyzer of tracked datasets
- worker: async dataset procedure service that transform non-structured data into structured
- eval-track/tracker-py: Python tracker library
- eval-track/tracker-ts: TypeScript tracker library
- eval-track/tracker-go: Go tracker library
- eval-track/tracker-rs: Rust tracker library
- Documentation: Project documentation using MkDocs
- Python 3.8+ with uv
- Node.js 18+ with pnpm
- Go 1.20+
- Rust with Cargo
- Task for running development commands
-
Install Task (if not already installed):
npm install -g @go-task/cli
-
Set up Python environment:
task setup-uv # if uv not installed task install-tracker
-
Install TypeScript dependencies:
cd tracker-ts pnpm install
-
Install Go dependencies:
cd tracker-go go mod download
-
Install Rust dependencies:
cd tracker-rs cargo build
Run tests for each implementation:
# Python tests
task test-tracker
uv run pytest tests/
# TypeScript tests
cd tracker-ts && pnpm test
# Go tests
cd tracker-go && go test ./...
# Rust tests
cd tracker-rs && cargo test
Format and lint the code:
# Python
task check-all-tracker # Runs ruff format, ruff check, and mypy
# TypeScript
cd tracker-ts && pnpm lint
# Go
cd tracker-go && go fmt ./... && go vet ./...
# Rust
cd tracker-rs && cargo fmt && cargo clippy
To view and develop the documentation locally:
-
Install MkDocs and the Material theme:
pip install mkdocs mkdocs-material
-
Start the documentation server:
mkdocs serve
This will start a local server at http://127.0.0.1:8000
-
Build the documentation:
mkdocs build
This will create a
site
directory with the built documentation.
We welcome contributions to the eval-track
project. To get started, follow these steps:
-
Clone the repository:
git clone <repository-url> cd eval-track # optional # if task not installed # other installation is https://taskfile.dev/installation/ npm install -g @go-task/cli task setup-uv # if uv not installed
-
Install the necessary dependencies:
task install-tracker
-
Run the application:
task start-tracker-app
-
Run code quality checks:
task check-all-tracker # Python checks