Это решение представляет собой конвейер для преобразования контекстных знаний, хранящихся в документах и базах данных, в встраивания текста и сохранения их в векторном хранилище. Приложения, созданные с использованием больших языковых моделей (LLM), могут выполнять поиск по сходству в векторном хранилище, чтобы получить контекстные знания перед генерацией ответа. Этот метод известен как расширенная генерация поиска (RAG) и часто используется для повышения качества и точности ответов.
Просмотрите и измените конфигурацию перед ее использованием в производстве : текущую конфигурацию нельзя использовать в производстве без дальнейшего рассмотрения и адаптации. Для экономии средств используются многие антишаблоны, такие как отключение резервного копирования и нескольких зон доступности.
Помните о понесенных расходах : хотя это решение разработано как экономически эффективное, помните о понесенных расходах.
Клонируйте этот репозиторий.
Создайте пару ключей EC2 с именем «EC2DefaultKeyPair» в своей учетной записи AWS.
Установите зависимости.
npm install
cdk bootstrap
Пакетная функция Lambda и ее зависимости.
sh prepare-lambda-package.sh
.prepare-lambda-package.ps1
Разверните стеки CDK.
cdk deploy --all --require-approval never
Существует два способа загрузки данных в корзину S3.
(a) Загрузите файл .txt с некоторым содержимым (например, sample.txt) в корзину S3, созданную одним из стеков.
(б) Запустите задачу репликации DMS в консоли управления AWS. Данные из исходной базы данных будут реплицированы в корзину S3 и сохранены в файлах .csv.
Функция Lambda создаст встраивание текста содержимого в файлы .txt/.csv и сохранит их в векторном хранилище.
Подключитесь (SSH или подключение экземпляра) к хосту-бастиону. Запустите следующую команду (и укажите пароль) для аутентификации. Учетные данные можно найти в секрете text-embeddings-pipeline-vector-store в AWS Secrets Manager.
psql --port=5432 --dbname=postgres --username=postgres --host= < RDS instance DNS name >
dt
чтобы просмотреть таблицы базы данных. Таблицы с именами, начинающимися с префикса «langchain», создаются LangChain автоматически по мере создания и хранения вложений. List of relations
Schema | Name | Type | Owner
--------+-------------------------+-------+----------
public | langchain_pg_collection | table | postgres
public | langchain_pg_embedding | table | postgres
public | upsertion_record | table | postgres
(3 rows)
Документы и внедрения хранятся в таблице «langchain_pg_embedding». Вы можете увидеть усеченные значения (фактические значения слишком длинные), выполнив следующие команды.
SELECT embedding::varchar(80) FROM langchain_pg_embedding;
embedding
----------------------------------------------------------------------------------
[-0.005340576,-0.61328125,0.13769531,0.7890625,0.4296875,-0.13671875,-0.01379394 ...
[0.59375,-0.23339844,0.45703125,-0.14257812,-0.18164062,0.0030517578,-0.00933837 ...
(2 rows)
SELECT document::varchar(80) FROM langchain_pg_embedding;
document
----------------------------------------------------------------------------------
What is text embeddings pipeline?,Text embeddings pipeline allows you to create ...
AWS Health provides improved visibility into planned lifecycle events ...
(2 rows)
cdk destroy --all
Для получения дополнительной информации см. ВКЛАД.
Эта библиотека лицензируется по лицензии MIT-0. См. файл ЛИЦЕНЗИИ.