Partager via


Modèles externes dans le service de modèles Mosaic AI

Important

Les exemples de code de cet article démontrent l’utilisation de l’API CRUD des déploiements de MLflow de la préversion publique.

Cet article décrit les modèles externes dans le service de modèles Mosaic AI, y compris les fournisseurs de modèles pris en charge et les limitations.

Quels sont les modèles externes ?

Important

Vous pouvez désormais configurer Mosaic AI Gateway sur des points de terminaison de service de modèles qui servent des modèles externes. AI Gateway assure la gouvernance, la surveillance et la préparation à la mise en production à ces points de terminaison de service de modèles. Consultez Mosaic AI Gateway.

Les modèles externes sont des modèles tiers hébergés à l’extérieur de Databricks. Pris en charge par le Service de modèle, les modèles externes vous permettent de rationaliser l’utilisation et la gestion de divers fournisseurs de grands modèles de langage (LLM), tels qu’OpenAI et Anthropic, au sein d’une organisation. Vous pouvez également utiliser le service de modèles Mosaic AI en tant que fournisseur pour servir des modèles personnalisés, ce qui offre des limites de débit pour ces points finaux. Dans le cadre de ce soutien, le Service de modèle offre une interface de haut niveau qui simplifie l’interaction avec ces services en fournissant un point de terminaison unifié pour traiter les demandes spécifiques liées au LLM.

En outre, la prise en charge des modèles externes par Azure Databricks permet une gestion centralisée des informations d’identification. En stockant les clés d’API dans un seul endroit sécurisé, les entreprises peuvent améliorer leur sécurité en minimisant l’exposition des clés d’API sensibles dans l’ensemble du système. Il permet également d’éviter d’exposer ces clés dans le code ou d’exiger des utilisateurs finaux qu’ils gèrent les clés en toute sécurité.

Consultez Tutoriel : créer des points de terminaison de modèle externe pour interroger des modèles OpenAI pour obtenir des conseils étape par étape sur la création de points de terminaison de modèle externe et l’interrogation des modèles pris en charge servis par ces points de terminaison à l’aide du kit de développement logiciel (SDK) des déploiements MLflow. Consultez les guides suivants pour obtenir des instructions sur l’utilisation de l’interface utilisateur de mise en service et de l’API REST :

Exigences

Fournisseurs de modèle

Les modèles externes dans Model Serving sont conçus pour prendre en charge une variété de fournisseurs de modèles. Un fournisseur représente la source des modèles Machine Learning, comme OpenAI, Anthropic, etc. Chaque fournisseur a ses caractéristiques et configurations spécifiques qui sont encapsulées dans le external_model champ du modèle externe de configuration du point de terminaison.

Les fournisseurs suivants sont pris en charge :

  • openai : pour les modèles proposés par openAI et les intégrations Azure pour Azure OpenAI et Azure OpenAI avec AAD.
  • anthropic : pour les modèles proposés par Anthropic.
  • cohere : pour les modèles proposés par Cohere.
  • amazon-bedrock : pour les modèles proposés par Amazon Bedrock.
  • google-cloud-vertex-ai : pour les modèles proposés par Google Cloud Vertex AI.
  • databricks-model-service : pour les points de terminaison du service de modèles Mosaic AI avec des schémas compatibles. Afficher Configuration du point de terminaison.

Pour demander le support d’un fournisseur non répertorié ici, contactez votre équipe de compte Databricks.

Modèles pris en charge

Le modèle que vous choisissez affecte directement les résultats des réponses que vous obtenez à partir des appels d’API. Par conséquent, choisissez un modèle qui répond à vos besoins en cas d’utilisation. Par exemple, pour générer des réponses conversationnelles, vous pouvez choisir un modèle de conversation. À l’inverse, pour générer des incorporations de texte, vous pouvez choisir un modèle d’incorporation.

