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)
| File | Size | Uploaded | |
|---|---|---|---|
| llm_rag_builder-0.2.12.tar.gz | 12.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|