Skip to main content

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

Metadata

Release files for llm-rag-builder 0.2.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llm-rag-builder 0.2.12
File Size Uploaded
llm_rag_builder-0.2.12.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llm-rag-builder 0.2.12
File Interpreter ABI Platform
llm_rag_builder-0.2.12-py3-none-any.whl Python 3 none any Details

Total release size: 28.8 kB

Release files / llm_rag_builder-0.2.12.tar.gz

Download URL llm_rag_builder-0.2.12.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
729b8f633d6e8a788a878df2f97352385c17005238947283f58e343df033bae0
BLAKE2b-256 checksum
How to use checksums
b17d3ac0d06b6182e5584beacee7d57a8f265a1c5bc2335e62867cb34bb19430
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.6

Release files / llm_rag_builder-0.2.12-py3-none-any.whl

Download URL llm_rag_builder-0.2.12-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7fca4aec9e12464dc1fdb3c710bcf21ab4caddd9c0846e68e2189d168156bbe8
BLAKE2b-256 checksum
How to use checksums
053b902e032ec12e1f091f09928ef72b6e3c714b51dd3b927e7f01160f3177aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.6

Release history Release notifications | RSS feed

This release

0.2.12 This release

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page