Le tableau ci-dessous présente une liste non exhaustive des modèles pris en charge et des types de points de terminaison correspondants. Les associations de modèles énumérées ci-dessous peuvent servir de guide utile lors de la configuration d’un point de terminaison pour tout nouveau type de modèle disponible auprès d’un fournisseur donné. Les clients sont tenus de d’assurer de leur conformité vis-à-vis des licences de modèle applicables.

Remarque

Avec le développement rapide des machines virtuelles locales, il n’existe aucune garantie que cette liste soit à jour à tout moment.

Fournisseur de modèles llm/v1/completions llm/v1/chat llm/v1/embeddings
OpenAI** - gpt-3.5-turbo-instruct
- babbage-002
- davinci-002
- o1-preview
- o1-preview-2024-09-12
- o1-mini
- o1-mini-2024-09-12
- gpt-3.5-turbo
- gpt-4
- gpt-4o
- gpt-4o-2024-05-13
- gpt-4o-mini
- gpt-3.5-turbo-0125
- gpt-3.5-turbo-1106
- gpt-4-0125-preview
- gpt-4-turbo-preview
- gpt-4-1106-preview
- text-embedding-ada-002
- text-embedding-3-large
- text-embedding-3-small
Azure OpenAI** - text-davinci-003
- gpt-35-turbo-instruct
- gpt-35-turbo
- gpt-35-turbo-16k
- gpt-4
- gpt-4-32k
- gpt-4o
- gpt-4o-mini
- text-embedding-ada-002
- text-embedding-3-large
- text-embedding-3-small
Anthropic - claude-1
- claude-1.3-100k
- claude-2
- claude-2.1
- claude-2.0
- claude-instant-1.2
- claude-3-5-sonnet-20240620
- claude-3-haiku-20240307
- claude-3-opus-20240229
- claude-3-sonnet-20240229
- claude-2.1
- claude-2.0
- claude-instant-1.2
Cohere** - command
- command-light
- command-r-plus
- command-r
- command
- command-light-nightly
- command-light
- command-nightly
- embed-english-v2.0
- embed-multilingual-v2.0
- embed-english-light-v2.0
- embed-english-v3.0
- embed-english-light-v3.0
- embed-multilingual-v3.0
- embed-multilingual-light-v3.0
Service de modèles Mosaic AI Point de terminaison de service Databricks Point de terminaison de service Databricks Point de terminaison de service Databricks
Amazon Bedrock Anthropic :

- claude-instant-v1
- claude-v2

Cohere :

- command-text-v14
- command-light-text-v14

AI21 Labs :

- j2-grande-instruct
- j2-jumbo-instruct
- j2-mid
- j2-mid-v1
- j2-ultra
- j2-ultra-v1
Anthropic :

- claude-v2
- claude-v2:1
- claude-3-sonnet-20240229-v1:0
- claude-3-5-sonnet-20240620-v1:0

Cohere :

- command-r-plus-v1:0
- command-r-v1:0
Amazon :

- titan-embed-text-v1
- titan-embed-g1-text-02

Cohere :

- embed-english-v3
- embed-multilingual-v3
AI21 Labs† - j2-mid
- j2-light
- j2-ultra
Google Cloud Vertex AI text-bison - chat-bison
- gemini-pro
- gemini-1.0-pro
- gemini-1.5-pro
- gemini-1.5-flash
textembedding-gecko

** Le fournisseur de modèles prend en charge les modèles de saisie semi-automatique et de conversation ajustés. Pour interroger un modèle ajusté, renseignez le champ name de la configuration external model avec le nom de votre modèle ajusté.

† Le fournisseur de modèles prend en charge les modèles de saisie semi-automatique personnalisés.

Utiliser des modèles servis sur des points de terminaison de service de modèles Mosaic AI

