Skip to main content

Это библиотека на Python, предназначенная для упрощения создания и управления моделями генерации с использованием поиска (Retrieval-Augmented Generation, RAG).

Project description

rag_builder

rag_builder — это библиотека на Python, предназначенная для упрощения создания и управления моделями генерации с использованием поиска (Retrieval-Augmented Generation, RAG). Библиотека интегрируется с различными языковыми моделями и предоставляет удобный интерфейс для создания, запроса и управления диалоговыми системами.

Возможности

  • Управление командами: Легко добавляйте и управляйте командами для вашей диалоговой системы.
  • Интеграция с LLM: Используйте различные языковые модели для генерации текста.
  • Интеграция с Vector DB: Используйте различные базы данных векторов для поиска похожих запросов.
  • Интеграция с Vectorizers: Используйте различные инструменты для преобразования текста в векторное представление.

Интеграции

Модели Минимальная интеграция Оптимизированная интеграция Полностью интегрировано
LLMs:
OpenAI models
Yandex models
Gemini models
Vector DB:
Chroma
pgvector
Vectorizers:
OpenAI embeddings
Yandex embeddings

Установка

Для установки rag_builder можно использовать pip:

# Без интеграций
pip install llm-rag-builder

# Все интеграции
pip install "llm-rag-builder[all]"  

# Интеграции по отдельности
pip install "llm-rag-builder[openai]"
pip install "llm-rag-builder[yandex]"
pip install "llm-rag-builder[gemini]"
pip install "llm-rag-builder[chroma]"
pip install "llm-rag-builder[pgvector]"

Использование

Базовая настройка

Пример настройки базовой диалоговой системы с использованием rag_builder:

from rag_builder import BaseDialog, BaseCommand, YandexLLM, GeminiLLM

# Инициализация LLM
llm = GeminiLLM(
    db=vdb,
    vectorizer=vectorizer,
    api_key="YOUR_API_KEY",
    llm_model="gemini-1.5-flash",
)

# Создание экземпляра диалога
dialog = BaseDialog(
    llm=llm,
    title='OpenAI Dialog'
)

# Определение команд
get_time_func = BaseCommand(
    name='get_time',
    description='Получить текущее время.',
    examples=['get_time()'],
    run=lambda args: f"Текущее время 12:00",
)

get_weather_func = BaseCommand(
    name='get_weather',
    description='Получить текущую погоду.',
    examples=['get_weather()'],
    run=lambda args: f"Текущая погода солнечная",
)

# Добавление команд в диалог
dialog.add_command(get_time_func)
dialog.add_command(get_weather_func)

# Обработка сообщения пользователя
dialog.proccess_user_message('Какая погода?')

Вывод:

USER: Какая погода?
ASSISTANT: <RUNFUNC> get_weather() </RUNFUNC>
SYSTEM: Текущая погода солнечная
ASSISTANT: Текущая погода солнечная

Больше примеров использования можно найти в папке examples.

Вклад

Ваши идеи и вклад приветствуются! Пожалуйста, отправляйте запросы на добавление изменений (pull requests) или открывайте issue для обсуждения ваших идей.

Лицензия

Этот проект распространяется под лицензией MIT. Подробности можно найти в файле LICENSE.

Контакты

По любым вопросам и запросам обращайтесь на pzrnqt1vrss@protonmail.com

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

llm_rag_builder-0.1.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

llm_rag_builder-0.1.1-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file llm_rag_builder-0.1.1.tar.gz.

File metadata

  • Download URL: llm_rag_builder-0.1.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for llm_rag_builder-0.1.1.tar.gz
Algorithm Hash digest
SHA256 741f50d1b8f226b5ca74b32c3fd3bf1674e7a05ba610802d0f85bdc5ccd2d0b8
MD5 62678429e446d97d43fbe5890f51a706
BLAKE2b-256 8c6e3bc096b27b49db1921aa56a218bb1c6fd28c3ccd44b1519fc3dfd4c8a3c6

See more details on using hashes here.

File details

Details for the file llm_rag_builder-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for llm_rag_builder-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 007dccda5ad46695d03483875f9230351fcca5a2dd82a2fb989e8785f0bfad67
MD5 20c95e54b08b7b9279994ba4412f212b
BLAKE2b-256 834200d9819f8a997df45df55c7578b16f5cc37c7cc26064e8b785af73b38112

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