Задания могут быть настроены для работы с одним или несколькими развертываниями Больших Языковых Моделей (LLM) через поддерживаемого сервисного провайдера, такого как OpenAI, Azure или Hugging Face. Они предоставляют хостинговую конечную точку (API), к которой мы можем программно обращаться с правильными учетными данными (API-ключ или токен). В этом курсе мы рассматриваем следующих провайдеров:
- OpenAI с разнообразными моделями, включая основную серию GPT.
- Azure OpenAI для моделей OpenAI с акцентом на корпоративную готовность
- Hugging Face для моделей с открытым исходным кодом и сервера вывода
Для этих упражнений вам потребуется использовать собственные аккаунты. Задания являются необязательными, поэтому вы можете настроить одного, всех или ни одного из провайдеров в зависимости от ваших интересов. Некоторая информация для регистрации:
| Регистрация | Стоимость | API-ключ | Песочница | Комментарии |
|---|---|---|---|---|
| OpenAI | Цены | Проектный | Без кода, веб | Доступно несколько моделей |
| Azure | Цены | Быстрый старт SDK | Быстрый старт Studio | Необходимо предварительно подать заявку на доступ |
| Hugging Face | Цены | Токены доступа | Hugging Chat | Hugging Chat поддерживает ограниченное количество моделей |
Следуйте инструкциям ниже, чтобы настроить этот репозиторий для работы с разными провайдерами. Задания, требующие конкретного провайдера, будут содержать один из этих тегов в имени файла:
aoai- требует конечную точку и ключ Azure OpenAIoai- требует конечную точку и ключ OpenAIhf- требует токен Hugging Face
Вы можете настроить одного, ни одного или всех провайдеров. Связанные задания просто выдадут ошибку при отсутствии учетных данных.
Предполагается, что вы уже прочитали приведенные выше рекомендации, зарегистрировались у соответствующего провайдера и получили необходимые учетные данные для аутентификации (API_KEY или токен). В случае Azure OpenAI предполагается, что у вас также есть действующее развертывание сервиса Azure OpenAI (конечная точка) с хотя бы одной моделью GPT, развернутой для чат-комплешена.
Следующий шаг — настроить ваши локальные переменные окружения следующим образом:
-
Найдите в корневой папке файл
.env.copy, который должен содержать примерно следующее:# Поставщик OpenAI OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Значение по умолчанию установлено! AZURE_OPENAI_API_KEY='<add your AOAI key here>' AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>' ## Hugging Face HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
-
Скопируйте этот файл в
.envс помощью команды ниже. Этот файл игнорируется git, что обеспечивает безопасность секретов.cp .env.copy .env
-
Заполните значения (замените заполнители справа от
=) как описано в следующем разделе. -
(Опционально) Если вы используете GitHub Codespaces, у вас есть возможность сохранить переменные окружения как секреты Codespaces, связанные с этим репозиторием. В этом случае вам не нужно настраивать локальный файл .env. Однако обратите внимание, что эта опция работает только при использовании GitHub Codespaces. Если вы используете Docker Desktop, вам все равно нужно настроить файл .env.
Давайте быстро рассмотрим имена переменных, чтобы понять, что они означают:
| Переменная | Описание |
|---|---|
| HUGGING_FACE_API_KEY | Это токен доступа пользователя, который вы настроили в своем профиле |
| OPENAI_API_KEY | Это ключ авторизации для использования сервиса не-Azure OpenAI |
| AZURE_OPENAI_API_KEY | Это ключ авторизации для использования сервиса Azure OpenAI |
| AZURE_OPENAI_ENDPOINT | Это конечная точка развернутого ресурса Azure OpenAI |
| AZURE_OPENAI_DEPLOYMENT | Это конечная точка развертывания модели генерации текста |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Это конечная точка развертывания модели векторных эмбеддингов |
Примечание: последние две переменные Azure OpenAI отражают модель по умолчанию для чат-комплешена (генерация текста) и поиска по векторам (эмбеддинги) соответственно. Инструкции по их настройке будут даны в соответствующих заданиях.
Значения конечной точки и ключа Azure OpenAI можно найти в Azure Portal, начнем с него.
- Перейдите в Azure Portal
- Нажмите на опцию Keys and Endpoint в боковом меню (слева).
- Нажмите Show Keys — вы увидите следующее: KEY 1, KEY 2 и Endpoint.
- Используйте значение KEY 1 для AZURE_OPENAI_API_KEY
- Используйте значение Endpoint для AZURE_OPENAI_ENDPOINT
Далее нам нужны конечные точки для конкретных моделей, которые мы развернули.
- Нажмите на опцию Model deployments в боковом меню (слева) для ресурса Azure OpenAI.
- На открывшейся странице нажмите Manage Deployments
Это приведет вас на сайт Azure OpenAI Studio, где мы найдем остальные значения, как описано ниже.
- Перейдите в Azure OpenAI Studio через ваш ресурс, как описано выше.
- Нажмите вкладку Deployments (боковое меню слева), чтобы увидеть текущие развернутые модели.
- Если нужная модель не развернута, используйте Create new deployment для ее развертывания.
- Вам понадобится модель text-generation — рекомендуем: gpt-35-turbo
- Вам понадобится модель text-embedding — рекомендуем text-embedding-ada-002
Теперь обновите переменные окружения, чтобы отразить имя Deployment name, которое вы использовали. Обычно оно совпадает с именем модели, если вы явно не изменяли его. Например, у вас может быть:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Не забудьте сохранить файл .env после изменений. Теперь вы можете закрыть файл и вернуться к инструкциям по запуску ноутбука.
Ваш API-ключ OpenAI можно найти в вашем аккаунте OpenAI. Если у вас его нет, вы можете зарегистрироваться и создать API-ключ. После получения ключа используйте его для заполнения переменной OPENAI_API_KEY в файле .env.
Ваш токен Hugging Face можно найти в вашем профиле в разделе Access Tokens. Не публикуйте и не делитесь ими публично. Вместо этого создайте новый токен для использования в этом проекте и скопируйте его в файл .env в переменную HUGGING_FACE_API_KEY. Примечание: технически это не API-ключ, но используется для аутентификации, поэтому мы сохраняем такое наименование для согласованности.
Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия по обеспечению точности, имейте в виду, что автоматический перевод может содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется обращаться к профессиональному переводу, выполненному человеком. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования данного перевода.