Eval Agents
A modular, composable framework for building, evaluating, and comparing LLM-powered agents.
You write the agent logic. The framework provides the LLMs, embeddings, vector stores, and rerankers — and automatically runs combinatorial experiments to find the best stack.
Installation
pip install eval-agents
Or with optional provider extras:
pip install eval-agents[llm] # OpenAI, Anthropic, Google SDKs
pip install eval-agents[rerank] # Cohere + CrossEncoder rerankers
pip install eval-agents[dev] # Development tools
Quick Start
from agentlab.agents import agent
from agentlab.llm import get_llm
from agentlab.embedding import get_embedding
from agentlab.retriever import get_retriever
from agentlab.reranker import get_reranker
from agentlab.execution import run_experiment
# 1. Define your agent using the @agent decorator
@agent(name="my_researcher")
class MyResearcher:
def __init__(self, llm, embedding=None, vectorstore=None, reranker=None):
self.llm = llm
self.embedding = embedding
self.vectorstore = vectorstore
self.reranker = reranker
def run(self, query: str) -> str:
return self.llm.generate(f"Research: {query}")
# 2. Build components
llm = get_llm(provider="openai", model="gpt-4o")
embedding = get_embedding(provider="openai", model="text-embedding-3-small")
retriever = get_retriever(provider="faiss")
reranker = get_reranker(provider="cohere")
# 3. Launch the UI
# agentlab start --app my_project.py
# 4. Run an experiment
result = run_experiment({
"agents": ["my_researcher"],
"llms": [{"provider": "openai", "model": "gpt-4o", "temperature": 0.2}],
"embeddings": [{"provider": "openai", "model": "text-embedding-3-small"}],
"retrievers": [{"provider": "faiss"}],
"mode": "Sequential"
})
Package Structure
Eval Agents is organized like scoped packages — each sub-package has one clear responsibility:
| Sub-package | Responsibility |
|---|---|
agentlab |
Top-level exports and version info |
agentlab.llm |
LLM providers (OpenAI, Anthropic, Google, Ollama) |
agentlab.embedding |
Embedding models (OpenAI, Cohere, Sentence Transformers) |
agentlab.retriever |
Vector, keyword, and hybrid retrieval |
agentlab.vectorstore |
Vector stores (FAISS, Pinecone, Chroma, Qdrant) |
agentlab.reranker |
Rerankers (Cohere API, CrossEncoder local) |
agentlab.agents |
Agent registry and @agent decorator |
agentlab.execution |
Experiment runner (Sequential & Parallel) |
agentlab.config |
API key management and settings |
Run Experiments via UI
The AgentLab UI allows you to:
- Register agents using the
@agentdecorator - Select LLMs to test:
☑ GPT-4o☑ Claude Sonnet☑ Gemini 2.5 Pro - Select Embeddings:
☑ text-embedding-3-small☑ all-MiniLM-L6-v2 - Enter API keys in the secure settings panel
- Click Run — the engine runs every combination and shows a comparison dashboard
agentlab start --app my_project.py
Environment Variables
Create a .env file in your project root:
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=AI...
COHERE_API_KEY=...
VOYAGE_API_KEY=...
License
MIT
Metadata
Release files for eval-agents 0.1.2
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 | |
|---|---|---|---|---|
| eval_agents-0.1.2.tar.gz | 20.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eval_agents-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.1 kB
Release files / eval_agents-0.1.2.tar.gz
| Download URL | eval_agents-0.1.2.tar.gz |
|---|---|
| Size | 20.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c281faeb9e11e5ca14239d2fa7261f78e575f5cfe04c2c60930f6354a739817f
|
|
BLAKE2b-256 checksum How to use checksums |
4254673c0994ce61d7bfc89b4e3d8674eba185d371e6dd5e47e854fd6b7b1344
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / eval_agents-0.1.2-py3-none-any.whl
| Download URL | eval_agents-0.1.2-py3-none-any.whl |
|---|---|
| Size | 28.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c9124e1effce2d56b1279d489ffba9bb70b12d5e679b9f6af5eedbaf0db65622
|
|
BLAKE2b-256 checksum How to use checksums |
09e527af3d6cee055595dfc95fbc5309c762a4bea393e5dc150d302b5545da23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Security for eval-agents 0.1.2
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.