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.0.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.2.0-py3-none-any.whl (105.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ragent_core-0.2.0.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.2.0.tar.gz
Algorithm Hash digest
SHA256 8cc84c88695ca3fd6b2d78db8d6bc596b902820432f813c2549db30ba02c414a
MD5 ab49b661f365a80cb7f992a5a924eda1
BLAKE2b-256 eda2eac31d9da13beb7772eb9eaafbb5ff9cd8c9a689a1b48677dc0f2ede19f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ragent_core-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e31b96914ca6d58cd9387e7b20ccf54e2466a4f8dc870441c8aa4db03e2dc869
MD5 4bb01883250ef28d35e5844ce4021914
BLAKE2b-256 d536d3e242428e19eddfb8823fe4c454abba375aa807961864e544a8db8ada58

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