Skip to main content

AutoRAG

Powering seamless retrieval and generation workflows for our internal AI systems

Python Version PyPI Version Code Formatter Code Linter Code Checker Code Coverage

Overview

AutoRAG is a flexible and scalable solution for building Retrieval-Augmented Generation (RAG) systems.

This SDK provides out-of-the-box functionality for creating and managing retrieval-augmented generation workflows, offering a modular, highly-configurable interface. It supports multiple vector stores and leverages http clients like httpx for handling requests, ensuring seamless integration.

Features

  • Modular architecture: The SDK allows you to swap, extend, or customize components like retrieval models, vector stores, and response generation strategies.
  • High scalability: Built to handle large-scale data retrieval and generation, enabling robust, production-ready applications.
  • Celery for dependency injection: Efficient background tasks with support for distributed task execution.
  • Multi-flow support: Easily integrate various vector databases (ex: Qdrant, Azure AI Search) with various language models providers (ex: OpenAI, vLLM, Ollama) using standardized public methods for seamless development.

Installation

  1. Create a virtual environment, we recommend Miniconda for environment management:
    conda create -n autorag python=3.12
    conda activate autorag
    
  2. Install the package:
    pip install autonomize-autorag
    

To install with optional dependencies like Qdrant, Huggingface, OpenAI, Modelhub, etc., refer to the Installation Guide.

Usage

The full set of examples can be found in examples directory.

Sync Usage

import os
from autorag.language_models import OpenAILanguageModel

llm = OpenAILanguageModel(
    api_key=os.environ.get("OPENAI_API_KEY"),
)

generation = llm.generate(
    message=[{"role": "user", "content": "What is attention in ML?"}],
    model="gpt-4o"
)

Async Usage

Simply use sync methods with a prefix and use await for each call. Example: client.generate(...) becomes await client.agenerate(...) and everything else remains the same.

import os
from autorag.language_models import OpenAILanguageModel

llm = OpenAILanguageModel(
    api_key=os.environ.get("OPENAI_API_KEY"),
)

generation = await llm.agenerate(
    message=[{"role": "user", "content": "What is attention in ML?"}],
    model="gpt-4o"
)

Contribution

To contribute in our AutoRAG SDK, please refer to our Contribution Guidelines.

License

Copyright (C) Autonomize AI - All Rights Reserved

The contents of this repository cannot be copied and/or distributed without the explicit permission from Autonomize.ai

Metadata

Release files for autonomize-autorag 0.1.91

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autonomize-autorag 0.1.91
File Size Uploaded Provenance Actions
autonomize_autorag-0.1.91.tar.gz 58.7 kB Without provenance Details for autonomize_autorag-0.1.91.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for autonomize-autorag 0.1.91
File Interpreter ABI Platform Actions
autonomize_autorag-0.1.91-py3-none-any.whl Python 3 none any Details for autonomize_autorag-0.1.91-py3-none-any.whl

Total release size: 147.7 kB

Release files / autonomize_autorag-0.1.91.tar.gz

Download URL autonomize_autorag-0.1.91.tar.gz
Size 58.7 kB
Tags Source
SHA-256 checksum
How to use checksums
bd01cd089885e25bcdaa0842c809ff5769f947f5d9190442247641b88c2e82bb
BLAKE2b-256 checksum
How to use checksums
c9be55d94e45efca8d0d1d33c371dd12b4acbf6f3997a67cac20052a21883db2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1020-azure

Release files / autonomize_autorag-0.1.91-py3-none-any.whl

Download URL autonomize_autorag-0.1.91-py3-none-any.whl
Size 88.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
499c45234ccac03ce06781c7005b129ed9ad7b42c1f1c0b3b570408ccc00bc97
BLAKE2b-256 checksum
How to use checksums
0d2bea4be4eb7887b6a06082c2aac8aa34aef655f1128e2dde44ca28b5110f26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1020-azure

Security for autonomize-autorag 0.1.91

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.91 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page