Руководство. Часть 1. Настройка проекта и среды разработки для создания пользовательского приложения для получения знаний (RAG) с помощью пакета SDK для Azure AI Foundry
В этом руководстве вы используете пакет SDK для Azure AI Foundry (и другие библиотеки) для создания, настройки, оценки и развертывания приложения чата для вашей розничной компании с именем Contoso Trek. Ваша розничная компания специализируется на открытом кемпинге шестеренки и одежды. Приложение чата должно отвечать на вопросы о продуктах и службах. Например, приложение чата может ответить на такие вопросы, как "какая палатка является самой водонепроницаемой?" или "что является лучшим спящим мешком для холодной погоды?".
Это руководство является частью одного из трех частей учебника. Эта часть позволяет вам подготовиться к написанию кода в двух частях и оценить приложение чата в третьей части. В этой части вы:
- Создание проекта
- Создание индекса поиска ИИ Azure
- Установка Azure CLI и вход
- Установка Python и пакетов
- Развертывание моделей в проекте
- Настройка переменных среды
Если вы выполнили другие учебники или краткие руководства, возможно, вы уже создали некоторые ресурсы, необходимые для этого руководства. Если у вас есть, вы можете пропустить эти шаги здесь.
Это руководство является частью одного из трех частей учебника.
Внимание
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Если у вас нет учетной записи, создайте бесплатную учетную запись.
Создание проекта
Чтобы создать проект в Azure AI Studio, выполните следующие действия.
- Перейдите на домашнюю страницу Azure AI Studio.
- Нажмите кнопку " + Создать проект".
- Введите имя проекта. Сохраните все остальные параметры по умолчанию.
- Выберите Создать проект.
Создание служба искусственного интеллекта Azure
Цель этого приложения — заставить ответы модели в пользовательских данных. Индекс поиска используется для получения соответствующих документов на основе вопроса пользователя.
Для создания индекса поиска требуется служба ИИ Azure и подключение.
Примечание.
Создание служба ИИ Azure и последующих индексов поиска связано с затратами. Сведения о ценах и ценовых категориях для azure AI служба на странице создания можно просмотреть, чтобы подтвердить затраты перед созданием ресурса.
Если у вас уже есть служба ИИ Azure, перейдите к следующему разделу.
В противном случае можно создать служба ИИ Azure с помощью портал Azure.
Совет
Этот шаг — это единственный раз, когда вы используете портал Azure в этом руководстве. Остальная часть работы выполняется в Azure AI Studio или в локальной среде разработки.
- Создайте служба Azure AI в портал Azure.
- Выберите группу ресурсов и сведения о экземпляре. На этой странице можно просмотреть сведения о ценах и ценовых категориях.
- Перейдите к мастеру и выберите "Проверить и назначить" , чтобы создать ресурс.
- Проверьте сведения о служба azure AI, включая предполагаемые затраты.
- Выберите "Создать", чтобы создать служба ИИ Azure.
Подключение поиска ИИ Azure к проекту
Если у вас уже есть подключение к поиску ИИ Azure в проекте, вы можете перейти к установке Azure CLI и войти в систему.
В Azure AI Studio проверьте подключенный ресурс поиска ИИ Azure.
- В AI Studio перейдите в проект и выберите центр управления в левой области.
- В разделе "Подключенные ресурсы" просмотрите, есть ли у вас подключение к типу службы "Поиск ИИ Azure".
- Если у вас есть подключение к поиску ИИ Azure, вы можете перейти к следующему разделу.
- В противном случае выберите "Создать подключение" и " Поиск по искусственному интеллекту Azure".
- Найдите служба Azure AI в параметрах и выберите "Добавить подключение".
- Используйте ключ API для проверки подлинности.
- Выберите Добавить подключение.
Примечание.
Вместо этого можно использовать идентификатор Microsoft Entra для проверки подлинности. При этом необходимо также настроить управление доступом для служба искусственного интеллекта Azure. Назначьте себе роль пользователя OpenAI Cognitive Services. Если вы не знаете, как это сделать, или у вас нет необходимых разрешений, используйте ключ API для проверки подлинности.
Установка Azure CLI и вход
Вы устанавливаете Azure CLI и войдите из локальной среды разработки, чтобы использовать учетные данные пользователя для вызова службы Azure OpenAI.
В большинстве случаев azure CLI можно установить из терминала с помощью следующей команды:
Инструкции по установке Azure CLI можно выполнить, если эти команды не работают для конкретной операционной системы или установки.
После установки Azure CLI выполните вход с помощью az login
команды и входа с помощью браузера:
az login
Кроме того, вы можете войти вручную через браузер с помощью кода устройства.
az login --use-device-code
Создание новой среды Python.
Сначала необходимо создать новую среду Python для установки пакета, необходимого для работы с этим руководством. Не устанавливайте пакеты в глобальную установку Python. При установке пакетов Python всегда следует использовать виртуальную или конда-среду, в противном случае можно разорвать глобальную установку Python.
При необходимости установите Python
Рекомендуется использовать Python 3.10 или более поздней версии, но требуется по крайней мере Python 3.8. Если у вас нет подходящей версии Python, вы можете следовать инструкциям в руководстве по Python VS Code для простого способа установки Python в операционной системе.
Создание виртуальной среды
Если у вас уже установлен Python 3.10 или более поздней версии, можно создать виртуальную среду с помощью следующих команд:
Активация среды Python означает, что при запуске python
или pip
из командной строки используется интерпретатор Python, содержащийся в .venv
папке приложения.
Примечание.
Вы можете использовать deactivate
команду для выхода из виртуальной среды Python, а затем повторно активировать ее при необходимости.
Установка пакетов
Установка azure-ai-projects
(предварительная версия) и azure-ai-inference
(предварительная версия) вместе с другими необходимыми пакетами.
Сначала создайте файл с именем requirements.txt в папке проекта. Добавьте в файл следующие пакеты:
azure-ai-projects azure-ai-inference[prompts] azure-identity azure-search-documents pandas python-dotenv opentelemetry-api
Установите необходимые пакеты.
pip install -r requirements.txt
Создание вспомогательного скрипта
Создайте папку для работы. Создайте файл с именем config.py в этой папке. Этот вспомогательный скрипт используется в следующих двух частях серии учебников. Добавьте следующий код:
# ruff: noqa: ANN201, ANN001
import os
import sys
import pathlib
import logging
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.inference.tracing import AIInferenceInstrumentor
# load environment variables from the .env file
from dotenv import load_dotenv
load_dotenv()
# Set "./assets" as the path where assets are stored, resolving the absolute path:
ASSET_PATH = pathlib.Path(__file__).parent.resolve() / "assets"
# Configure an root app logger that prints info level logs to stdout
logger = logging.getLogger("app")
logger.setLevel(logging.INFO)
logger.addHandler(logging.StreamHandler(stream=sys.stdout))
# Returns a module-specific logger, inheriting from the root app logger
def get_logger(module_name):
return logging.getLogger(f"app.{module_name}")
# Enable instrumentation and logging of telemetry to the project
def enable_telemetry(log_to_project: bool = False):
AIInferenceInstrumentor().instrument()
# enable logging message contents
os.environ["AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED"] = "true"
if log_to_project:
from azure.monitor.opentelemetry import configure_azure_monitor
project = AIProjectClient.from_connection_string(
conn_str=os.environ["AIPROJECT_CONNECTION_STRING"], credential=DefaultAzureCredential()
)
tracing_link = f"https://ai.azure.com/tracing?wsid=/subscriptions/{project.scope['subscription_id']}/resourceGroups/{project.scope['resource_group_name']}/providers/Microsoft.MachineLearningServices/workspaces/{project.scope['project_name']}"
application_insights_connection_string = project.telemetry.get_connection_string()
if not application_insights_connection_string:
logger.warning(
"No application insights configured, telemetry will not be logged to project. Add application insights at:"
)
logger.warning(tracing_link)
return
configure_azure_monitor(connection_string=application_insights_connection_string)
logger.info("Enabled telemetry logging to project, view traces at:")
logger.info(tracing_link)
Развертывание моделей
Вам потребуется две модели для создания приложения чата на основе RAG: модели чата Azure OpenAI (gpt-4o-mini
) и модели внедрения Azure OpenAI (text-embedding-ada-002
). Разверните эти модели в проекте Azure AI Studio, используя этот набор шагов для каждой модели.
Эти шаги по развертыванию модели в конечной точке в режиме реального времени из каталога моделей AI Studio:
Войдите в Azure AI Studio.
Студия запоминает, где вы были последними, поэтому теперь вы увидите проект, созданный в начале этого руководства. Если вместо этого отображается список проектов, выберите созданный для этого руководства.
Выберите модель gpt-4o-mini в списке моделей. Вы можете использовать панель поиска, чтобы найти ее.
На странице сведений о модели выберите "Развернуть".
Оставьте имя развертывания по умолчанию. Выберите "Подключиться" и развернуть.
После развертывания gpt-4o-mini повторите действия по развертыванию модели text-embedding-ada-002.
Настройка переменных среды
Для вызова службы Azure OpenAI из кода требуется строка подключения проекта. В этом кратком руководстве вы сохраните это значение в .env
файле, который содержит переменные среды, считываемые приложением.
.env
Создайте файл и вставьте следующий код:
AIPROJECT_CONNECTION_STRING=<your-connection-string>
AISEARCH_INDEX_NAME="example-index"
EMBEDDINGS_MODEL="text-embedding-ada-002"
INTENT_MAPPING_MODEL="gpt-4o-mini"
CHAT_MODEL="gpt-4o-mini"
EVALUATION_MODEL="gpt-4o-mini"
Найдите строка подключения в проекте Azure AI Studio, созданном в кратком руководстве по игровой площадке AI Studio. Откройте проект, а затем найдите строка подключения на странице обзора. Скопируйте строка подключения и вставьте его в .env
файл.
Если у вас есть индекс поиска, который вы хотите использовать, обновите AISEARCH_INDEX_NAME
значение, соответствующее имени индекса поиска. Если у вас его нет, вы создадите его в части 2 этого руководства.
Если вы изменили имена моделей при их развертывании, обновите значения в .env
файле, чтобы они соответствовали используемым именам.
Совет
Если вы работаете в VS Code, закройте окно терминала после сохранения изменений в .env
файле.
Предупреждение
Убедитесь, что ваш .env
файл находится в .gitignore
вашем файле, чтобы не случайно проверить его в репозитории Git.
Очистка ресурсов
Чтобы избежать ненужных затрат Azure, следует удалить ресурсы, созданные в этом руководстве, если они больше не нужны. Для управления ресурсами можно использовать портал Azure.
Но не удаляйте их еще, если вы хотите создать приложение чата в следующей части этой серии учебников.
Следующий шаг
В этом руководстве описано, как настроить все, что необходимо для создания пользовательского приложения чата с помощью пакета SDK для искусственного интеллекта Azure. В следующей части этой серии учебников вы создадите пользовательское приложение.