Skip to main content

A library that makes it easy to get started with RAG applications with SingleStore.

Project description

PyRAG

A library that makes it easy to get started with RAG applications with SingleStore.

Installetion

To install the package run:

pip install pyrag

Usage Example

1. Import the PyRAG class from the pyrag package

from pyrag import PyRAG

2. Create a PyRAG instance

pyrag = PyRAG(
    connection_url='DB_CONNECTION_URL',
    embedding_model_name='text-embedding-3-small',
    openai_api_key='OPENAI_API_KEY',
)

Note, you can also use HugginFace models. In this case you need to provide a huggingfacehub_api_token.

3. Provide a knowledge source in the form of a URL or S3 bucket

Supported file types: csv, json, txt, pdf

URL Knowledge Source

pyrag.files.url.sync_file(url="URL", table_name='TABLE_NAME')

S3 Bucket Knowledge Source

pyrag.files.s3(
    access_key_id='AWS_ACCESS_KEY_ID',
    secret_access_key='AWS_SECRET_ACCESS_KEY',
    bucket_name='AWS_BUCKET_NAME',
).sync_files(
    # This parameter is optional. If you want to use all files from the s3 bucket, remove this parameter.
    allowed_files=['file_name_1', 'file_name_2', 'file_name_3'],
    # This parameter is optional. Use it if you want to rename the table. By default, the table serializes the file name.
    table_names={'file_name_1': 'file_name_1'}

4. Create a chat instance and chat session

chat = pyrag.chat.create(
    id=1,
    model_name='gpt-3.5-turbo',
    knowledge_sources=[{'table': 'file_name_1'}],
    store=True,
    store_messages_history=True
)

chat_session = chat.create_session(id=1)

5. Use the chat instance

response = chat_session.send('PROMPT')
print(response)

Find more usage examples here

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

PyRAG-0.0.4.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyRAG-0.0.4-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file PyRAG-0.0.4.tar.gz.

File metadata

  • Download URL: PyRAG-0.0.4.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.1

File hashes

Hashes for PyRAG-0.0.4.tar.gz
Algorithm Hash digest
SHA256 2deb821fc0113cbe4ca4fe7bcd5cdb378b15529bea51faa0728ce75feffd5517
MD5 fc4d5b7e3c82bdc211dc0d25513d5cac
BLAKE2b-256 de37095c34b5cd3a82bc0ebfb1552141b9e210892cf9a7eb3e5ba01839f905eb

See more details on using hashes here.

File details

Details for the file PyRAG-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: PyRAG-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.1

File hashes

Hashes for PyRAG-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 56077351c046963ef3f3843c5d0be8d24869d564f2242994c5ea6f96dcc5add7
MD5 d99d4de36702a5c4aa24889cdcc27998
BLAKE2b-256 446e67ae49c242844f6aa1efee8e8fd7459b8592cc5de8dc97310eb8af0846f0

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