Это библиотека на 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file llm_rag_builder-0.2.2.tar.gz
.
File metadata
- Download URL: llm_rag_builder-0.2.2.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52e9610af3a086f496f688972db6f80c52be870b30b938df04d53dab01d51ae0 |
|
MD5 | ae63db088f4bd391de1fa63dc1c0d331 |
|
BLAKE2b-256 | 632247532883dc9a51709062b2488f9651e7768d19a8e27ff2012baa920b39cc |
File details
Details for the file llm_rag_builder-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: llm_rag_builder-0.2.2-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 941bcfa5d4badc7ea2d8a3124778dd2a1d06aacdabcca490585336d65676b99e |
|
MD5 | c7aa2b89ef32455ef3ccea6a4587da6b |
|
BLAKE2b-256 | 2189db9a0eed09bbf20fb57226964e7787626c75f95a3b342931d41a652e87b1 |