Modelos externos en Servicio de modelos de Mosaic AI
Importante
Los ejemplos de código de este artículo muestran el uso de la API CRUD de implementaciones de MLflow en versión preliminar pública.
En este artículo se describen los modelos externos de Servicio de modelos de Mosaic IA, incluidos sus proveedores de modelos y limitaciones admitidos.
¿Qué son los modelos externos?
Importante
Ahora puede configurar Mosaic AI Gateway en puntos de conexión de servicio de modelos que atienden modelos externos. AI Gateway ofrece gobernanza, supervisión y preparación para la producción para estos puntos de conexión de servicio de modelos. Vea Mosaic AI Gateway.
Los modelos externos son modelos de terceros hospedados fuera de Databricks. Compatible con el Servicio de modelos, los modelos externos le permiten racionalizar el uso y la administración de varios proveedores de modelos de lenguaje grandes (LLM), como OpenAI y Anthropic, dentro de una organización. También puede usar Mosaic AI Model Serving como proveedor para servir modelos personalizados, que ofrece límites de velocidad para esos puntos de conexión. Como parte de este soporte, el Servicio de modelos ofrece una interfaz de alto nivel que simplifica la interacción con estos servicios proporcionando un punto de conexión unificado para controlar las solicitudes específicas relacionadas con LLM.
Además, la compatibilidad de Azure Databricks con modelos externos proporciona administración centralizada de credenciales. Al almacenar claves de API en una ubicación segura, las organizaciones pueden mejorar su posición de seguridad minimizando la exposición de claves de API confidenciales en todo el sistema. También ayuda a evitar exponer estas claves dentro del código o exigir a los usuarios finales que administren las claves de forma segura.
Consulte Tutorial: Creación de puntos de conexión de modelo externos para consultar modelos OpenAI para obtener instrucciones paso a paso sobre la creación de puntos de conexión de modelos externos y la consulta de modelos compatibles que sirven esos puntos de conexión mediante el SDK de implementaciones de MLflow. Consulte las siguientes guías para obtener instrucciones sobre cómo usar la interfaz de usuario de servicio y la API de REST:
- Creación de un modelo personalizado que atiende puntos de conexión
- Consulta de modelos de IA generativa
Requisitos
- Campos de autenticación o clave de API para el proveedor de modelos.
- Área de trabajo de Databricks en Regiones admitidas de modelos externos.
Proveedores de modelos
Los modelos externos del Servicio de modelos están diseñad. Un proveedor representa el origen de los modelos de aprendizaje automático, como OpenAI, Anthropic, etc. Cada proveedor tiene sus características y configuraciones específicas que se encapsulan en el campo external_model
de la configuración del punto de conexión del modelo externo.
Se admiten los siguientes proveedores:
- openai: para los modelos ofrecidos por OpenAI y las integraciones de Azure para Azure OpenAI y Azure OpenAI con AAD.
- anthropic: para los modelos ofrecidos por Anthropic.
- cohere: para modelos ofrecidos por Cohere.
- amazon-bedrock: para modelos ofrecidos por Amazon Bedrock.
- google-cloud-vertex-ai: para modelos ofrecidos por Google Cloud Vertex AI.
- databricks-model-serving: para los puntos de conexión de servicio del modelo de Mosaic AI con esquemas compatibles. Consulte Configuración del punto de conexión.
Para solicitar soporte técnico para un proveedor que no aparece aquí, póngase en contacto con el equipo de la cuenta de Databricks.
Modelos admitidos
El modelo que elija afecta directamente a los resultados de las respuestas que obtiene de las llamadas API. Por lo tanto, elija un modelo que se ajuste a los requisitos de casos de uso. Por ejemplo, para generar respuestas conversacionales, puede elegir un modelo de chat. Por el contrario, para generar incrustaciones de texto, puede elegir un modelo de inserción.
En la tabla siguiente se presenta una lista no exhaustiva de los modelos admitidos y los tipos de punto de conexión correspondientes. Las asociaciones de modelos enumeradas a continuación se pueden usar como una guía útil al configurar un punto de conexión para cualquier tipo de modelo recién publicado a medida que estén disponibles con un proveedor determinado. Los clientes son responsables de garantizar el cumplimiento de las licencias de modelo aplicables.
Nota:
Con el rápido desarrollo de LLM, no hay ninguna garantía de que esta lista esté actualizada en todo momento.
Proveedor de modelos | llm/v1/completions | llm/v1/chat | llm/v1/embeddings |
---|---|---|---|
OpenAI** | - gpt-3.5-turbo-instruct - babbage-002 - davinci-002 |
- 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 - gpt-4-vision-preview - gpt-4-1106-vision-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 |
Servicio de modelos de Mosaic IA | Punto de conexión de servicio de Databricks | Punto de conexión de servicio de Databricks | Punto de conexión de servicio de Databricks |
Amazon Bedrock | Antrópico: - 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 |
Antrópico: - 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 |
El proveedor de modelos **
admite modelos de chat y finalización ajustados. Para consultar un modelo ajustado, rellene el campo name
de la configuración external model
con el nombre del modelo ajustado.
† El proveedor de modelos admite modelos de finalización personalizados.
Uso de modelos servidos en puntos de conexión de Servicio de modelos de Mosaic IA
Los puntos de conexión de Servicio de modelos de Mosaic IA como proveedor se admiten para los tipos de punto de conexión de llm/v1/completions
, llm/v1/chat
y llm/v1/embeddings
. Estos puntos de conexión deben aceptar los parámetros de consulta estándar marcados como obligatorios, mientras que otros parámetros pueden omitirse en función de si el punto de conexión de Servicio de modelos de Mosaic IA los admite o no.
Consulte POST /serving-endpoints/{name}/invocaciones en la referencia de API para los parámetros de consulta estándar.
Estos puntos de conexión deben generar respuestas en el siguiente formato OpenAI.
Para tareas de finalización:
{
"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 tareas 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 tareas de inserción:
{
"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
}
}
Configuración del punto de conexión
Para atender y consultar modelos externos, debe configurar un punto de conexión de servicio. Consulte Creación de puntos de conexión de servicio de modelos externos
Para un punto de conexión de servicio de modelo externo, debe incluir el campo external_model
y sus parámetros en la sección served_entities
de la configuración del punto de conexión. Si configurar varios modelos externos en un punto de conexión de servicio, debe proporcionar un traffic_config
para definir el porcentaje de enrutamiento de tráfico para cada modelo externo.
El campo external_model
define el modelo al que este punto de conexión reenvía las solicitudes. Al especificar un modelo, es fundamental que el proveedor admita el modelo que solicita. Por ejemplo, openai
como proveedor admite modelos como text-embedding-ada-002
, pero es posible que otros proveedores no. Si el proveedor no admite el modelo, Databricks devuelve un error HTTP 4xx al intentar enrutar solicitudes a ese modelo.
En la tabla siguiente se resumen los parámetros de campo external_model
. Consulte POST /api/2.0/serving-endpoints para ver los parámetros de configuración del punto de conexión.
Parámetro | Descripciones |
---|---|
name |
Nombre del modelo que se va a usar. Por ejemplo, gpt-3.5-turbo para el modelo GPT-3.5-Turbo de OpenAI. |
provider |
Especifica el nombre del proveedor para este modelo. Este valor de cadena debe corresponder a un proveedor de modelos externo admitido. Por ejemplo, openai para los modelos GPT-3.5 de OpenAI. |
task |
La tarea corresponde al tipo de interacción del modelo de lenguaje que quiera. Las tareas admitidas son “llm/v1/completions”, “llm/v1/chat”, “llm/v1/embeddings”. |
<provider>_config |
Contiene los detalles de configuración adicionales necesarios para el modelo. Esto incluye especificar la dirección URL base de la API y la clave de API. Consulte Configuración del proveedor para un punto de conexión. |
A continuación se muestra un ejemplo de creación de un punto de conexión de modelo externo mediante la API de create_endpoint()
. En este ejemplo, una solicitud enviada al punto de conexión de finalización se reenvía al modelo de claude-2
proporcionado por 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}}"
}
}
}
]
}
)
Configuración del proveedor para un punto de conexión
Al crear un punto de conexión, debe proporcionar las configuraciones necesarias para el proveedor de modelos especificado. En las secciones siguientes se resumen los parámetros de configuración de punto de conexión disponibles para cada proveedor de modelos.
Nota:
Databricks cifra y almacena de forma segura las credenciales proporcionadas para cada proveedor de modelos. Estas credenciales se eliminan automáticamente cuando se eliminan sus puntos de conexión asociados.
OpenAI
Parámetro de configuración | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
openai_api_key |
Referencia de clave secreta de Azure Databricks para una clave de API de OpenAI mediante el servicio OpenAI. Si prefiere pegar la clave de API directamente, vea openai_api_key_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: openai_api_key o openai_api_key_plaintext . |
|
openai_api_key_plaintext |
La clave de API de OpenAI mediante el servicio OpenAI proporcionada como una cadena de texto no cifrado. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea openai_api_key . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: openai_api_key o openai_api_key_plaintext . |
|
openai_api_type |
Campo opcional para especificar el tipo de API de OpenAI que se va a usar. | No | openai |
openai_api_base |
Dirección URL base de la API de OpenAI. | No | https://api.openai.com/v1 |
openai_api_version |
Campo opcional para especificar la versión de API de OpenAI. | No | |
openai_organization |
Campo opcional para especificar la organización en OpenAI. | No |
Cohere
Parámetro de configuración | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
cohere_api_key |
Referencia de clave secreta de Azure Databricks para una clave de API de Cohere. Si prefiere pegar la clave de API directamente, vea cohere_api_key_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: cohere_api_key o cohere_api_key_plaintext . |
|
cohere_api_key_plaintext |
La clave de API de Cohere proporcionada como una cadena de texto no cifrado. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea cohere_api_key . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: cohere_api_key o cohere_api_key_plaintext . |
|
cohere_api_base |
URL base para el servicio Cohere. | No |
Anthropic
Parámetro de configuración | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
anthropic_api_key |
Referencia de clave secreta de Azure Databricks para una clave de API de Anthropic. Si prefiere pegar la clave de API directamente, vea anthropic_api_key_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: anthropic_api_key o anthropic_api_key_plaintext . |
|
anthropic_api_key_plaintext |
La clave de API de Anthropic proporcionada como una cadena de texto no cifrado. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea anthropic_api_key . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: anthropic_api_key o anthropic_api_key_plaintext . |
Azure OpenAI
Azure OpenAI tiene características distintas en comparación con el servicio directo de OpenAI. Para obtener información general, consulte la documentación de comparación.
Parámetro de configuración | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
openai_api_key |
Referencia de clave secreta de Azure Databricks para una clave de API de OpenAI mediante el servicio de Azure. Si prefiere pegar la clave de API directamente, vea openai_api_key_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: openai_api_key o openai_api_key_plaintext . |
|
openai_api_key_plaintext |
La clave de API de OpenAI mediante el servicio de Azure proporcionada como una cadena de texto no cifrado. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea openai_api_key . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: openai_api_key o openai_api_key_plaintext . |
|
openai_api_type |
Use azure para la validación de tokens de acceso. |
Sí | |
openai_api_base |
La dirección URL base del servicio Azure OpenAI API proporcionado por Azure. | Sí | |
openai_api_version |
Versión del servicio Azure OpenAI que se va a usar, especificada por una fecha. | Sí | |
openai_deployment_name |
Nombre del recurso de implementación para el servicio Azure OpenAI. | Sí | |
openai_organization |
Campo opcional para especificar la organización en OpenAI. | No |
Si usa Azure OpenAI con Microsoft Entra ID, use los parámetros siguientes en la configuración del punto de conexión.
Parámetro de configuración | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
microsoft_entra_tenant_id |
Identificador de inquilino para la autenticación de Microsoft Entra ID. | Sí | |
microsoft_entra_client_id |
El identificador de cliente para la autenticación de Microsoft Entra ID. | Sí | |
microsoft_entra_client_secret |
Referencia de clave secreta de Azure Databricks para un secreto de cliente que se usa para la autenticación de Microsoft Entra ID. Si prefiere pegar el secreto de cliente directamente, vea microsoft_entra_client_secret_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: microsoft_entra_client_secret o microsoft_entra_client_secret_plaintext . |
|
microsoft_entra_client_secret_plaintext |
Secreto de cliente que se usa para la autenticación de Microsoft Entra ID proporcionado como una cadena de texto no cifrado. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea microsoft_entra_client_secret . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: microsoft_entra_client_secret o microsoft_entra_client_secret_plaintext . |
|
openai_api_type |
Use azuread para la autenticación mediante Microsoft Entra ID. |
Sí | |
openai_api_base |
La dirección URL base del servicio Azure OpenAI API proporcionado por Azure. | Sí | |
openai_api_version |
Versión del servicio Azure OpenAI que se va a usar, especificada por una fecha. | Sí | |
openai_deployment_name |
Nombre del recurso de implementación para el servicio Azure OpenAI. | Sí | |
openai_organization |
Campo opcional para especificar la organización en OpenAI. | No |
En el ejemplo siguiente se muestra cómo crear un punto de conexión con 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 configuración | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
private_key |
La referencia de clave secreta de Azure Databricks para una clave privada para la cuenta de servicio que tiene acceso al servicio Google Cloud Vertex AI. Consulte Procedimientos recomendados para administrar claves de cuenta de servicio. Si prefiere pegar la clave de API directamente, vea private_key_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: private_key o private_key_plaintext . |
|
private_key_plaintext |
Clave privada de la cuenta de servicio que tiene acceso al servicio Google Cloud Vertex AI proporcionada como un secreto de texto no cifrado. Consulte Procedimientos recomendados para administrar claves de cuenta de servicio. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea private_key . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: private_key o private_key_plaintext . |
|
region |
Esta es la región del servicio Google Cloud Vertex AI. Para más información, consulte las regiones admitidas. Algunos modelos solo están disponibles en regiones específicas. | Sí | |
project_id |
Este es el identificador del proyecto de Google Cloud al que está asociada la cuenta de servicio. | Sí |
Amazon Bedrock
Para usar Amazon Bedrock como proveedor de modelos externo, los clientes deben asegurarse de que Bedrock está habilitado en la región de AWS especificada y el par de claves de AWS especificado tiene los permisos adecuados para interactuar con los servicios de Bedrock. Para más información, consulte Administración de acceso e identidades de AWS.
Parámetro de configuración | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
aws_region |
Región de AWS que se va a usar. Bedrock tiene que estar habilitado allí. | Sí | |
aws_access_key_id |
La referencia de clave secreta de Azure Databricks para un identificador de clave de acceso de AWS con permisos para interactuar con los servicios de Bedrock. Si prefiere pegar la clave de API directamente, vea aws_access_key_id_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: aws_access_key_id o aws_access_key_id_plaintext . |
|
aws_access_key_id_plaintext |
Un identificador de clave de acceso de AWS con permisos para interactuar con los servicios de Bedrock proporcionado como una cadena de texto no cifrado. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea aws_access_key_id . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: aws_access_key_id o aws_access_key_id_plaintext . |
|
aws_secret_access_key |
La referencia de clave secreta de Azure Databricks para una clave de acceso secreta de AWS emparejada con el id. de clave de acceso, con permisos para interactuar con los servicios de Bedrock. Si prefiere pegar la clave de API directamente, vea aws_secret_access_key_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: aws_secret_access_key o aws_secret_access_key_plaintext . |
|
aws_secret_access_key_plaintext |
Una clave de acceso secreta de AWS emparejada con el identificador de clave de acceso, con permisos para interactuar con los servicios de Bedrock, proporcionada como una cadena de texto no cifrado. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea aws_secret_access_key . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: aws_secret_access_key o aws_secret_access_key_plaintext . |
|
bedrock_provider |
El proveedor subyacente de Amazon Bedrock. Los valores admitidos (no distinguen mayúsculas de minúsculas) incluyen: Anthropic, Cohere, AI21Labs, Amazon | Sí |
En el ejemplo siguiente se muestra cómo crear un punto de conexión con Amazon Bedrock usando claves de acceso.
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",
},
}
}
]
},
)
Si hay problemas de permisos de AWS, Databricks recomienda comprobar las credenciales directamente con la API de Amazon Bedrock.
AI21 Labs
Parámetro de configuración | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
ai21labs_api_key |
Referencia de clave secreta de Azure Databricks para una clave de API de AI21 Labs. Si prefiere pegar la clave de API directamente, vea ai21labs_api_key_plaintext . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: ai21labs_api_key o ai21labs_api_key_plaintext . |
|
ai21labs_api_key_plaintext |
Una clave de API de AI21 Labs proporcionada como una cadena de texto no cifrado. Si prefiere hacer referencia a la clave mediante secretos de Azure Databricks, vea ai21labs_api_key . |
Debe proporcionar una clave de API mediante uno de los siguientes campos: ai21labs_api_key o ai21labs_api_key_plaintext . |
Configuración de AI Gateway en un punto de conexión
También puede configurar el punto de conexión para habilitar las características de Mosaic AI Gateway, como la limitación de volumen, el seguimiento del uso y los límites de protección.
Vea Configuración de AI Gateway en puntos de conexión de servicio de modelos.
Consultar un punto de conexión del modelo externo
Después de crear un punto de conexión de modelo externo, está listo para recibir tráfico de los usuarios.
Puede enviar solicitudes de puntuación al punto de conexión mediante el cliente de OpenAI, la API REST o el SDK de implementaciones de MLflow.
- Consulte los parámetros de consulta estándar para la solicitud de puntuación en POST /serving-endpoints/{name}/invocations.
- Consulta de modelos de IA generativa
En el ejemplo siguiente se consulta el modelo de finalizaciones de claude-2
que hospeda Anthropic mediante el cliente de OpenAI. Para usar el cliente de OpenAI, rellene el campo model
con el nombre del punto de conexión de servicio del modelo que hospeda el modelo que quiere consultar.
En este ejemplo se usa un punto de conexión creado anteriormente, anthropic-completions-endpoint
, configurado para acceder a modelos externos desde el proveedor de modelos de Anthropic. Vea cómo crear puntos de conexión de modelo externos.
Vea Modelos admitidos para obtener modelos adicionales que pueda consultar y sus proveedores.
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 respuesta de salida 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 adicionales
Puede pasar los parámetros adicionales admitidos por el proveedor del punto de conexión como parte de la consulta.
Por ejemplo:
logit_bias
(admitido con OpenAI, Cohere).top_k
(admitido con Anthropic, Cohere).frequency_penalty
(admitido con OpenAI, Cohere).presence_penalty
(admitido con OpenAI, Cohere).stream
(compatible con OpenAI, Anthropic, Cohere, Amazon Bedrock para Anthropic). Esto solo está disponible para las solicitudes de chat y finalizaciones.
Limitaciones
En función del modelo externo que elija, la configuración podría hacer que los datos se procesen fuera de la región donde se originaron los datos. Consulte límites de servicio de modelos y regiones.