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.0.tar.gz (4.0 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.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for viarag-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5d8a0bcbd14e0c6c192167547db4f7b19f895b3a253f82a0614fdb9c77e90ece
MD5 ed21eddb4a67aed93b7232699ca390e5
BLAKE2b-256 0618f4cf096149caa47054f630cafca74a8edca582053033e808a2bccac8eaf4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for viarag-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6804e05257b364dd1fbd3d58ad3774fa0cc1ab41f7d788505f2ca0ccad1b8973
MD5 1f7c9d7324d70f33d5ab884bba41f83d
BLAKE2b-256 627b5230bbe5395157894dea5ee2cd738ce79d44bf9c898363e6b2afeadc24ba

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