Les points de terminaison du service de modèles Mosaic AI en tant que fournisseur sont pris en charge pour les types de points de terminaison llm/v1/completions, llm/v1/chat et llm/v1/embeddings. Ces points de terminaison doivent accepter les paramètres de requête standard marqués comme nécessaires, tandis que d’autres paramètres peuvent être ignorés selon que le point de terminaison du service de modèles Mosaic AI les prend en charge ou non.

Consultez POST /serving-endpoints/{name}/invocations dans la référence de l’API pour les paramètres de requête standard.

Ces points de terminaison doivent produire des réponses au format OpenAI suivant.

Pour les tâches d’achèvement :

{
"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
  }
}

Pour les tâches de conversation :

{
  "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
  }
}

Pour les tâches d’incorporation :

{
  "data": [
    {
      "embedding": [
        0.0023064255,
        -0.009327292,
        .... # (1536 floats total for ada-002)
        -0.0028842222,
      ],
      "index": 0
    },
    {
      "embedding": [
        0.0023064255,
        -0.009327292,
        .... #(1536 floats total for ada-002)
        -0.0028842222,
      ],
      "index": 0
    }
  ],
  "model": "test_embedding_model",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}

Configuration du point de terminaison

Pour traiter et interroger des modèles externes, vous devez configurer un service de point de terminaison. Consultez Créer un point de terminaison de mise en service de modèles externes

Pour un point de terminaison de service de modèle externe, vous devez inclure le champ external_model et ses paramètres dans la section served_entities de la configuration du point de terminaison. Si vous configurez plusieurs modèles externes dans un point de terminaison de service, vous devez fournir un traffic_config pour définir le pourcentage de routage du trafic pour chaque modèle externe.

Le champ external_model définit le modèle auquel ce point de terminaison transfère les requêtes. Lorsque vous spécifiez un modèle, il est essentiel que le fournisseur prenne en charge le modèle que vous demandez. Par exemple, openai en tant que fournisseur prend en charge des modèles comme text-embedding-ada-002, mais d’autres fournisseurs peuvent ne pas le faire. Si le modèle n’est pas pris en charge par le fournisseur, Databricks retourne une erreur HTTP 4xx lors de la tentative d’acheminer les requêtes vers ce modèle.

Le tableau ci-dessous récapitule les paramètres du champ external_model. Consultez POST /api/2.0/serving-endpoints pour connaître les paramètres de configuration de point de terminaison.

Paramètre Descriptions
name Nom du modèle à utiliser. Par exemple, gpt-3.5-turbo pour le modèle GPT-3.5-Turbo OpenAI.
provider Spécifie le nom du fournisseur pour ce modèle. Cette valeur de chaîne doit correspondre à un fournisseur de modèle externe pris en charge. Par exemple, openai pour les modèles GPT-3.5 OpenAI.
task La tâche correspond au type d’interaction du modèle de langage souhaité. Les tâches prises en charge sont « llm/v1/completions », « llm/v1/chat », « llm/v1/embeddings ».
<provider>_config Contient tous les détails de configuration supplémentaires nécessaires pour le modèle. Cela inclut la spécification de l’URL de base de l’API et de la clé API. Consultez Configurer le fournisseur pour un point de terminaison.

Voici un exemple de création d’un point de terminaison de modèle externe à l’aide de l’API create_endpoint(). Dans cet exemple, une requête envoyée au point de terminaison d’achèvement est transférée au modèle claude-2 fourni par 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}}"
                    }
                }
            }
        ]
    }
)

Configurer le fournisseur pour un point de terminaison

Lorsque vous créez un point de terminaison, vous devez fournir les configurations requises pour le fournisseur de modèles spécifié. Les sections suivantes résument les paramètres de configuration de point de terminaison disponibles pour chaque fournisseur de modèles.

Remarque

Databricks chiffre et stocke en lieu sûr les informations d’identification fournies pour chaque fournisseur de modèles. Ces informations d’identification sont automatiquement supprimées lorsque leurs points de terminaison associés sont supprimés.

