Skip to main content

A library to build Retrieval-Augmented Generation applications with only a few lines of code.

Project description

RAG Core

Python 3.10 Python 3.11 License: MIT PyPI - Version GitHub CI

A Retrieval-Augmented Generation library with a CLI interface. Build RAG applications with just a few commands and a configuration file.

Supported setups

Databases LLMs Embeddings Document types
Chroma (local) OpenAI OpenAI PDF
Pinecone (remote) AzureOpenAI AzureOpenAI

For more details see the documentation.

Installation

To install, run

pip install ragcore

or clone and build from source

git clone https://github.com/daved01/ragcore.git
cd ragcore
pip install .

If everything worked, running

ragcore -h

should show you some information about ragcore.

A Simple Example

To build an application with OpenAI or AzureOpenAI LLMs and embeddings, and a local database, first set your OpenAI API key as described here:

export OPENAI_API_KEY=[your token]

Then, create a config file config.yaml like this in the root of your project:

database:
  provider: "chroma"
  number_search_results: 5
  base_dir: "data/database"

splitter:
  chunk_overlap: 256
  chunk_size: 1024

embedding:
  provider: "openai"
  model: "text-embedding-model"

llm:
  provider: "openai"
  model: "gpt-model"

And finally, create your application using this config file:

from ragcore import RAGCore


app = RAGCore() # pass config=<path-to-config.yaml> if not in root

# Upload a document "My_Book.pdf"
app.add(path="My_Book.pdf")

# Now you can ask questions
answer = app.query(query="What did the elk say?")

print(answer.content)

# List the document's title and content on which the response is based
for doc in answer.documents:
  print(doc.title, " | ", doc.content)

# List all documents in the database
print(app.get_titles())

# You can delete by title
app.delete(title="My_Book")

And that's it! For more information, as well as an overview of supported integrations check out the documentation.

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

ragcore-1.0.4.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

ragcore-1.0.4-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file ragcore-1.0.4.tar.gz.

File metadata

  • Download URL: ragcore-1.0.4.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for ragcore-1.0.4.tar.gz
Algorithm Hash digest
SHA256 f94f4964b8ef87f268a786b085d51475d6b69edb3a2483a53894518d521549ad
MD5 55b2addb61fc9d01155c2212ef61b3bf
BLAKE2b-256 949c6af2350ee3b98f5ba4043285aed2305b4e3992d0814858ed0adbe533bfbb

See more details on using hashes here.

File details

Details for the file ragcore-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: ragcore-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for ragcore-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0ebbe0107f532cb2a4e354ea87bede024a46b4a431f93ab716e0bbd51745a24b
MD5 c218205f224e7510ad90ff7606b655fe
BLAKE2b-256 9aee63b53c76d7b47d2bfe66f70cadeaff068bdb302c86645bbf3fdf9f3d2c09

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