Modelos externos no Mosaic AI Model Serving
Importante
Os exemplos de código neste artigo demonstram o uso da API CRUD de implantações MLflow do Public Preview .
Este artigo descreve modelos externos no Mosaic AI Model Serving incluindo seus provedores de modelos suportados e limitações.
O que são modelos externos?
Importante
Agora você pode configurar o Mosaic AI Gateway em pontos de extremidade de serviço de modelo que atendem modelos externos. O AI Gateway traz governança, monitoramento e prontidão de produção para esses endpoints de serviço de modelo. Consulte Mosaic AI Gateway.
Modelos externos são modelos de terceiros hospedados fora do Databricks. Suportados pelo Model Serving, os modelos externos permitem agilizar o uso e o gerenciamento de vários provedores de modelos de linguagem grande (LLM), como OpenAI e Anthropic, dentro de uma organização. Você também pode usar o Mosaic AI Model Servindo como um provedor para servir modelos personalizados, que oferece limites de taxa para esses endpoints. Como parte desse suporte, o Model Serving oferece uma interface de alto nível que simplifica a interação com esses serviços, fornecendo um ponto de extremidade unificado para lidar com solicitações específicas relacionadas ao LLM.
Além disso, o suporte do Azure Databricks para modelos externos fornece gerenciamento centralizado de credenciais. Ao armazenar chaves de API em um local seguro, as organizações podem melhorar sua postura de segurança minimizando a exposição de chaves de API confidenciais em todo o sistema. Ele também ajuda a evitar a exposição dessas chaves no código ou exigir que os usuários finais gerenciem as chaves com segurança.
Consulte Tutorial: Criar pontos de extremidade de modelo externos para consultar modelos OpenAI para obter orientação passo a passo sobre a criação de ponto de extremidade de modelo externo e consulta de modelos suportados atendidos por esses pontos de extremidade usando o SDK de implantações MLflow. Consulte os guias a seguir para obter instruções sobre como usar a interface do usuário de serviço e a API REST:
Requerimentos
- Chave de API ou campos de autenticação para o provedor de modelo.
- Espaço de trabalho Databricks em regiões suportadas por modelos externos.
Fornecedores de modelos
Os modelos externos no Model Serving foram concebidos para suportar uma variedade de fornecedores de modelos. Um provedor representa a origem dos modelos de aprendizado de máquina, como OpenAI, Anthropic e assim por diante. Cada provedor tem suas características e configurações específicas que são encapsuladas dentro do external_model
campo da configuração de ponto final do modelo externo.
Os seguintes provedores são suportados:
- openai: Para modelos oferecidos pelo OpenAI e as integrações do Azure para Azure OpenAI e Azure OpenAI com AAD.
- antrópica: Para modelos oferecidos pela Anthropic.
- cohere: Para modelos oferecidos pela Cohere.
- amazon-bedrock: Para modelos oferecidos pela Amazon Bedrock.
- google-cloud-vertex-ai: Para modelos oferecidos pelo Google Cloud Vertex AI.
- databricks-model-serving: Para Mosaic AI Model Serving endpoints com esquemas compatíveis. Consulte Configuração do ponto final.
Para solicitar suporte para um provedor não listado aqui, entre em contato com sua equipe de conta Databricks.
Modelos suportados
O modelo escolhido afeta diretamente os resultados das respostas obtidas das chamadas de API. Portanto, escolha um modelo que se adapte aos seus requisitos de caso de uso. Por exemplo, para gerar respostas de conversação, você pode escolher um modelo de chat. Por outro lado, para gerar incorporações de texto, você pode escolher um modelo de incorporação.
A tabela abaixo apresenta uma lista não exaustiva de modelos suportados e tipos de terminais correspondentes. As associações de modelo listadas abaixo podem ser usadas como um guia útil ao configurar um ponto de extremidade para qualquer tipo de modelo recém-lançado à medida que eles se tornam disponíveis com um determinado provedor. Os clientes são responsáveis por garantir a conformidade com as licenças de modelo aplicáveis.
Nota
Com o rápido desenvolvimento dos LLMs, não há garantia de que esta lista esteja sempre atualizada.
Provedor de modelo | LLM/v1/Conclusão | LLM/v1/bate-papo | LLM/v1/Incorporações |
---|---|---|---|
OpenAI** | - GPT-3.5-turbo-instruir - Babbage-002 - Davinci-002 |
- O1-Pré-visualização - o1-pré-visualização-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-Pré-visualização - GPT-4-Turbo-Pré-visualização - GPT-4-1106-Pré-visualização |
- incorporação de texto-ada-002 - incorporação de texto-3-grande - incorporação de texto-3-pequeno |
Azure OpenAI** | - texto-davinci-003 - GPT-35-turbo-instruir |
- GPT-35-Turbo - GPT-35-Turbo-16K - GPT-4 - GPT-4-32K - GPT-4O - GPT-4O-Mini |
- incorporação de texto-ada-002 - incorporação de texto-3-grande - incorporação de texto-3-pequeno |
Anthropic | - Claude-1 - Claude-1.3-100K - Claude-2 - Claude-2.1 - Claude-2.0 - claude-instante-1.2 |
- claude-3-5-soneto-20240620 - Claude-3-Haiku-20240307 - Claude-3-Opus-20240229 - claude-3-soneto-20240229 - Claude-2.1 - Claude-2.0 - claude-instante-1.2 |
|
Coaqui** | - comando - luz de comando |
- comando-r-plus - comando-r - comando - comando-luz-noturno - luz de comando - comando-noturno |
- embed-inglês-v2.0 - incorporar-multilingue-v2.0 - embed-inglês-luz-v2.0 - embed-inglês-v3.0 - embed-inglês-luz-v3.0 - incorporar-multilingue-v3.0 - incorporar-multilingue-luz-v3.0 |
Servindo modelo de IA em mosaico | Databricks servindo endpoint | Databricks servindo endpoint | Databricks servindo endpoint |
Substrato rochoso amazônico | Antrópico: - claude-instante-v1 - Claude-V2 Coaqui: - comando-texto-v14 - comando-luz-texto-v14 Laboratórios AI21: - j2-grande-instruir - j2-jumbo-instruir - J2-MÉDIO - J2-Mid-V1 - J2-Ultra - J2-Ultra-V1 |
Antrópico: - Claude-V2 - Claude-V2:1 - claude-3-soneto-20240229-v1:0 - claude-3-5-soneto-20240620-v1:0 Coaqui: - comando-r-plus-v1:0 - comando-r-v1:0 |
Amazônia: - titan-embed-text-v1 - titan-embed-g1-texto-02 Coaqui: - embed-inglês-v3 - incorporar-multilingue-v3 |
Laboratórios AI21† | - J2-MÉDIO - j2-luz - J2-Ultra |
||
Google Cloud Vertex AI | texto-bisão | - bate-papo-bisão - Gêmeos-Pro - Gêmeos-1.0-Pro - Gêmeos-1.5-Pro - Gêmeos-1.5-Flash |
textembedding-lagartixa |
**
O provedor de modelos suporta modelos de conclusão e bate-papo ajustados. Para consultar um modelo ajustado, preencha o name
external model
campo da configuração com o nome do modelo ajustado.
† provedor de modelo oferece suporte a modelos de conclusão personalizados.
Use modelos servidos no Mosaic AI Model Serving endpoints
O Mosaic AI Model Serving endpoints como provedor é suportado para os llm/v1/completions
tipos , llm/v1/chat
e endpoint llm/v1/embeddings
. Esses pontos de extremidade devem aceitar os parâmetros de consulta padrão marcados como necessários, enquanto outros parâmetros podem ser ignorados, dependendo se o ponto de extremidade Mosaic AI Model Serving os suporta ou não.
Consulte POST /serving-endpoints/{name}/invocations na referência da API para parâmetros de consulta padrão.
Esses endpoints devem produzir respostas no seguinte formato OpenAI.
Para tarefas de conclusão:
{
"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
}
}
Para tarefas de chat:
{
"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
}
}
Para tarefas de incorporação:
{
"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
}
}
Configuração do ponto final
Para servir e consultar modelos externos, você precisa configurar um ponto de extremidade de serviço. Consulte Criar um modelo externo servindo ponto de extremidade
Para um modelo externo que serve o ponto de extremidade, você deve incluir o external_model
campo e seus parâmetros na served_entities
seção da configuração do ponto final. Se você configurar vários modelos externos em um ponto de extremidade de serviço, deverá fornecer um traffic_config
para definir a porcentagem de roteamento de tráfego para cada modelo externo.
O external_model
campo define o modelo para o qual esse ponto de extremidade encaminha solicitações. Ao especificar um modelo, é fundamental que o provedor ofereça suporte ao modelo que você está solicitando. Por exemplo, openai
como um provedor suporta modelos como text-embedding-ada-002
, mas outros provedores podem não. Se o modelo não for suportado pelo provedor, o Databricks retornará um erro HTTP 4xx ao tentar rotear solicitações para esse modelo.
A tabela abaixo resume os parâmetros do external_model
campo. Consulte POST /api/2.0/serving-endpoints para obter os parâmetros de configuração do ponto final.
Parâmetro | Descrições |
---|---|
name |
O nome do modelo a ser usado. Por exemplo, gpt-3.5-turbo para o modelo da GPT-3.5-Turbo OpenAI. |
provider |
Especifica o nome do provedor para este modelo. Esse valor de cadeia de caracteres deve corresponder a um provedor de modelo externo suportado. Por exemplo, openai para os GPT-3.5 modelos da OpenAI. |
task |
A tarefa corresponde ao tipo de interação do modelo de linguagem que você deseja. As tarefas suportadas são "llm/v1/completions", "llm/v1/chat", "llm/v1/embeddings". |
<provider>_config |
Contém todos os detalhes de configuração adicionais necessários para o modelo. Isso inclui especificar a URL base da API e a chave da API. Consulte Configurar o provedor para um ponto de extremidade. |
A seguir está um exemplo de criação de um ponto de extremidade de modelo externo usando a create_endpoint()
API. Neste exemplo, uma solicitação enviada para o ponto de extremidade de conclusão é encaminhada para o claude-2
modelo fornecido pela 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}}"
}
}
}
]
}
)
Configurar o provedor para um ponto de extremidade
Ao criar um ponto de extremidade, você deve fornecer as configurações necessárias para o provedor de modelo especificado. As seções a seguir resumem os parâmetros de configuração de ponto de extremidade disponíveis para cada provedor de modelo.
Nota
O Databricks criptografa e armazena com segurança as credenciais fornecidas para cada provedor de modelo. Essas credenciais são excluídas automaticamente quando seus pontos de extremidade associados são excluídos.
OpenAI
Parâmetro de configuração | Description | Necessário | Predefinição |
---|---|---|---|
openai_api_key |
A referência de chave secreta do Azure Databricks para uma chave de API OpenAI usando o serviço OpenAI. Se preferir colar a chave da API diretamente, consulte openai_api_key_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: openai_api_key ou openai_api_key_plaintext . |
|
openai_api_key_plaintext |
A chave da API OpenAI usando o serviço OpenAI fornecido como uma cadeia de caracteres de texto simples. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte openai_api_key . |
Você deve fornecer uma chave de API usando um dos seguintes campos: openai_api_key ou openai_api_key_plaintext deve ser fornecido. |
|
openai_api_type |
Um campo opcional para especificar o tipo de API OpenAI a ser usado. | Não | openai |
openai_api_base |
A URL base para a API OpenAI. | Não | https://api.openai.com/v1 |
openai_api_version |
Um campo opcional para especificar a versão da API OpenAI. | Não | |
openai_organization |
Um campo opcional para especificar a organização no OpenAI. | Não |
Cohere
Parâmetro de configuração | Description | Necessário | Predefinição |
---|---|---|---|
cohere_api_key |
A referência de chave secreta do Azure Databricks para uma chave de API Cohere. Se preferir colar a chave da API diretamente, consulte cohere_api_key_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: cohere_api_key ou cohere_api_key_plaintext . |
|
cohere_api_key_plaintext |
A chave da API Cohere fornecida como uma cadeia de caracteres de texto simples. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte cohere_api_key . |
Você deve fornecer uma chave de API usando um dos seguintes campos: cohere_api_key ou cohere_api_key_plaintext . |
|
cohere_api_base |
O URL base para o serviço Cohere. | Não |
Anthropic
Parâmetro de configuração | Description | Necessário | Predefinição |
---|---|---|---|
anthropic_api_key |
A referência de chave secreta do Azure Databricks para uma chave de API antrópica. Se preferir colar a chave da API diretamente, consulte anthropic_api_key_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: anthropic_api_key ou anthropic_api_key_plaintext . |
|
anthropic_api_key_plaintext |
A chave da API Anthropic fornecida como uma cadeia de caracteres de texto simples. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte anthropic_api_key . |
Você deve fornecer uma chave de API usando um dos seguintes campos: anthropic_api_key ou anthropic_api_key_plaintext . |
Azure OpenAI
O Azure OpenAI tem recursos distintos em comparação com o serviço OpenAI direto. Para uma visão geral, consulte a documentação de comparação.
Parâmetro de configuração | Description | Necessário | Predefinição |
---|---|---|---|
openai_api_key |
A referência de chave secreta do Azure Databricks para uma chave de API OpenAI usando o serviço do Azure. Se preferir colar a chave da API diretamente, consulte openai_api_key_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: openai_api_key ou openai_api_key_plaintext . |
|
openai_api_key_plaintext |
A chave da API OpenAI usando o serviço do Azure fornecido como uma cadeia de caracteres de texto sem formatação. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte openai_api_key . |
Você deve fornecer uma chave de API usando um dos seguintes campos: openai_api_key ou openai_api_key_plaintext . |
|
openai_api_type |
Use azure para validação de token de acesso. |
Sim | |
openai_api_base |
A URL base para o serviço de API OpenAI do Azure fornecido pelo Azure. | Sim | |
openai_api_version |
A versão do serviço OpenAI do Azure a ser utilizada, especificada por uma data. | Sim | |
openai_deployment_name |
O nome do recurso de implantação para o serviço Azure OpenAI. | Sim | |
openai_organization |
Um campo opcional para especificar a organização no OpenAI. | Não |
Se você estiver usando o Azure OpenAI com a ID do Microsoft Entra, use os seguintes parâmetros em sua configuração de ponto de extremidade.
Parâmetro de configuração | Description | Necessário | Predefinição |
---|---|---|---|
microsoft_entra_tenant_id |
A ID do locatário para autenticação do Microsoft Entra ID. | Sim | |
microsoft_entra_client_id |
A ID do cliente para autenticação do Microsoft Entra ID. | Sim | |
microsoft_entra_client_secret |
A referência de chave secreta do Azure Databricks para um segredo de cliente usado para autenticação de ID do Microsoft Entra. Se preferir colar o segredo do cliente diretamente, consulte microsoft_entra_client_secret_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: microsoft_entra_client_secret ou microsoft_entra_client_secret_plaintext . |
|
microsoft_entra_client_secret_plaintext |
O segredo do cliente usado para a autenticação do Microsoft Entra ID fornecido como uma cadeia de caracteres de texto sem formatação. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte microsoft_entra_client_secret . |
Você deve fornecer uma chave de API usando um dos seguintes campos: microsoft_entra_client_secret ou microsoft_entra_client_secret_plaintext . |
|
openai_api_type |
Use azuread para autenticação usando o Microsoft Entra ID. |
Sim | |
openai_api_base |
A URL base para o serviço de API OpenAI do Azure fornecido pelo Azure. | Sim | |
openai_api_version |
A versão do serviço OpenAI do Azure a ser utilizada, especificada por uma data. | Sim | |
openai_deployment_name |
O nome do recurso de implantação para o serviço Azure OpenAI. | Sim | |
openai_organization |
Um campo opcional para especificar a organização no OpenAI. | Não |
O exemplo a seguir demonstra como criar um ponto de extremidade com o 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
Parâmetro de configuração | Description | Necessário | Predefinição |
---|---|---|---|
private_key |
A referência de chave secreta do Azure Databricks para uma chave privada para a conta de serviço que tem acesso ao Serviço de IA do Google Cloud Vertex. Consulte Práticas recomendadas para gerenciar chaves de conta de serviço. Se preferir colar a chave da API diretamente, consulte private_key_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: private_key ou private_key_plaintext . |
|
private_key_plaintext |
A chave privada para a conta de serviço que tem acesso ao Google Cloud Vertex AI Service fornecido como um segredo de texto simples. Consulte Práticas recomendadas para gerenciar chaves de conta de serviço. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte private_key . |
Você deve fornecer uma chave de API usando um dos seguintes campos: private_key ou private_key_plaintext . |
|
region |
Esta é a região para o Google Cloud Vertex AI Service. Consulte as regiões suportadas para obter mais detalhes. Alguns modelos só estão disponíveis em regiões específicas. | Sim | |
project_id |
Este é o ID do projeto do Google Cloud ao qual a conta de serviço está associada. | Sim |
Substrato rochoso amazônico
Para usar o Amazon Bedrock como um provedor de modelo externo, os clientes precisam garantir que o Bedrock esteja habilitado na região da AWS especificada e que o par de chaves da AWS especificado tenha as permissões apropriadas para interagir com os serviços do Bedrock. Para obter mais informações, consulte AWS Identity and Access Management.
Parâmetro de configuração | Description | Necessário | Predefinição |
---|---|---|---|
aws_region |
A região da AWS a ser usada. Bedrock tem que ser habilitado lá. | Sim | |
aws_access_key_id |
A referência de chave secreta do Azure Databricks para um ID de chave de acesso da AWS com permissões para interagir com os serviços Bedrock. Se preferir colar a chave da API diretamente, consulte aws_access_key_id_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: aws_access_key_id ou aws_access_key_id_plaintext . |
|
aws_access_key_id_plaintext |
Um ID de chave de acesso da AWS com permissões para interagir com os serviços Bedrock fornecidos como uma cadeia de caracteres de texto simples. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte aws_access_key_id . |
Você deve fornecer uma chave de API usando um dos seguintes campos: aws_access_key_id ou aws_access_key_id_plaintext . |
|
aws_secret_access_key |
A referência de chave secreta do Azure Databricks para uma chave de acesso secreta da AWS emparelhada com o ID da chave de acesso, com permissões para interagir com os serviços Bedrock. Se preferir colar a chave da API diretamente, consulte aws_secret_access_key_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: aws_secret_access_key ou aws_secret_access_key_plaintext . |
|
aws_secret_access_key_plaintext |
Uma chave de acesso secreta da AWS emparelhada com o ID da chave de acesso, com permissões para interagir com os serviços Bedrock fornecidos como uma cadeia de caracteres de texto simples. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte aws_secret_access_key . |
Você deve fornecer uma chave de API usando um dos seguintes campos: aws_secret_access_key ou aws_secret_access_key_plaintext . |
|
bedrock_provider |
O provedor subjacente no Amazon Bedrock. Os valores suportados (sem distinção entre maiúsculas e minúsculas) incluem: Anthropic, Cohere, AI21Labs, Amazon | Sim |
O exemplo a seguir demonstra como criar um endpoint com o Amazon Bedrock usando chaves de acesso.
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",
},
}
}
]
},
)
Se houver problemas de permissão da AWS, o Databricks recomenda que você verifique as credenciais diretamente com a API do Amazon Bedrock.
Laboratórios AI21
Parâmetro de configuração | Description | Necessário | Predefinição |
---|---|---|---|
ai21labs_api_key |
A referência de chave secreta do Azure Databricks para uma chave de API do AI21 Labs. Se preferir colar a chave da API diretamente, consulte ai21labs_api_key_plaintext . |
Você deve fornecer uma chave de API usando um dos seguintes campos: ai21labs_api_key ou ai21labs_api_key_plaintext . |
|
ai21labs_api_key_plaintext |
Uma chave de API do AI21 Labs fornecida como uma cadeia de caracteres de texto simples. Se preferir fazer referência à sua chave usando o Azure Databricks Secrets, consulte ai21labs_api_key . |
Você deve fornecer uma chave de API usando um dos seguintes campos: ai21labs_api_key ou ai21labs_api_key_plaintext . |
Configurar o AI Gateway em um ponto de extremidade
Você também pode configurar seu endpoint para habilitar os recursos do Mosaic AI Gateway , como limitação de taxa, rastreamento de uso e guarda-corpos.
Consulte Configurar o AI Gateway em pontos de extremidade de serviço de modelo.
Consultar um ponto de extremidade de modelo externo
Depois de criar um ponto de extremidade de modelo externo, ele estará pronto para receber tráfego de usuários.
Você pode enviar solicitações de pontuação para o endpoint usando o cliente OpenAI, a API REST ou o SDK de implantações MLflow.
- Consulte os parâmetros de consulta padrão para uma solicitação de pontuação em POST /serving-endpoints/{name}/invocations.
- Modelos de IA generativa de consulta
O exemplo a seguir consulta o claude-2
modelo de conclusão hospedado pela Anthropic usando o cliente OpenAI. Para usar o cliente OpenAI, preencha o model
campo com o nome do ponto de extremidade de serviço do modelo que hospeda o modelo que você deseja consultar.
Este exemplo usa um ponto de extremidade criado anteriormente, anthropic-completions-endpoint
, configurado para acessar modelos externos do provedor de modelo antrópico. Veja como criar pontos de extremidade de modelo externos.
Consulte Modelos suportados para obter modelos adicionais que você pode consultar e seus provedores.
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)
Formato de resposta de saída esperado:
{
"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
}
}
Parâmetros de consulta adicionais
Você pode passar quaisquer parâmetros adicionais suportados pelo provedor do ponto de extremidade como parte de sua consulta.
Por exemplo:
logit_bias
(suportado por OpenAI, Cohere).top_k
(apoiado por Anthropic, Cohere).frequency_penalty
(suportado por OpenAI, Cohere).presence_penalty
(suportado por OpenAI, Cohere).stream
(suportado por OpenAI, Anthropic, Cohere, Amazon Bedrock for Anthropic). Isso só está disponível para solicitações de bate-papo e conclusão.
Suporte a configurações de conectividade de rede para modelos externos
O suporte para configurações de conectividade de rede (NCCs) para modelos externos, incluindo o link privado do Azure, está atualmente em visualização privada. Entre em contato com sua equipe de conta Databricks para participar da visualização.
Limitações
Dependendo do modelo externo escolhido, sua configuração pode fazer com que seus dados sejam processados fora da região de origem dos dados. Consulte Limites e regiões de serviço do modelo.
Recursos adicionais
- Tutorial: Crie pontos de extremidade de modelo externos para consultar modelos OpenAI.
- Consultar modelos de IA generativos.