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.1.1.tar.gz (588.4 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.1.1-py3-none-any.whl (105.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ragent_core-0.1.1.tar.gz
  • Upload date:
  • Size: 588.4 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.1.1.tar.gz
Algorithm Hash digest
SHA256 1737e4373620b6544fcc2784b62bdc94222092985133830ca83ebad5e473bc46
MD5 326511c4f525ebf730bf85bff857f4ff
BLAKE2b-256 e172c60076e69b97724de6cfeb294a614a62a5365bc4e4e3763e10cdca26bb0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ragent_core-0.1.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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cf0e2dbc64da120e930eeec27c5a05d1e3fcf712bd8c953c388f6d7957840048
MD5 9f1df3363ccbceec16bfcc32552a201e
BLAKE2b-256 7960c20b831238694f510afd469d3af7a284c451013c888f7703f978d7d9e001

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