В этом образце репозитория представлен пример кода для использования метода RAG (дополненная генерация извлечения) с ретрансляцией в Amazon Bedrock Titan Embeddings Generation 1 (G1) LLM (большая языковая модель) для создания встраивания текста, который будет храниться в Amazon OpenSearch с поддержкой векторного механизма для помощь в оперативном решении инженерных задач для более точного ответа от LLM.
После того, как мы успешно загрузили внедрения в OpenSearch, мы начнем запрашивать наш LLM, используя LangChain. Мы будем задавать вопросы, извлекая аналогичные вставки для более точной подсказки.
Вы можете использовать параметр --bedrock-model-id
, чтобы легко выбрать одну из доступных моделей фундамента в Amazon Bedrock, которая по умолчанию использует Anthropic Claude v2 и может быть заменена на любую другую модель от любого другого поставщика моделей, чтобы выбрать наиболее эффективный фундамент. модель.
Антропный:
python ./ask-bedrock-with-rag.py --ask "How will AI will change our every day life?"
python ./ask-bedrock-with-rag.py --bedrock-model-id anthropic.claude-v1 --ask "How will AI will change our every day life?"
python ./ask-bedrock-with-rag.py --bedrock-model-id anthropic.claude-instant-v1 --ask "How will AI will change our every day life?"
Лаборатории AI21:
python ./ask-bedrock-with-rag.py --bedrock-model-id ai21.j2-ultra-v1 --ask "How will AI will change our every day life?"
python ./ask-bedrock-with-rag.py --bedrock-model-id ai21.j2-mid-v1 --ask "How will AI will change our every day life?"
Это было протестировано на Python 3.11.4.
Рекомендуется работать в чистой среде, использовать virtualenv
или любой другой менеджер виртуальной среды.
pip install virtualenv
python -m virtualenv venv
source ./venv/bin/activate
Требования к установке pip install -r requirements.txt
Установите terraform, чтобы создать кластер OpenSearch.
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
Перейдите на страницу доступа к модели и включите базовые модели, которые вы хотите использовать.
На первом этапе мы запустим кластер OpenSearch с использованием Terraform.
cd ./terraform
terraform init
terraform apply -auto-approve
Эта конфигурация кластера предназначена только для тестирования, поскольку ее конечная точка является общедоступной для упрощения использования этого примера кода.
Теперь, когда у нас есть работающий кластер OpenSearch с поддержкой векторного механизма, мы начнем загружать наши данные, которые помогут нам в оперативном проектировании. В этом примере мы будем использовать источник данных Hugging Face embedding-training-data gooaq_pairs, загрузим его и вызовем встраивание Titan, чтобы получить встраивание текста, которое мы сохраним в OpenSearch для следующих шагов.
python load-data-to-opensearch.py --recreate 1 --early-stop 1
Необязательные аргументы:
--recreate
для воссоздания индекса в OpenSearch--early-stop
для загрузки только 100 встроенных документов в OpenSearch--index
для использования индекса, отличного от индекса по умолчанию--region
, если вы не используете значение по умолчанию us-east-1
Теперь, когда у нас есть встроенный текст в наш кластер OpenSearch, мы можем начать запрашивать текст Titan модели LLM в Amazon Bedrock с помощью RAG.
python ask-bedrock-with-rag.py --ask " your question here "
Необязательные аргументы:
--index
для использования индекса, отличного от индекса по умолчанию--region
, если вы не используете значение по умолчанию us-east-1--bedrock-model-id
для выбора моделей, отличных от Anthropic's Claude v2
cd ./terraform
terraform destroy # When prompt for confirmation, type yes, and press enter.
См. ВКЛАД для получения дополнительной информации.
Эта библиотека лицензируется по лицензии MIT-0. См. файл ЛИЦЕНЗИИ.