OpenAI

Paramètre de configuration Description Obligatoire Par défaut
openai_api_key Référence de clé secrète Azure Databricks pour une clé API OpenAI utilisant le service OpenAI. Si vous préférez coller directement votre clé API, consultez openai_api_key_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : openai_api_key ou openai_api_key_plaintext.
openai_api_key_plaintext Clé API OpenAI utilisant le service OpenAI, fournie sous forme de chaîne de texte en clair. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez openai_api_key. Vous devez fournir une clé API en utilisant l’un des champs suivants : openai_api_key ou openai_api_key_plaintext.
openai_api_type Un champ facultatif pour spécifier le type d’API OpenAI à utiliser. Non openai
openai_api_base L’URL de base de l’API OpenAI. Non https://api.openai.com/v1
openai_api_version Un champ facultatif pour spécifier la version d’API OpenAI. Non
openai_organization Un champ facultatif pour spécifier l’organisation dans OpenAI. Non

Cohere

Paramètre de configuration Description Obligatoire Par défaut
cohere_api_key Référence de clé secrète Azure Databricks pour une clé API Cohere. Si vous préférez coller directement votre clé API, consultez cohere_api_key_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : cohere_api_key ou cohere_api_key_plaintext.
cohere_api_key_plaintext Clé API Cohere fournie sous forme de chaîne de texte en clair. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez cohere_api_key. Vous devez fournir une clé API en utilisant l’un des champs suivants : cohere_api_key ou cohere_api_key_plaintext.
cohere_api_base URL de base pour le service Cohere. Non

Anthropic

Paramètre de configuration Description Obligatoire Par défaut
anthropic_api_key Référence de clé secrète Azure Databricks pour une clé API Anthropic. Si vous préférez coller directement votre clé API, consultez anthropic_api_key_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : anthropic_api_key ou anthropic_api_key_plaintext.
anthropic_api_key_plaintext Clé API Anthropic fournie sous forme de chaîne de texte en clair. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez anthropic_api_key. Vous devez fournir une clé API en utilisant l’un des champs suivants : anthropic_api_key ou anthropic_api_key_plaintext.

Azure OpenAI

Azure OpenAI a des fonctionnalités distinctes par rapport au service OpenAI direct. Pour obtenir une vue d’ensemble, consultez la documentation de comparaison.

Paramètre de configuration Description Obligatoire Par défaut
openai_api_key Référence de clé secrète Azure Databricks pour une clé API OpenAI utilisant le service Azure. Si vous préférez coller directement votre clé API, consultez openai_api_key_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : openai_api_key ou openai_api_key_plaintext.
openai_api_key_plaintext Clé API OpenAI utilisant le service Azure, fournie sous forme de chaîne de texte en clair. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez openai_api_key. Vous devez fournir une clé API en utilisant l’un des champs suivants : openai_api_key ou openai_api_key_plaintext.
openai_api_type Utilisez azure pour la validation du jeton d’accès. Oui
openai_api_base L’URL de base du service d’API Azure OpenAI fourni par Azure. Oui
openai_api_version La version du service Azure OpenAI à utiliser, spécifiée par une date. Oui
openai_deployment_name Le nom de la ressource de déploiement pour le service Azure OpenAI. Oui
openai_organization Un champ facultatif pour spécifier l’organisation dans OpenAI. Non

Si vous utilisez Azure OpenAI avec Microsoft Entra ID, utilisez les paramètres suivants dans la configuration de votre point de terminaison.

