Add your description here
Project description
RAGent
RAGent is a research project focused on training language models to perform agentic search through reinforcement learning. The goal is to train models that autonomously learn to interact with search systems, whether they are Elasticsearch indexes, vector databases, BM25 engines, file systems, SQL databases, or hybrid combinations of these.
Project Structure
The project is organized into three main development areas:
1. Synthetic Data Generation
A pipeline for generating question-answer pairs of varying complexity given a specific data source. The current approach uses an explorer agent pipeline (ragent_core/pipelines/explorer_agent/), inspired by the agentic search synthesis methodology described in DeepSeek-V3.2. The pipeline:
- Extracts key concepts from documents in the corpus
- Assigns breadth and depth parameters to each concept based on occurrence frequency
- Uses specialized agents (breadth, depth, synthesis) to generate progressively complex QA pairs
- Leverages retrieval tools during generation to ground questions in actual document content
A graph-based approach for QA generation, inspired by WebShaper's formalization-driven synthesis framework, is currently under development.
2. Environment Development
The environment layer (environments/) handles the search system setup, curriculum learning, and reward functions. Each environment provides:
- Search Engine Layer: The retrieval backend (BM25, vector search, hybrids, etc)
- Tool Interface: Actions available to the agent (
search(query),read(doc_id), etc.) - Data Source: The knowledge base (a collection of documents to search over)
- QA Dataset: Question-answer pairs used for training and evaluation
- Reward Functions: LLM-based judges and other reward signals (e.g., format compliance, tool usage) for evaluating agent trajectories
Current environments:
bm25/— Lightweight lexical search environment using BM25s.
3. Training
Training is performed using the verifiers library and prime-rl library.
Data Sources
QA pairs have been generated from the following data sources for now:
- GitLab Handbook
- IETF RFCs
- Python Enhancement Proposals (PEPs)
- DevDocs.io developer documentation
- OWASP Cheat Sheets
- Rust RFCs
- Domain-specific corpora (marine biology, space exploration, mythology) extracted from Wikipedia.
Current Development
Training is starting with approximately 2,500 QA pairs generated from the data sources listed above using the explorer agent pipeline. The initial focus is on lexical search over diverse technical documentation.
Project details
Release history Release notifications | RSS feed
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 ragent_core-0.2.1.tar.gz.
File metadata
- Download URL: ragent_core-0.2.1.tar.gz
- Upload date:
- Size: 475.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6388f08f25cace6038fcd63c77fb844aacf73d542f4612c114a970b525bb57e8
|
|
| MD5 |
5adac475497ba45d0eeba222315a0a25
|
|
| BLAKE2b-256 |
9752bff287633509bde9ac95752907d28002cf27f89b9104fe0ff3f9e4011934
|
File details
Details for the file ragent_core-0.2.1-py3-none-any.whl.
File metadata
- Download URL: ragent_core-0.2.1-py3-none-any.whl
- Upload date:
- Size: 105.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ad0952b41993d64cec1b5d95a7249ddb9de2eb9ca32aefed30122063b1bd29a
|
|
| MD5 |
690413fc20a9468122a572f9dfbd1475
|
|
| BLAKE2b-256 |
aff0ad5018c3bd448b6ef5eeea198d6c62b375e34119b5cc9585bda0e2d56660
|