Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ragent_core-0.2.1.tar.gz (475.5 kB view details)

Uploaded Source

Built Distribution

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

ragent_core-0.2.1-py3-none-any.whl (105.9 kB view details)

Uploaded Python 3

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

Hashes for ragent_core-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6388f08f25cace6038fcd63c77fb844aacf73d542f4612c114a970b525bb57e8
MD5 5adac475497ba45d0eeba222315a0a25
BLAKE2b-256 9752bff287633509bde9ac95752907d28002cf27f89b9104fe0ff3f9e4011934

See more details on using hashes here.

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

Hashes for ragent_core-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9ad0952b41993d64cec1b5d95a7249ddb9de2eb9ca32aefed30122063b1bd29a
MD5 690413fc20a9468122a572f9dfbd1475
BLAKE2b-256 aff0ad5018c3bd448b6ef5eeea198d6c62b375e34119b5cc9585bda0e2d56660

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