Обеспечение качества с помощью LLM и RAG (Поисковая дополненная генерация)
Этот проект представляет собой приложение для ответов на вопросы с использованием больших языковых моделей (LLM) и Amazon Aurora Postgresql с использованием pgvector. Приложение, использующее подход RAG (извлечение дополненной генерации), извлекает информацию, наиболее соответствующую запросу пользователя, из базы знаний предприятия или контента, объединяет ее в качестве контекста вместе с запросом пользователя в виде подсказки, а затем отправляет ее в LLM для получения Ответ ГенИИ.
LLM имеет ограничения на максимальное количество слов для ввода, поэтому выбор правильных отрывков среди тысяч или миллионов документов на предприятии напрямую влияет на точность LLM.
В этом проекте в качестве базы знаний используется Amazon Aurora Postgresql с pgvector.
Общая архитектура такая:
Общий рабочий процесс
- Разверните стеки cdk (дополнительную информацию см. здесь).
- SageMaker Studio в частном VPC.
- Конечная точка SageMaker для генерации текста.
- Конечная точка SageMaker для создания вложений.
- Кластер Amazon Aurora Postgresql для хранения внедрений.
- Учетные данные доступа к кластеру Aurora Postgresql (имя пользователя и пароль), хранящиеся в AWS Secrets Mananger, в виде имени, например
RAGPgVectorStackAuroraPostg-xxxxxxxxxxxx
.
- Откройте SageMaker Studio, а затем откройте новый системный терминал .
- Выполните следующие команды на терминале, чтобы клонировать репозиторий кода для этого проекта:
git clone --depth=1 https://github.com/ksmin23/rag-with-postgresql-pgvector-and-sagemaker.git
- Откройте блокнот
data_ingestion_to_pgvector.ipynb
и запустите его. (Подробнее см. здесь) - Запустите приложение Streamlit. (Подробнее см. здесь)
Ссылки
- Использование pgvector и Amazon Aurora PostgreSQL для обработки естественного языка, чат-ботов и анализа настроений (13 июля 2023 г.)
- Ускорьте индексирование и поиск HNSW с помощью pgvector в выпуске Amazon Aurora PostgreSQL, совместимом с PostgreSQL, и Amazon RDS для PostgreSQL (06.11.2023)
- Оптимизация генеративных приложений искусственного интеллекта с помощью индексации pgvector: глубокое погружение в методы IVFFlat и HNSW (15 марта 2024 г.)
- Повышение производительности генеративных рабочих нагрузок искусственного интеллекта в Amazon Aurora с помощью Optimized Reads и pgvector (09 февраля 2024 г.)
- Создание поиска на основе искусственного интеллекта в PostgreSQL с использованием Amazon SageMaker и pgvector (03.05.2023)
- Создание приложений Streamlit в Amazon SageMaker Studio (11 апреля 2023 г.)
- Быстро создавайте высокоточные приложения генеративного искусственного интеллекта на основе корпоративных данных с помощью Amazon Kendra, LangChain и больших языковых моделей (03.05.2023).
- (github) Образцы Amazon Kendra Retriver
- Ответы на вопросы с использованием поисковой расширенной генерации с базовыми моделями в Amazon SageMaker JumpStart (2023-05-02)
- Используйте собственные модели фундамента из Amazon SageMaker JumpStart в Amazon SageMaker Studio (27 июня 2023 г.)
- LangChain — платформа для разработки приложений на основе языковых моделей.
- Streamlit — более быстрый способ создания приложений для обработки данных и обмена ими
- rag-with-amazon-kendra-and-sagemaker — приложение для ответов на вопросы с моделями большого языка (LLM) и Amazon Kendra
- rag-with-amazon-opensearch-and-sagemaker — приложение для ответов на вопросы с большими языковыми моделями (LLM) и Amazon OpenSearch Service
- rag-with-amazon-opensearch-serverless — приложение для ответов на вопросы с большими языковыми моделями (LLM) и бессерверной службой Amazon OpenSearch
- Журнал изменений Pgvector
Увеличены максимальные размеры вектора с 1024 до 16000.
Увеличены максимальные размеры индекса с 1024 до 2000.