Paramètre de configuration Description Obligatoire Par défaut
microsoft_entra_tenant_id L’ID de locataire pour l’authentification Microsoft Entra ID. Oui
microsoft_entra_client_id L’ID client pour l’authentification Microsoft Entra ID. Oui
microsoft_entra_client_secret Référence de clé secrète Azure Databricks pour une clé secrète client utilisée pour l’authentification Microsoft Entra ID. Si vous préférez coller directement votre clé secrète client, consultez microsoft_entra_client_secret_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : microsoft_entra_client_secret ou microsoft_entra_client_secret_plaintext.
microsoft_entra_client_secret_plaintext Clé secrète client utilisée pour l’authentification Microsoft Entra ID, fournie sous forme de chaîne de texte en clair. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez microsoft_entra_client_secret. Vous devez fournir une clé API en utilisant l’un des champs suivants : microsoft_entra_client_secret ou microsoft_entra_client_secret_plaintext.
openai_api_type Utilisez azuread pour l’authentification à l’aide de Microsoft Entra ID. Oui
openai_api_base L’URL de base du service d’API Azure OpenAI fourni par Azure. Oui
openai_api_version La version du service Azure OpenAI à utiliser, spécifiée par une date. Oui
openai_deployment_name Le nom de la ressource de déploiement pour le service Azure OpenAI. Oui
openai_organization Un champ facultatif pour spécifier l’organisation dans OpenAI. Non

L’exemple suivant montre comment créer un point de terminaison avec 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

Paramètre de configuration Description Obligatoire Par défaut
private_key Référence de clé secrète Azure Databricks pour une clé privée associée au compte de service qui a accès au service Google Cloud Vertex AI. Consultez Bonnes pratiques pour gérer les clés de compte de service. Si vous préférez coller directement votre clé API, consultez private_key_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : private_key ou private_key_plaintext.
private_key_plaintext Clé privée du compte de service ayant accès au service Google Cloud Vertex AI, fournie sous forme de secret en texte en clair. Consultez Bonnes pratiques pour gérer les clés de compte de service. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez private_key. Vous devez fournir une clé API en utilisant l’un des champs suivants : private_key ou private_key_plaintext.
region Il s’agit de la région du service Google Cloud Vertex AI. Pour plus d’informations, consultez Régions prises en charge. Certains modèles ne sont disponibles que dans des régions spécifiques. Oui
project_id Il s’agit de l’ID de projet Google Cloud auquel le compte de service est associé. Oui

Amazon Bedrock

Pour utiliser Amazon Bedrock comme un fournisseur de modèle externe, les clients doivent s’assurer de l’activation de Bedrock dans la région AWS spécifiée, mais également que la paire de clés AWS spécifiée dispose des autorisations appropriées pour interagir avec les services Bedrock. Pour plus d’informations, consultez Gestion des identités et des accès AWS.

Paramètre de configuration Description Obligatoire Par défaut
aws_region La région AWS à utiliser. Bedrock doit être activé là-bas. Oui
aws_access_key_id Référence de clé secrète Azure Databricks pour un ID de clé d’accès AWS, avec des autorisations pour interagir avec les services Bedrock. Si vous préférez coller directement votre clé API, consultez aws_access_key_id_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : aws_access_key_id ou aws_access_key_id_plaintext.
aws_access_key_id_plaintext ID de clé d’accès AWS avec des autorisations pour interagir avec les services Bedrock, fournie sous forme de chaîne de texte en clair. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez aws_access_key_id. Vous devez fournir une clé API en utilisant l’un des champs suivants : aws_access_key_id ou aws_access_key_id_plaintext.
aws_secret_access_key Référence de clé secrète Azure Databricks pour une clé d’accès secrète AWS associée à l’ID de clé d’accès, avec des autorisations pour interagir avec les services Bedrock. Si vous préférez coller directement votre clé API, consultez aws_secret_access_key_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : aws_secret_access_key ou aws_secret_access_key_plaintext.
aws_secret_access_key_plaintext Clé d’accès secrète AWS associée à l’ID de clé d’accès avec des autorisations pour interagir avec les services Bedrock, fournie sous forme de chaîne de texte en clair. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez aws_secret_access_key. Vous devez fournir une clé API en utilisant l’un des champs suivants : aws_secret_access_key ou aws_secret_access_key_plaintext.
bedrock_provider Le fournisseur sous-jacent dans Amazon Bedrock. Les valeurs prises en charge (sans respect de la casse) sont les suivantes : Anthropic, Cohere, AI21Labs, Amazon Oui

