Skip to main content

Minimal Python SDK for interacting with the ViaRAG API

Project description

ViaRAG SDK

Minimal Python SDK for interacting with the ViaRAG API. Designed for developers building RAG pipelines, chatbots, and AI-native workflows.


📦 Installation

pip install viarag

🚀 Quickstart

from viarag import ViaRAGClient

client = ViaRAGClient(api_key="your_api_key")
print(client.health_check())

🔧 Class: ViaRAGClient

ViaRAGClient(api_key: str, timeout: int = 30)

Creates a new client.


📡 Endpoints

✅ 1. health_check()

Returns the API's current health status.

client.health_check()

Returns:

{"status": "ok"}

🤖 2. simple_query(prompt: str, top_k: int = 5)

Runs a retrieval-augmented generation (RAG) query.

client.simple_query("What is ViaRAG?")

Returns:

{
  "response": "ViaRAG is an API for retrieval-augmented generation...",
  "contexts": [...],
  "prompt": "..."
}

💬 3. direct_query(prompt: str)

Runs a prompt directly through the LLM, no retrieval.

client.direct_query("Tell me a joke.")

🔍 4. match_context(prompt: str, top_k: int = 5)

Returns top-k context chunks that match your prompt (no generation).

client.match_context("What is ViaVeri?")

Returns:

[
  {"content": "...", "score": 0.92},
  {"content": "...", "score": 0.87}
]

📄 5. upload_document(file_path: str, metadata: dict = None, chunking_config: dict = None)

Uploads a document and indexes it.

client.upload_document(
    file_path="my_notes.pdf",
    metadata={"source": "user-upload"},
    chunking_config={"chunk_size": 1000, "chunk_overlap": 200}
)

Supports: .pdf, .docx, .txt


✂️ 6. chunk_text(text: str, chunk_size: int = 1000, chunk_overlap: int = 200, splitter: str = "recursive")

Chunks raw text without uploading a file.

chunks = client.chunk_text("A long string of text...")

Returns:

["Chunk 1", "Chunk 2", ...]

📚 7. list_documents()

Lists all documents you’ve uploaded.

client.list_documents()

Returns:

[
  {"doc_id": "abc123", "filename": "my_notes.pdf"},
  ...
]

❌ 8. delete_document_by_id(doc_id: str)

Deletes all chunks associated with a document.

client.delete_document_by_id("abc123")

🔐 Authentication

All API calls (except health_check) require a Bearer token:

client = ViaRAGClient(api_key="sk-...")

🧪 Development

Clone the repo and install locally:

git clone https://github.com/YOUR_USERNAME/viarag-sdk.git
cd viarag-sdk
pip install -e .

📄 License

GNU General Purpose License. See LICENSE file.


👋 About

Built by ViaVeri Technologies to empower developers with simple, powerful RAG tools.

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

viarag-0.1.2.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

viarag-0.1.2-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file viarag-0.1.2.tar.gz.

File metadata

  • Download URL: viarag-0.1.2.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for viarag-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a64f5f60518d76a165610b59cd09d680dc78b3b20b02555fcc19b8a35c77019b
MD5 dd2f800864d153e1e61c2ff328ed0687
BLAKE2b-256 1b48c30641bd2ca18e1f04617a1d34e2fac294e28f4f158e784ded8b1e669cbd

See more details on using hashes here.

File details

Details for the file viarag-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: viarag-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for viarag-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b7f8a5d274912c5c6cd5c3cf44e04e0be07428af153f7d50f95bde3400e390a4
MD5 3f2d18be13560d6ab8a05069411d490e
BLAKE2b-256 90e43d1c5cbb33811776b38138d8ee180175a5ad766bee810b8982e42363fd16

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