Внешние модели в сервисе Mosaic AI Model Serving
Внимание
Примеры кода в этой статье демонстрируют использование общедоступной предварительной версии API CRUD для развертываний MLflow.
В этой статье описаны внешние модели в Службе моделей ИИ Mosaic, включая поддерживаемых поставщиков моделей и ограничения.
Что такое внешние модели?
Внимание
Теперь вы можете настроить шлюз ИИ Мозаики на конечных точках обслуживания моделей, обслуживающих внешние модели. Шлюз искусственного интеллекта обеспечивает управление, мониторинг и готовность к производственному использованию этих конечных точек для обслуживания моделей. См. Введение в шлюз Mosaic AI.
Внешние модели — это сторонние модели, размещенные за пределами Databricks. Поддерживается службой моделей, внешние модели позволяют оптимизировать использование и управление различными поставщиками крупных языковых моделей (LLM), такими как OpenAI и Anthropic, в организации. Вы также можете использовать Mosaic AI Model Serving в качестве провайдера для развертывания пользовательских моделей, которые имеют ограничения скорости для этих конечных точек. В рамках этой поддержки служба модели предлагает высокоуровневый интерфейс, упрощающий взаимодействие с этими службами, предоставляя единую конечную точку для обработки конкретных запросов, связанных с LLM.
Кроме того, поддержка Azure Databricks для внешних моделей обеспечивает централизованное управление учетными данными. Сохраняя ключи API в одном безопасном расположении, организации могут повысить уровень безопасности, свести к минимуму воздействие конфиденциальных ключей API во всей системе. Он также помогает предотвратить размещение этих ключей в коде или необходимость безопасного управления ключами конечными пользователями.
См. Руководство: Создание конечных точек внешней модели для запроса моделей OpenAI для пошагового руководства по созданию конечных точек внешней модели и запросу поддерживаемых моделей, обслуживаемых этими конечными точками с помощью пакета SDK для развертываний MLflow. Инструкции по использованию пользовательского интерфейса обслуживания и REST API см. в следующих руководствах.
Требования
- Ключ API или поля проверки подлинности для поставщика моделей.
- Рабочая область Databricks в регионах с поддержкой внешних моделей.
поставщики моделей
Внешние модели в Службе моделей предназначены для поддержки различных поставщиков моделей. Поставщик представляет источник моделей машинного обучения, таких как OpenAI, Anthropic и т. д. Каждый поставщик имеет свои специфические характеристики и конфигурации, инкапсулированные в external_model
поле конфигурации внешней конечной точки модели.
Поддерживаются следующие поставщики:
- openai: для моделей, предлагаемых OpenAI и интеграций Azure для Azure OpenAI и Azure OpenAI с AAD.
- антропический: Для моделей, предлагаемых Anthropic.
- cohere: Для моделей, предлагаемых Cohere.
- amazon-bedrock: Для моделей, предлагаемых Amazon Bedrock.
- google-cloud-vertex-ai: для моделей, предлагаемых Google Cloud Vertex AI.
- databricks-model-serving: для конечных точек обслуживания моделей Mosaic AI с совместимыми схемами. См. Конфигурация конечной точки.
- настраиваемые: для альтернативных поставщиков или моделей, поддерживающих пользовательские прокси-серверы, совместимые с API OpenAI, но не поддерживаются напрямую Databricks.
Чтобы запросить поддержку от поставщика, не указанного здесь, попробуйте использовать кастомный параметр поставщика или обратитесь к команде вашего аккаунта Databricks.
Поддерживаемые модели
Выбранная модель напрямую влияет на результаты ответов, полученных от вызовов API. Поэтому выберите модель, которая соответствует вашим требованиям к варианту использования. Например, для создания ответов на беседы можно выбрать модель чата. И наоборот, для создания эмбеддингов текста можно выбрать модель эмбеддинга.
Использование моделей, предоставляемых на конечных точках Mosaic AI Model Serving
Поставщик конечных точек Mosaic AI Model Serving поддерживается для типов конечных точек llm/v1/completions
, llm/v1/chat
и llm/v1/embeddings
. Эти конечные точки должны принимать стандартные параметры запроса, помеченные как обязательные, в то время как другие параметры могут игнорироваться в зависимости от того, поддерживает ли конечная точка службы модели ИИ Мозаики.
См. POST /serving-endpoints/{name}/invocations в документации по API для стандартных параметров запроса.
Эти конечные точки должны создавать ответы в следующем формате OpenAI.
Для заданий на завершение:
{
"id": "123", # Not Required
"model": "test_databricks_model",
"choices": [
{
"text": "Hello World!",
"index": 0,
"logprobs": null, # Not Required
"finish_reason": "length" # Not Required
}
],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Для задач чата:
{
"id": "123", # Not Required
"model": "test_chat_model",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?",
},
"finish_reason": "stop"
},
{
"index": 1,
"message": {
"role": "human",
"content": "\n\nWhat is the weather in San Francisco?",
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Для задач встраивания:
{
"data": [
{
"embedding": [
1.0023064255,
-0.009327292,
.... # (1536 floats total for ada-002)
-0.0028842222,
],
"index": 0
},
{
"embedding": [
1.0023064255,
-0.009327292,
.... #(1536 floats total for ada-002)
-0.0028842222,
],
"index": 0
}
],
"model": "test_embedding_model",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Конфигурация конечной точки
Для обслуживания и запроса внешних моделей необходимо настроить конечную точку обслуживания. См. статью "Создание внешней конечной точки обслуживания модели"
Для внешней конечной точки обслуживания модели необходимо включить поле external_model
и его параметры в served_entities
разделе конфигурации конечной точки. Если вы настраиваете несколько внешних моделей в конечной точке обслуживания, необходимо указать traffic_config
процент маршрутизации трафика для каждой внешней модели.
Поле external_model
определяет модель, в которую эта конечная точка пересылает запросы. При указании модели важно, чтобы поставщик поддерживал запрашиваемую модель. Например, openai
в качестве поставщика поддерживает такие модели, как text-embedding-ada-002
, но другие поставщики могут этого не делать. Если модель не поддерживается поставщиком, Databricks возвращает ошибку HTTP 4xx при попытке маршрутизировать запросы к этой модели.
В приведенной ниже таблице перечислены параметры поля external_model
. Сведения о параметрах конфигурации конечной точки см. в POST /api/2.0/service-endpoints.
Параметр | Описания |
---|---|
name |
Имя используемой модели. Например, gpt-3.5-turbo для модели OpenAI GPT-3.5-Turbo . Это передается в составе текста запроса с соответствующим ключом: "model" . |
provider |
Указывает имя поставщика для этой модели. Это строковое значение должно соответствовать поставщику внешней модели, поддерживаемому. Например, openai для моделей OpenAI GPT-3.5 . |
task |
Задача соответствует типу требуемого взаимодействия языковой модели. Поддерживаемые задачи: llm/v1/completions, llm/v1/chat, llm/v1/embeddings. |
<provider>_config |
Содержит дополнительные сведения о конфигурации, необходимые для модели. Это включает указание базового URL-адреса API и ключа API. См. статью "Настройка поставщика для конечной точки". Если вы используете поставщик custom , задайте этот параметр как custom_provider_config . |
Ниже приведен пример создания внешней конечной точки модели с помощью create_endpoint()
API. В этом примере запрос, отправленный в конечную точку завершения, пересылается в модель, предоставленную claude-2
anthropic
.
import mlflow.deployments
client = mlflow.deployments.get_deploy_client("databricks")
client.create_endpoint(
name="anthropic-completions-endpoint",
config={
"served_entities": [
{
"name": "test",
"external_model": {
"name": "claude-2",
"provider": "anthropic",
"task": "llm/v1/completions",
"anthropic_config": {
"anthropic_api_key": "{{secrets/my_anthropic_secret_scope/anthropic_api_key}}"
}
}
}
]
}
)
Настройка поставщика для конечной точки
При создании конечной точки необходимо указать необходимые конфигурации для указанного поставщика моделей. В следующих разделах приведены общие сведения о доступных параметрах конфигурации конечной точки для каждого поставщика модели.
Примечание.
Databricks шифрует и безопасно сохраняет предоставленные учетные данные для каждого поставщика моделей. Эти учетные данные автоматически удаляются при удалении связанных конечных точек.
OpenAI
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
openai_api_key |
Ссылка на секретный ключ Azure Databricks для ключа API OpenAI в службе OpenAI. Если вы предпочитаете вставлять ключ API напрямую, см. раздел openai_api_key_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: openai_api_key или openai_api_key_plaintext . |
|
openai_api_key_plaintext |
Ключ API OpenAI, предоставленный службой OpenAI в виде строки открытого текста. Если вы предпочитаете ссылаться на ключ с помощью секретов Azure Databricks, см. раздел openai_api_key . |
Необходимо предоставить ключ API, указав одно из следующих полей: openai_api_key или openai_api_key_plaintext . |
|
openai_api_type |
Необязательное поле для указания типа используемого API OpenAI. | Нет | openai |
openai_api_base |
Базовый URL-адрес API OpenAI. | Нет | https://api.openai.com/v1 |
openai_api_version |
Необязательное поле для указания версии API OpenAI. | Нет | |
openai_organization |
Необязательное поле для указания организации в OpenAI. | Нет |
Cohere
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
cohere_api_key |
Ссылка на секретный ключ Azure Databricks для ключа API Cohere. Если вы предпочитаете вставлять ключ API напрямую, см. раздел cohere_api_key_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: cohere_api_key или cohere_api_key_plaintext . |
|
cohere_api_key_plaintext |
Ключ API Cohere, предоставленный в виде строки открытого текста. Если вы предпочитаете ссылаться на ключ с помощью Azure Databricks Secrets, см. раздел cohere_api_key . |
Необходимо указать ключ API, используя одно из следующих полей: cohere_api_key или cohere_api_key_plaintext . |
|
cohere_api_base |
Базовый URL-адрес службы Cohere. | Нет |
Anthropic
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
anthropic_api_key |
Ссылка на секретный ключ Azure Databricks для ключа API Anthropic. Если вы предпочитаете вставлять ключ API напрямую, см. раздел anthropic_api_key_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: anthropic_api_key или anthropic_api_key_plaintext . |
|
anthropic_api_key_plaintext |
Ключ API anthropic, предоставленный в виде строки открытого текста. Если вы предпочитаете ссылаться на ключ с помощью секретов Azure Databricks, см. раздел anthropic_api_key . |
Необходимо указать ключ API, используя одно из следующих полей: anthropic_api_key или anthropic_api_key_plaintext . |
Azure OpenAI
Azure OpenAI имеет различные функции по сравнению с прямой службой OpenAI. Чтобы ознакомиться с общим представлением, пожалуйста, смотрите документацию по сравнению.
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
openai_api_key |
Ссылка на секретный ключ в Azure Databricks для ключа API OpenAI с использованием службы Azure. Если вы предпочитаете вставлять ключ API напрямую, см. раздел openai_api_key_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: openai_api_key или openai_api_key_plaintext . |
|
openai_api_key_plaintext |
Ключ API OpenAI предоставляется службой Azure в виде строки открытого текста. Если вы предпочитаете ссылаться на ключ с помощью секретов Azure Databricks, см. раздел openai_api_key . |
Необходимо указать ключ API, используя одно из следующих полей: openai_api_key или openai_api_key_plaintext . |
|
openai_api_type |
Используйте azure для проверки токена доступа. |
Да | |
openai_api_base |
Базовый URL-адрес для службы API OpenAI Azure, предоставляемой Azure. | Да | |
openai_api_version |
Версия службы Azure OpenAI, которую нужно использовать, определяется датой. | Да | |
openai_deployment_name |
Имя ресурса развертывания для службы Azure OpenAI. | Да | |
openai_organization |
Необязательное поле для указания организации в OpenAI. | Нет |
Если вы используете Azure OpenAI с идентификатором Microsoft Entra, используйте следующие параметры в конфигурации конечной точки. Databricks передает https://cognitiveservices.azure.com/
в качестве сферы действий по умолчанию для токена Microsoft Entra ID.
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
microsoft_entra_tenant_id |
Идентификатор арендатора для аутентификации в Microsoft Entra ID. | Да | |
microsoft_entra_client_id |
Идентификатор клиента для аутентификации в Microsoft Entra ID. | Да | |
microsoft_entra_client_secret |
Ссылка на секретный ключ Azure Databricks для секрета клиента, используемого для проверки подлинности идентификатора Microsoft Entra. Если вы предпочитаете вставить секретный ключ клиента напрямую, см. раздел microsoft_entra_client_secret_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: microsoft_entra_client_secret или microsoft_entra_client_secret_plaintext . |
|
microsoft_entra_client_secret_plaintext |
Секрет клиента, используемый для проверки подлинности идентификатора Microsoft Entra, предоставленный в виде строки открытого текста. Если вы предпочитаете ссылаться на ключ с помощью секретов Azure Databricks, см. раздел microsoft_entra_client_secret . |
Необходимо указать ключ API, используя одно из следующих полей: microsoft_entra_client_secret или microsoft_entra_client_secret_plaintext . |
|
openai_api_type |
Используйте azuread для аутентификации с Microsoft Entra ID. |
Да | |
openai_api_base |
Базовый URL-адрес для службы API OpenAI Azure, предоставляемой Azure. | Да | |
openai_api_version |
Версия службы Azure OpenAI, которую нужно использовать, определенная датой. | Да | |
openai_deployment_name |
Имя ресурса развертывания для службы Azure OpenAI. | Да | |
openai_organization |
Необязательное поле для указания организации в OpenAI. | Нет |
В следующем примере показано, как создать конечную точку с помощью Azure OpenAI:
client.create_endpoint(
name="openai-chat-endpoint",
config={
"served_entities": [{
"external_model": {
"name": "gpt-3.5-turbo",
"provider": "openai",
"task": "llm/v1/chat",
"openai_config": {
"openai_api_type": "azure",
"openai_api_key": "{{secrets/my_openai_secret_scope/openai_api_key}}",
"openai_api_base": "https://my-azure-openai-endpoint.openai.azure.com",
"openai_deployment_name": "my-gpt-35-turbo-deployment",
"openai_api_version": "2023-05-15"
}
}
}]
}
)
Google Cloud Vertex AI
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
private_key |
Ссылка на секретный ключ в Azure Databricks для закрытого ключа учетной записи службы, имеющей доступ к сервису Google Cloud Vertex AI. Ознакомьтесь с рекомендациями по управлению ключами учетной записи службы. Если вы предпочитаете вставлять ключ API напрямую, см. раздел private_key_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: private_key или private_key_plaintext . |
|
private_key_plaintext |
Закрытый ключ для учетной записи службы, которая имеет доступ к службе Google Cloud Vertex AI, предоставляется как секрет в виде открытого текста. Ознакомьтесь с рекомендациями по управлению ключами учетной записи службы. Если вы предпочитаете ссылаться на ключ с помощью секретов службы Azure Databricks, см. раздел private_key . |
Необходимо указать ключ API, используя одно из следующих полей: private_key или private_key_plaintext . |
|
region |
Это регион службы ИИ Google Cloud Vertex. Дополнительные сведения см. в поддерживаемых регионах. Некоторые модели доступны только в определенных регионах. | Да | |
project_id |
Это идентификатор проекта Google Cloud, с которым связана учетная запись службы. | Да |
Amazon Bedrock
Чтобы использовать Amazon Bedrock в качестве внешнего поставщика моделей, клиентам необходимо убедиться, что Bedrock включен в указанном регионе AWS, а указанная пара ключей AWS имеет соответствующие разрешения для взаимодействия со службами Bedrock. Дополнительные сведения см. в разделе "Управление удостоверениями и доступом AWS".
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
aws_region |
Используемый регион AWS. Bedrock должен быть активирован там. | Да | |
aws_access_key_id |
Ссылка на секретный ключ Azure Databricks для идентификатора ключа доступа AWS, имеющего разрешения на взаимодействие со службами Bedrock. Если вы предпочитаете вставлять ключ API напрямую, см. раздел aws_access_key_id_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: aws_access_key_id или aws_access_key_id_plaintext . |
|
aws_access_key_id_plaintext |
Идентификатор ключа доступа AWS с разрешениями на взаимодействие со службами Bedrock, предоставляемыми в виде строки открытого текста. Если вы предпочитаете ссылаться на ключ с помощью секретов Azure Databricks, см. раздел aws_access_key_id . |
Необходимо указать ключ API, используя одно из следующих полей: aws_access_key_id или aws_access_key_id_plaintext . |
|
aws_secret_access_key |
Ссылка на секретный ключ Azure Databricks для секретного ключа доступа AWS, связанного с идентификатором ключа доступа и имеющего разрешения на взаимодействие со службами Bedrock. Если вы предпочитаете вставлять ключ API напрямую, см. раздел aws_secret_access_key_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: aws_secret_access_key или aws_secret_access_key_plaintext . |
|
aws_secret_access_key_plaintext |
Ключ секретного доступа AWS, связанный с идентификатором ключа доступа, с разрешениями на взаимодействие со службами Bedrock, предоставляемыми в виде строки открытого текста. Если вы предпочитаете ссылаться на ключ с помощью секретов Azure Databricks, см. раздел aws_secret_access_key . |
Необходимо указать ключ API, используя одно из следующих полей: aws_secret_access_key или aws_secret_access_key_plaintext . |
|
bedrock_provider |
Базовый поставщик в системе Amazon Bedrock. Поддерживаемые значения (регистр не имеет значения) включают: Anthropic, Cohere, AI21Labs, Amazon | Да |
В следующем примере показано, как создать конечную точку с Amazon Bedrock с помощью идентификационных данных доступа.
client.create_endpoint(
name="bedrock-anthropic-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "claude-v2",
"provider": "amazon-bedrock",
"task": "llm/v1/completions",
"amazon_bedrock_config": {
"aws_region": "<YOUR_AWS_REGION>",
"aws_access_key_id": "{{secrets/my_amazon_bedrock_secret_scope/aws_access_key_id}}",
"aws_secret_access_key": "{{secrets/my_amazon_bedrock_secret_scope/aws_secret_access_key}}",
"bedrock_provider": "anthropic",
},
}
}
]
},
)
Если возникли проблемы с разрешениями AWS, Databricks рекомендует проверить учетные данные непосредственно с помощью API Amazon Bedrock.
Лаборатории AI21
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
ai21labs_api_key |
Ссылка на секретный ключ Azure Databricks для ключа API AI21 Labs. Если вы предпочитаете вставлять ключ API напрямую, см. раздел ai21labs_api_key_plaintext . |
Необходимо указать ключ API, используя одно из следующих полей: ai21labs_api_key или ai21labs_api_key_plaintext . |
|
ai21labs_api_key_plaintext |
Ключ API Лабораторий AI21, предоставленный в виде строки открытого текста. Если вы предпочитаете ссылаться на ключ с помощью секретов Azure Databricks, см. раздел ai21labs_api_key . |
Необходимо указать ключ API, используя одно из следующих полей: ai21labs_api_key или ai21labs_api_key_plaintext . |
Настраиваемый поставщик
Параметр конфигурации | Описание | Обязательное поле | По умолчанию. |
---|---|---|---|
custom_provider_url |
URL-адрес, в котором находится модель пользовательского поставщика. | Да | |
bearer_token_auth |
Если настраиваемый поставщик использует аутентификацию с помощью маркера доступа, укажите необходимые поля. | Необходимо предоставить метод проверки подлинности с помощью одного из следующих полей: bearer_token_auth или api_key_auth . |
|
token |
Ссылка на секретный ключ Azure Databricks для токена аутентификации по схеме предъявителя. Этот параметр должен быть вложен в bearer_token_auth . Если вы предпочитаете вставлять ключ API напрямую, см. раздел token_plaintext . |
При использовании проверки подлинности носителя необходимо предоставить ключ API с помощью одного из следующих полей: token или token_plaintext . |
|
token_plaintext |
Маркер проверки подлинности носителя, предоставленный в виде строки открытого текста. Этот параметр должен быть вложен в bearer_token_auth . Если вы предпочитаете ссылаться на ключ с помощью секретов Azure Databricks, см. token . |
При использовании проверки подлинности носителя необходимо предоставить ключ API с помощью одного из следующих полей: token или token_plaintext . |
|
api_key_auth |
Если настраиваемый поставщик использует проверку подлинности ключа API, укажите необходимые поля. | Необходимо предоставить метод проверки подлинности с помощью одного из следующих полей: bearer_token_auth или api_key_auth . |
|
key |
Ключ для проверки подлинности ключа API. Этот параметр должен быть вложен в api_key_auth |
Да, при использовании проверки подлинности ключа API. | |
value |
Ссылка на секретный ключ Azure Databricks для значения аутентификации ключа API. Если вы предпочитаете вставлять ключ API напрямую, см. раздел value_plaintext . |
При использовании проверки подлинности ключа API необходимо предоставить ключ API с помощью одного из следующих полей: value или value_plaintext . |
|
value_plaintext |
Значение проверки подлинности ключа API, предоставленное в виде строки открытого текста. Если вы предпочитаете использовать секреты Azure Databricks для ссылки на ключ, см. value . |
При использовании проверки подлинности ключа API необходимо предоставить ключ API с помощью одного из следующих полей: value или value_plaintext . |
В следующем примере показано, как создать конечную точку с настраиваемым поставщиком с помощью проверки подлинности носителя :
client.create_endpoint(
name="custom-provider-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "custom-provider-model",
"provider": "custom",
"task": "llm/v1/chat",
"custom_provider_config": {
"custom_provider_url": "https://my-custom-provider.com",
"bearer_token_auth": {
"token": "{{secrets/my_custom_provider_secret_scope/custom_provider_token}}"
}
}
}
}
]
},
)
В следующем примере показано, как создать конечную точку с пользовательским поставщиком с помощью проверки подлинности ключа API :
client.create_endpoint(
name="custom-provider-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "custom-provider-model",
"provider": "custom",
"task": "llm/v1/chat",
"custom_provider_config": {
"custom_provider_url": "https://my-custom-provider.com",
"api_key_auth": {
"key": "X-API-KEY",
"value": "{{secrets/my_custom_provider_secret_scope/custom_provider_api_key}}"
}
}
}
}
]
},
)
Настройка шлюза искусственного интеллекта в конечной точке
Вы также можете настроить свою конечную точку для включения функций Mosaic AI Gateway, таких как ограничение скорости, отслеживание использования и контроль с предохранителями.
См. раздел "Настройка шлюза ИИ" в конечных точках обслуживания моделей.
Запрос конечной точки внешней модели
После создания внешней конечной точки модели он готов получать трафик от пользователей.
Запросы оценки можно отправлять в конечную точку с помощью клиента OpenAI, REST API или пакета SDK для развертываний MLflow.
- См. стандартные параметры запроса оценки в POST /service-endpoints/{name}/invocations.
- Запросы к базовым моделям
В следующем примере выполняется запрос к модели завершения claude-2
, размещенной Anthropic, с использованием клиента OpenAI. Чтобы использовать клиент OpenAI, заполните model
поле именем конечной точки обслуживания модели, в которой размещена модель, которую требуется запросить.
В этом примере используется ранее созданная точка доступа, anthropic-completions-endpoint
, настроенная для доступа к внешним моделям от поставщика моделей Anthropic. Узнайте, как создавать внешние конечные точки модели.
См. поддерживаемые модели для получения дополнительных моделей, которыми можно воспользоваться, и их поставщиков.
import os
import openai
from openai import OpenAI
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
completion = client.completions.create(
model="anthropic-completions-endpoint",
prompt="what is databricks",
temperature=1.0
)
print(completion)
Ожидаемый формат выходных ответов:
{
"id": "123", # Not Required
"model": "anthropic-completions-endpoint",
"choices": [
{
"text": "Hello World!",
"index": 0,
"logprobs": null, # Not Required
"finish_reason": "length" # Not Required
}
],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Дополнительные параметры запроса
Вы можете передать любые дополнительные параметры, поддерживаемые поставщиком конечной точки в рамках запроса.
Например:
-
logit_bias
(поддерживается OpenAI, Cohere). -
top_k
(поддерживается Anthropic, Cohere). -
frequency_penalty
(поддерживается OpenAI, Cohere). -
presence_penalty
(поддерживается OpenAI, Cohere). -
stream
(поддерживается OpenAI, Anthropic, Cohere, Amazon Bedrock for Anthropic). Это доступно только для запросов чата и запросов на завершение.
-
tools
(поддерживается OpenAI, Anthropic, Amazon Bedrock for Anthropic). Это доступна только для запросов чата и завершения операций. Этот параметр позволяет интегрировать внешние функциональные возможности, включая Использование компьютера (бета-версия) для Anthropic и Amazon Bedrock для Anthropic. См. вызов функции в Azure Databricks.
Поддержка конфигураций подключения к сети для внешних моделей
Поддержка конфигураций подключения к сети (NCCs) для внешних моделей, включая приватный канал Azure, в настоящее время доступна в закрытой предварительной версии. Обратитесь к вашей команде по работе с клиентами Databricks, чтобы принять участие в программе предварительного доступа.
Ограничения
В зависимости от выбранной внешней модели конфигурация может привести к обработке данных за пределами региона, в котором были получены данные. Смотрите ограничения и регионы моделей обслуживания.