Metadata-Version: 2.4
Name: ragbits-document-search
Version: 0.14.0
Summary: Document Search module for Ragbits
Project-URL: Homepage, https://github.com/deepsense-ai/ragbits
Project-URL: Bug Reports, https://github.com/deepsense-ai/ragbits/issues
Project-URL: Documentation, https://ragbits.deepsense.ai/
Project-URL: Source, https://github.com/deepsense-ai/ragbits
Author-email: "deepsense.ai" <ragbits@deepsense.ai>
License-Expression: MIT
Keywords: Document Search,GenAI,Generative AI,LLMs,Large Language Models,RAG,Retrieval Augmented Generation
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: ragbits-core==0.14.0
Requires-Dist: rerankers>=0.6.1
Requires-Dist: unstructured-client>=0.26.0
Requires-Dist: unstructured>=0.16.9
Provides-Extra: docling
Requires-Dist: docling<3.0.0,>=2.15.1; extra == 'docling'
Provides-Extra: ray
Requires-Dist: ray[data]<3.0.0,>=2.43.0; extra == 'ray'
Description-Content-Type: text/markdown

# Ragbits Document Search

Ragbits Document Search is a Python package that provides tools for building RAG applications. It helps ingest, index, and search documents to retrieve relevant information for your prompts.

## Installation

You can install the latest version of Ragbits Document Search using pip:

```bash
pip install ragbits-document-search
```

## Quickstart
```python
from ragbits.core.embeddings.litellm import LiteLLMEmbedder
from ragbits.core.vector_stores.in_memory import InMemoryVectorStore
from ragbits.document_search import DocumentSearch

async def main() -> None:
    """
    Run the example.
    """
    embedder = LiteLLMEmbedder(
        model="text-embedding-3-small",
    )
    vector_store = InMemoryVectorStore(embedder=embedder)
    document_search = DocumentSearch(
        vector_store=vector_store,
    )

    # Ingest all .txt files from the "biographies" directory
    await document_search.ingest("file://biographies/*.txt")

    # Search the documents for the query
    results = await document_search.search("When was Marie Curie-Sklodowska born?")
    print(results)


if __name__ == "__main__":
    asyncio.run(main())
```

## Documentation
* [Quickstart 2: Adding RAG Capabilities](https://ragbits.deepsense.ai/quickstart/quickstart2_rag/)
* [How-To Guides - Document Search](https://ragbits.deepsense.ai/how-to/document_search/async_processing/)
* [API Reference - Document Search](https://ragbits.deepsense.ai/api_reference/document_search/)