L’exemple suivant montre comment créer un point de terminaison avec Amazon Bedrock en utilisant des clés d’accès.

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",
                    },
                }
            }
        ]
    },
)

S’il existe des problèmes d’autorisation AWS, Databricks vous recommande de vérifier les informations d’identification directement avec l’API Amazon Bedrock.

Laboratoires AI21

Paramètre de configuration Description Obligatoire Par défaut
ai21labs_api_key Référence de clé secrète Azure Databricks pour une clé API AI21 Labs. Si vous préférez coller directement votre clé API, consultez ai21labs_api_key_plaintext. Vous devez fournir une clé API en utilisant l’un des champs suivants : ai21labs_api_key ou ai21labs_api_key_plaintext.
ai21labs_api_key_plaintext Clé API AI21 Labs fournie sous forme de chaîne de texte en clair. Si vous préférez référencer votre clé à l’aide de secrets Azure Databricks, consultez ai21labs_api_key. Vous devez fournir une clé API en utilisant l’un des champs suivants : ai21labs_api_key ou ai21labs_api_key_plaintext.

Configurer AI Gateway sur un point de terminaison

Vous pouvez également configurer votre point de terminaison pour activer les fonctionnalités de Mosaic AI Gateway, telles que la limitation de débit, le suivi de l’utilisation et les garde-fous.

Consultez Configurer AI Gateway sur les points de terminaison de service de modèles.

Interroger un point de terminaison de modèle externe

Une fois que vous avez créé un point de terminaison de modèle externe, celui-ci est prêt à recevoir le trafic des utilisateurs.

Vous pouvez envoyer des demandes de scoring au point de terminaison en utilisant le client OpenAI l’API REST ou le SDK des déploiements MLflow.

L’exemple suivant interroge le modèle de complétions claude-2 hébergé par Anthropic en utilisant le client OpenAI. Pour utiliser le client OpenAI, renseignez le champ model avec le nom du point de terminaison de service du modèle qui héberge le modèle que vous voulez interroger.

Cet exemple utilise un point de terminaison créé précédemment, anthropic-completions-endpoint, configuré pour accéder aux modèles externes à partir du fournisseur de modèles Anthropic. Découvrez comment créer des points de terminaison de modèle externe.

Consultez les Modèles pris en charge pour obtenir des modèles supplémentaires que vous pouvez interroger, et leurs fournisseurs.

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)

Format de réponse de sortie attendu :

{
"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
  }
}

Paramètres de requête supplémentaires

Vous pouvez transmettre tous les paramètres supplémentaires pris en charge par le fournisseur du point de terminaison dans le cadre de votre requête.

Par exemple :

  • logit_bias (pris en charge par OpenAI, Cohere).
  • top_k (pris en charge par Anthropic, Cohere).
  • frequency_penalty (pris en charge par OpenAI, Cohere).
  • presence_penalty (pris en charge par OpenAI, Cohere).
  • stream (pris en charge par OpenAI, Anthropic, Cohere, Amazon Bedrock pour Anthropic). Disponible uniquement pour les requêtes de conversation et de complétions.

Prise en charge des configurations de connectivité réseau pour les modèles externes

La prise en charge des configurations de connectivité réseau (NCC) pour les modèles externes, notamment Azure Private Link, est actuellement en préversion privée. Contactez l’équipe de votre compte Databricks pour participer à la préversion.

Limites

Selon le modèle externe que vous choisissez, votre configuration peut entraîner le traitement de vos données en dehors de la région d’où elles proviennent. Consultez Limites et régions de la mise en service de modèles.

Ressources supplémentaires