Small Language Models Evaluation Suite for RAG Systems
Project description
smallevals
- Small Language Models Evaluation Suite for RAG Systems
A lightweight evaluation framework powered by tiny ( really tiny ) 0.6B models — runs 100% locally on CPU/GPU/MPS, extremely fast and cheap.
Evaluation tools requiring LLM-as-a-judge, that costs/doesn't scale easily. evaluates in seconds in GPU, in minutes in any CPU
!
Evaluate Retrieval
Evaluation of RAG system includes retrieval and RAG stage, attacks to test retrieval and RAG answers(in the near future)!
Models
| Model Name | Task | Status | Link |
|---|---|---|---|
| QAG-0.6B | Generate golden Q/A from chunks (synthetic evaluation data) | Available | 🤗 |
| CRC-0.6B | Context relevance classifier (question ↔ retrieved chunk) | Incoming | — |
| GJ-0.6B | Groundedness / faithfulness judge (answer ↔ context) | Incoming | — |
| ASM-0.6B | Answer correctness / semantic similarity | Incoming | — |
Current Focus: Retrieval evaluation (QAG-0.5B). Generation evaluation models (CRC-0.5B, GJ-0.5B, ASM-0.5B) are future work.
Installation
pip install smallevals
Quick Start
Evaluate Retrieval Quality (Python)
Connect to your favourite Vector DB (Milvus, Elastic, PGVector, Chroma, Pinecone, FAISS, Weawiate), attach your favourite embeddings, generate questions, and visualise results!
Under the hood, generates question per chunk, and tries to retrieve it as a single-first relevant docs, calculate scores.
from smallevals import evaluate_retrievals, SmallEvalsVDBConnection
vdb = SmallEvalsVDBConnection(
connection=chroma_client,
collection="my_collection",
embedding=embedding
)
# Run evaluation
result = evaluate_retrievals(connection=vdb, top_k=10, n_chunks=200) # Generate question for 200 chunks, and test to retrieve them!
And evaluate results!
Generate QA from Documents (CLI)
smallevals --docs-dir ./documents --num-questions 100
### QAG-0.6B
The model was trained on TriviaQA, SQuAD 2.0, Hand-curated synthetic data generated using Qwen-70B , generating a question from the chunk/doc.
Given the passage below, extract ONE question/answer pair grounded strictly in a single atomic fact.
PASSAGE:
"Eiffel tower is built at 1989"
Return ONLY a JSON object.
{
"question": "When was the Eiffel Tower completed?",
"answer": "1889"
}
Known issues:
- Model is trained on text/wiki data, bias towards well structured text.
- Dataset contains question that ask generic questions, dataset will be more carefully crafted in v3.
### Other Models:
Other models to be trained to eliminate the need of external LLMs.
CRC-0.6B : Context relevance classifier (question ↔ retrieved chunk)
GJ-0.6B : Groundedness / faithfulness judge (answer ↔ context)
ASM-0.6B | Answer correctness / semantic similarity
Project details
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 smallevals-0.1.5.tar.gz.
File metadata
- Download URL: smallevals-0.1.5.tar.gz
- Upload date:
- Size: 100.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbbd0809a08d7ed50b46d84f3189ff6349a312aaadf5ddf5aaeb474e618f6b19
|
|
| MD5 |
586040fd17430d69f7ca1275a8a11fba
|
|
| BLAKE2b-256 |
1ddf763820f3d01cbe617bd8b7f02a4c6eb359445a374872336073d579f9c3c2
|
File details
Details for the file smallevals-0.1.5-py3-none-any.whl.
File metadata
- Download URL: smallevals-0.1.5-py3-none-any.whl
- Upload date:
- Size: 104.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5b4fc9b46691ee18b184795f56637ad6f3bfe54f60ca7eb838986f188aad3ed
|
|
| MD5 |
39941f95b87f3dcb4087e8fb9cea51f4
|
|
| BLAKE2b-256 |
97dff9bef80536a474d2995a2120f6a4e88da0d05897be9400491e99f4e407db
|