Skip to main content

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

Project description

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.openai 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.openai 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

This file is part of this project.

This project can not be copied and/or distributed without the express permission of Autonomize AI.

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

autonomize_autorag-0.1.16.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

autonomize_autorag-0.1.16-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file autonomize_autorag-0.1.16.tar.gz.

File metadata

  • Download URL: autonomize_autorag-0.1.16.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Linux/6.8.0-1014-azure

File hashes

Hashes for autonomize_autorag-0.1.16.tar.gz
Algorithm Hash digest
SHA256 2942c75e7f506054d0821292cc21013f85f028bd8bd75ad676e2fef813caaf07
MD5 48ce72330fa45866b66397f0b457f889
BLAKE2b-256 11e87a2b77691422c296978f7af8e3a305dcd02269e28719184128c64c66312b

See more details on using hashes here.

File details

Details for the file autonomize_autorag-0.1.16-py3-none-any.whl.

File metadata

File hashes

Hashes for autonomize_autorag-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 396679ae6bcbd8afc16ff10c2e3bc1f68c16f3aec8e219edc1e82037578b60ba
MD5 6fbf774600f753694a4e7bb6a8768334
BLAKE2b-256 e9443948ce9b7b2f8ec5b6fdebcd5f0a832a195bfc5d5defcde475c73986d318

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page