Skip to main content

Small Language Models Evaluation Suite for RAG Systems

Project description

smallevals logo - Small Language Models Evaluation Suite for RAG Systems

A lightweight evaluation framework powered by tiny ( really tiny logo ) 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. logo evaluates in seconds in GPU, in minutes in any CPU logo logo!

Evaluate Retrieval

Evaluation of RAG system includes retrieval and RAG stage, logo 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, logo 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

smallevals-0.1.1.tar.gz (99.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smallevals-0.1.1-py3-none-any.whl (104.7 kB view details)

Uploaded Python 3

File details

Details for the file smallevals-0.1.1.tar.gz.

File metadata

  • Download URL: smallevals-0.1.1.tar.gz
  • Upload date:
  • Size: 99.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for smallevals-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e5a2ee8e3e2b5b44211804f7039f54e6da536a8cd3b7272506dc78f9923240b0
MD5 59a002181e43942ad7f5a247218ad512
BLAKE2b-256 f58433de7b0a399e8c89b8c275c5066a14d46ef74c6b7948ffc403c164d5cde1

See more details on using hashes here.

File details

Details for the file smallevals-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: smallevals-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 104.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for smallevals-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 96b059d58613241d4c926128013b72f3f0a884a7a3a6a913f0e488b6bb85c7aa
MD5 9367047f74e6defcb885877a268d2b84
BLAKE2b-256 e9e956d2613e1cfe78fa780182847c8e66151311da46f2b418683204a2dfce08

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page