txtai — это универсальная база данных встраивания для семантического поиска, оркестровки LLM и рабочих процессов языковых моделей.
Базы данных встраивания представляют собой объединение векторных индексов (разреженных и плотных), графовых сетей и реляционных баз данных.
Эта основа обеспечивает векторный поиск и/или служит мощным источником знаний для приложений больших языковых моделей (LLM).
Создавайте автономные агенты, процессы дополненной генерации (RAG), многомодельные рабочие процессы и многое другое.
Краткое описание возможностей txtai:
txtai создан с использованием Python 3.9+, преобразователей Hugging Face Transformers, Sentence Transformers и FastAPI. txtai имеет открытый исходный код под лицензией Apache 2.0.
Заинтересованы в простом и безопасном способе запуска размещенных txtai-приложений? Тогда присоединяйтесь к предварительному просмотру txtai.cloud, чтобы узнать больше.
Новые векторные базы данных, структуры LLM и все, что между ними, появляются ежедневно. Зачем строить с помощью txtai?
# Get started in a couple lines
import txtai
embeddings = txtai . Embeddings ()
embeddings . index ([ "Correct" , "Not what we hoped" ])
embeddings . search ( "positive" , 1 )
#[(0, 0.29862046241760254)]
# app.yml
embeddings :
path : sentence-transformers/all-MiniLM-L6-v2
CONFIG=app.yml uvicorn " txtai.api:app "
curl -X GET " http://localhost:8000/search?query=positive "
В следующих разделах представлены распространенные случаи использования txtai. Также доступен полный набор из более чем 60 примеров блокнотов и приложений.
Создавайте приложения семантического/сходства/векторного/нейронного поиска.
Традиционные поисковые системы используют ключевые слова для поиска данных. Семантический поиск понимает естественный язык и выявляет результаты, имеющие одинаковое значение, а не обязательно одни и те же ключевые слова.
Начните со следующих примеров.
Блокнот | Описание | |
---|---|---|
Представляем txtai | Обзор функциональности, предоставляемой txtai | |
Поиск по сходству с изображениями | Встраивайте изображения и текст в одно пространство для поиска. | |
Создайте базу данных контроля качества | Сопоставление вопросов с семантическим поиском | |
Семантические графы | Изучите темы, возможности подключения данных и выполните сетевой анализ. |
Автономные агенты, расширенная генерация извлечения (RAG), чат с вашими данными, конвейеры и рабочие процессы, которые взаимодействуют с большими языковыми моделями (LLM).
Смотрите ниже, чтобы узнать больше.
Блокнот | Описание | |
---|---|---|
Шаблоны подсказок и цепочки задач | Создавайте подсказки для моделей и связывайте задачи с рабочими процессами. | |
Интегрируйте структуры LLM | Интеграция llama.cpp, LiteLLM и пользовательских фреймворков генерации. | |
Постройте графики знаний с помощью LLM | Создавайте графики знаний с помощью извлечения сущностей на основе LLM |
Агенты соединяют встраивания, конвейеры, рабочие процессы и другие агенты вместе для автономного решения сложных задач.
Агенты txtai построены на основе платформы Transformers Agent. Это поддерживает все LLM, которые поддерживает txtai (Hugging Face, llama.cpp, OpenAI / Claude / AWS Bedrock через LiteLLM).
Чтобы узнать больше, перейдите по ссылке ниже.
Блокнот | Описание | |
---|---|---|
Что нового в txtai 8.0 | Агенты с txtai | |
Анализ постов об объятиях с помощью графиков и агентов | Исследуйте богатый набор данных с помощью Graph Analysis и Agents | |
Предоставление автономии агентам | Агенты, которые итеративно решают проблемы по своему усмотрению. |
Расширенная генерация с поиском (RAG) снижает риск галлюцинаций LLM, ограничивая выходные данные базой знаний в качестве контекста. RAG обычно используется для «чата с вашими данными».
Новой особенностью txtai является то, что он может предоставлять как ответ, так и ссылку на источник.
Блокнот | Описание | |
---|---|---|
Создание конвейеров RAG с помощью txtai | Руководство по расширенной генерации поиска, включая создание цитат | |
Как работает RAG с txtai | Создавайте процессы RAG, службы API и экземпляры Docker. | |
Расширенный RAG с обходом путей графа | Обход пути по графу для сбора сложных наборов данных для расширенной RAG | |
Речь в речь RAG | Полный цикл процесса преобразования речи в речь с помощью RAG |
Рабочие процессы языковых моделей, также известные как семантические рабочие процессы, объединяют языковые модели для создания интеллектуальных приложений.
Хотя LLM являются мощными инструментами, существует множество более мелких и более специализированных моделей, которые работают лучше и быстрее для конкретных задач. Сюда входят модели для извлечения ответов на вопросы, автоматического резюмирования, преобразования текста в речь, транскрипции и перевода.
Блокнот | Описание | |
---|---|---|
Запуск рабочих процессов конвейера | Простые, но мощные конструкции для эффективной обработки данных | |
Создание абстрактных текстовых сводок | Запустите абстрактное обобщение текста | |
Транскрипция аудио в текст | Преобразование аудиофайлов в текст | |
Перевести текст между языками | Оптимизация машинного перевода и определения языка |
Самый простой способ установки — через pip и PyPI.
pip install txtai
Поддерживается Python 3.9+. Рекомендуется использовать виртуальную среду Python.
См. подробные инструкции по установке для получения дополнительной информации о дополнительных зависимостях, предварительных требованиях для конкретной среды, установке из исходного кода, поддержке conda и запуске с контейнерами.
В таблице ниже указаны текущие рекомендуемые модели. Все эти модели допускают коммерческое использование и предлагают сочетание скорости и производительности.
Компонент | Модель(ы) |
---|---|
Вложения | все-MiniLM-L6-v2 |
Подписи к изображениям | БЛИП |
Этикетки – Нулевой выстрел | БАРТ-Большой-МНЛИ |
Ярлыки — фиксированные | Точная настройка с помощью обучающего конвейера |
Модель большого языка (LLM) | Лама 3.1 Инструктировать |
Подведение итогов | ДистилБАРТ |
Преобразование текста в речь | ЭСПнет ДЖЕТС |
Транскрипция | Шепот |
Перевод | Модельный ряд ОПУС |
Модели можно загружать либо по пути из Hugging Face Hub, либо из локального каталога. Пути к модели не являются обязательными, если они не указаны, загружаются значения по умолчанию. Для задач, для которых не рекомендована модель, txtai использует модели по умолчанию, как показано в руководстве «Задачи обнимания лица».
Чтобы узнать больше, перейдите по следующим ссылкам.
Следующие приложения созданы на базе txtai.
Приложение | Описание |
---|---|
текстовый чат | Поиск на основе расширенной генерации (RAG) |
бумагаай | Семантический поиск и рабочие процессы для медицинских/научных статей |
кодовый вопрос | Семантический поиск для разработчиков |
история | Семантический поиск заголовков и текста статей |
В дополнение к этому списку существует также множество других проектов с открытым исходным кодом, опубликованных исследований и закрытых проприетарных/коммерческих проектов, основанных на txtai в производстве.
Доступна полная документация по txtai, включая настройки конфигурации для встраивания, конвейеров, рабочих процессов, API и часто задаваемые вопросы с общими вопросами/проблемами.
Для тех, кто хотел бы внести свой вклад в txtai, ознакомьтесь с этим руководством.