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
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 eval_agents-0.1.2.tar.gz.
File metadata
- Download URL: eval_agents-0.1.2.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c281faeb9e11e5ca14239d2fa7261f78e575f5cfe04c2c60930f6354a739817f
|
|
| MD5 |
826add7de6065626355fdddba1a6102a
|
|
| BLAKE2b-256 |
4254673c0994ce61d7bfc89b4e3d8674eba185d371e6dd5e47e854fd6b7b1344
|
File details
Details for the file eval_agents-0.1.2-py3-none-any.whl.
File metadata
- Download URL: eval_agents-0.1.2-py3-none-any.whl
- Upload date:
- Size: 28.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9124e1effce2d56b1279d489ffba9bb70b12d5e679b9f6af5eedbaf0db65622
|
|
| MD5 |
86f539aabacc7f6875be7cd8f6e6266e
|
|
| BLAKE2b-256 |
09e527af3d6cee055595dfc95fbc5309c762a4bea393e5dc150d302b5545da23
|