В этом репозитории представлен пример кода для улучшения приложений RAG с использованием богатых источников данных, включая хранилища SQL и документы, анализируемые с помощью Azure Document Intelligence.
Предполагается, что плагины и навыки, представленные в этом репозитории, будут адаптированы и добавлены в ваше новое или существующее приложение RAG для улучшения качества ответа.
Важный
uv
для управления зависимостями и общими утилитами. См. uv для получения более подробной информации о том, как начать. ./text_2_sql
содержит три реализации Multi-Shot для генерации и выполнения запросов Text2SQL, которые можно использовать для ответа на вопросы, поддерживаемые базой данных в качестве базы знаний. Показаны подходы на основе подсказок и векторов , оба из которых демонстрируют высокую производительность при ответе на запросы SQL. Кроме того, показана дальнейшая итерация векторного подхода, в которой используется кэш запросов для дальнейшего ускорения генерации. Благодаря этим плагинам ваше приложение RAG теперь может получать доступ и извлекать данные из любой таблицы SQL, доступной ему, для ответа на вопросы../adi_function_app
содержит код для связи Azure Document Intelligence с искусственным поиском для обработки сложных документов с диаграммами и изображениями и использует мультимодальные модели (gpt4o) для их интерпретации и понимания. Благодаря этому специальному навыку приложение RAG может извлекать ценную информацию из сложных диаграмм и изображений во время векторного поиска. Это функциональное приложение также содержит метод семантического разделения текста , целью которого является разумная группировка похожих предложений, сохранение рисунков и таблиц вместе и разделение отдельных предложений../deploy_ai_search
предоставляет простую утилиту на основе Python для развертывания индекса, индексатора и соответствующего набора навыков для поиска AI и Text2SQL.Вышеуказанные компоненты успешно использовались на производственных проектах RAG для повышения качества ответов.
Код, представленный в этом репозитории, является примером реализации и должен быть скорректирован перед использованием в рабочей среде.
На следующей диаграмме показан рабочий процесс включения плагина Text2SQL и AI Search в приложение RAG. Используя доступные плагины, а также возможности LLM по вызову функций, LLM может рассуждать по цепочке мыслей, чтобы определить шаги, необходимые для ответа на вопрос. Это позволяет LLM распознавать намерение и, следовательно, выбирать подходящие источники данных на основе намерения вопроса или их комбинации.
Этот проект приветствует вклад и предложения. Большинство вкладов требуют от вас согласия с Лицензионным соглашением для авторов (CLA), в котором говорится, что вы имеете право и действительно предоставляете нам права на использование вашего вклада. Подробную информацию можно найти на странице https://cla.opensource.microsoft.com.
Когда вы отправляете запрос на включение, бот CLA автоматически определяет, нужно ли вам предоставить CLA, и соответствующим образом оформляет PR (например, проверку статуса, комментарий). Просто следуйте инструкциям бота. Вам нужно будет сделать это только один раз во всех репозиториях, используя наш CLA.
В этом проекте принят Кодекс поведения Microsoft с открытым исходным кодом. Для получения дополнительной информации см. часто задаваемые вопросы о Кодексе поведения или свяжитесь с нами по адресу [email protected], если у вас возникнут дополнительные вопросы или комментарии.
Этот проект может содержать товарные знаки или логотипы проектов, продуктов или услуг. Разрешенное использование товарных знаков и логотипов Microsoft регулируется и должно соответствовать Руководству Microsoft по товарным знакам и брендам. Использование товарных знаков или логотипов Microsoft в измененных версиях этого проекта не должно вызывать путаницу или подразумевать спонсорство Microsoft. Любое использование товарных знаков или логотипов третьих лиц регулируется политикой этих третьих сторон.