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 | Provenance | Actions |
|---|---|---|---|---|
| llm_rag_builder-0.2.12.tar.gz | 12.0 kB | Without provenance | Details for llm_rag_builder-0.2.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| llm_rag_builder-0.2.12-py3-none-any.whl | Python 3 | none | any | Details for llm_rag_builder-0.2.12-py3-none-any.whl |
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
|
Security for llm-rag-builder 0.2.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.