Skip to main content

No project description provided

Project description

RAQA

Retrieval-Augmented Question-Answering

Retrieval-augmented, pip-installable, CLI-based question answering over arbitrary document collections.

Usage

Installation

pip install raqa

Locally

pip install -e .

Run

BASH via Python interpreter

  1. Build DB

    python cli.py build DATABASE_NAME PATH/TO/FOLDER/WITH/MARKDOWNS

  2. Chat

    python cli.py chat DATABASE_NAME

  3. One-shot retrieval

    python cli.py search "what is retrieval augmented generation?"

  4. Rebuild and chat

    python cli.py rebuild-and-chat DATABASE_NAME PATH/TO/FOLDER/WITH/MARKDOWNS

  5. Get stats

    python cli.py stats

  6. List databases

    python cli.py list

BASH natively

raqa build DATABASE_NAME PATH/TO/FOLDER/WITH/MARKDOWNS
raqa chat DATABASE_NAME
raqa search "what is RAG?"
raqa list
raqa stats (DATABASE_NAME)
raqa rebuild-and-chat DATABASE_NAME PATH/TO/FOLDER/WITH/MARKDOWNS

Python

Build database

from db import VectorDB
from config import MARKDOWN_ROOT

db = VectorDB()
db.build(MARKDOWN_ROOT)

Run

from agent import RAGAgent

agent = RAGAgent()
agent.chat()

Build instructions

Next steps:

  1. If any changes are made, update pyproject.toml.
  2. Building the package before uploading: cd raqa; python -m build.
  3. Upload the package to pypi: python -m twine upload --repository {pypi|testpypi} dist/*

Next steps

Real tool-calling (instead of implicit RAG)

Define OpenAI tool:

{
  "name": "search_docs",
  "description": "...",
  "parameters": { "query": "string" }
}

Hybrid search

Combine BM25 (rank-bm25) + embeddings

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

raqa-1.0.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

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

raqa-1.0.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file raqa-1.0.0.tar.gz.

File metadata

  • Download URL: raqa-1.0.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for raqa-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8b46458def7655c27640b63f8465cf3ed3835ca76c6acf07b40cdc4012c98981
MD5 f41ed433c38efb445f4ae038eaab1d70
BLAKE2b-256 99a8f3a692734895ab30fe51990d00cc430516159bd882a09ec407f2e2307a4b

See more details on using hashes here.

File details

Details for the file raqa-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: raqa-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for raqa-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04e3f149aa79481d84dd8ad6c2ab3f9341371a648c02f8b75055e69424e14db8
MD5 df29f2c1e56755fbf3255e590ab935b8
BLAKE2b-256 e6409dcacb7771fb28db93a893f6259cd1595e180097a63810688ac1564a41a4

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