AgentLab
A modular, composable framework for building, evaluating, and comparing LLM-powered agents.
Installation
pip install agentlab
Or with optional provider extras:
pip install agentlab[llm] # OpenAI, Anthropic, Google SDKs
pip install agentlab[rerank] # Cohere + CrossEncoder rerankers
pip install agentlab[dev] # Development tools
Package Structure
AgentLab is organized like scoped packages — each sub-package has one clear responsibility:
| Sub-package | Equivalent to | Responsibility |
|---|---|---|
agentlab |
@agentlab |
Top-level exports and version info |
agentlab.llm |
@agentlab/llm |
LLM providers (OpenAI, Anthropic, Google, etc.) |
agentlab.embedding |
@agentlab/embedding |
Embedding models (OpenAI, Cohere, Sentence Transformers) |
agentlab.retriever |
@agentlab/retriever |
Vector, keyword, and hybrid retrieval |
agentlab.reranker |
@agentlab/reranker |
Rerankers (Cohere API, CrossEncoder local) |
agentlab.agents |
@agentlab/agents |
Agent registry and base agent class |
agentlab.execution |
@agentlab/execution |
Experiment runner (sequential & parallel) |
agentlab.config |
@agentlab/config |
API key management and settings |
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 an agent using the @agent decorator
@agent(name="my_researcher")
class MyResearcher:
def __init__(self, llm):
self.llm = llm
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. 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"
})
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
eval_agents-0.1.0.tar.gz
(20.1 kB
view details)
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.0.tar.gz.
File metadata
- Download URL: eval_agents-0.1.0.tar.gz
- Upload date:
- Size: 20.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17ca338dd1d277dd627d8176cf134cb439a0d8bd86c633d9889a321654170899
|
|
| MD5 |
501a42fdb53b5def3504d2a4561cfc11
|
|
| BLAKE2b-256 |
a341351bc4866164a413cf739ce0399ca6957826d6cbc87e530f5e8019455563
|
File details
Details for the file eval_agents-0.1.0-py3-none-any.whl.
File metadata
- Download URL: eval_agents-0.1.0-py3-none-any.whl
- Upload date:
- Size: 28.1 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 |
c8b28f65aab2215ccfb3ed74e531e19b8f72cfea05e9389ece4cbac9f5b44d67
|
|
| MD5 |
ee03adc160c48779bd629ed988efc1bb
|
|
| BLAKE2b-256 |
5140fa89454ec827a17801a34d2bc8d618ed9c2296cdc1d63cef44061b033da7
|