Modelli esterni in Mosaic AI Model Serving
Importante
Gli esempi di codice in questo articolo illustrano l'utilizzo dell'API CRUD Public Preview MLflow Deployments.
Questo articolo descrive i modelli esterni in Mosaic AI Model Serving, inclusi i provider di modelli supportati e le limitazioni.
Che cosa sono i modelli esterni?
Importante
È ora possibile configurare Mosaic AI Gateway negli endpoint che gestiscono modelli esterni. AI Gateway offre governance, monitoraggio e prontezza alla produzione agli endpoint che gestiscono i modelli. Vedere Mosaic AI Gateway.
I modelli esterni sono modelli di terze parti ospitati all'esterno di Databricks. Supportati da Model Serving, i modelli esterni consentono di semplificare l'utilizzo e la gestione di vari provider di LLM (Large Language Model, modelli linguistici di ampie dimensioni), ad esempio OpenAI e Anthropic, all'interno di un'organizzazione. È anche possibile usare Mosaic AI Model Serving come provider per gestire modelli personalizzati, che offre limiti di velocità per tali endpoint. Come parte di questo supporto, Model Serving offre un'interfaccia di alto livello che semplifica l'interazione con questi servizi fornendo un endpoint unificato per gestire richieste specifiche correlate all'LLM.
Inoltre, il supporto di Azure Databricks per i modelli esterni offre una gestione centralizzata delle credenziali. Archiviando le chiavi API in una singola posizione sicura, le organizzazioni possono migliorare il proprio livello di sicurezza, riducendo al minimo l'esposizione delle chiavi API sensibili in tutto il sistema. Inoltre, consente di evitare l'esposizione di queste chiavi all'interno del codice o di richiedere agli utenti finali di gestire le chiavi in modo sicuro.
Vedere Esercitazione: creare endpoint del modello esterno per eseguire query sui modelli OpenAI per istruzioni dettagliate sulla creazione di endpoint del modello esterno ed eseguire query sui modelli supportati, che sono serviti da tali endpoint usando MLflow Deployments SDK. Per istruzioni su come usare l'interfaccia utente di Serving UI e l'API REST, vedere le guide seguenti:
- Creare endpoint di gestione dei modelli personalizzati
- Eseguire query sui modelli di intelligenza artificiale generativi
Fabbisogno
- Campi di autenticazione o chiave API per il provider di modelli.
- Area di lavoro di Databricks nelle Regioni supportate dai modelli esterni.
Provider di modelli
I modelli esterni in Model Serving sono progettati per supportare una molteplicità di provider di modelli. Un provider rappresenta l'origine dei modelli di Machine Learning, ad esempio OpenAI, Anthropic e così via. Ogni provider ha caratteristiche e configurazioni specifiche incapsulate all'interno del campo external_model
della configurazione dell'endpoint del modello esterno.
Sono supportati i provider seguenti:
- openai: per i modelli offerti da OpenAI e le integrazioni di Azure per Azure OpenAI e Azure OpenAI con AAD.
- anthropic: per i modelli offerti da Anthropic.
- cohere: per i modelli offerti da Cohere.
- amazon-bedrock: per i modelli offerti da Amazon Bedrock.
- google-cloud-vertex-ai: per i modelli offerti da Google Cloud Vertex AI.
- databricks-model-serving: per gli endpoint di Mosaic AI Model Serving con schemi compatibili. Vedere Configurazione degli endpoint.
Per richiedere supporto per un provider non elencato qui, contattare il team dell'account Databricks.
Modelli supportati
Il modello scelto influisce direttamente sui risultati delle risposte ottenute dalle chiamate API. Quindi, scegliere un modello che soddisfi i requisiti del caso d'uso. Ad esempio, per generare risposte conversazionali, è possibile scegliere un modello di chat. Al contrario, per generare incorporamenti di testo, è possibile scegliere un modello di incorporamento.
La tabella seguente presenta un elenco non esaustivo dei modelli supportati e dei tipi di endpoint corrispondenti. Le associazioni tra modelli elencate di seguito possono essere usate come una guida utile quando si configura un endpoint per i nuovi tipi di modello rilasciati man mano che diventano disponibili con un determinato provider. I clienti sono tenuti a garantire la conformità con i modelli di licenza applicabili.
Nota
Con lo sviluppo rapido di LLM, non c'è alcuna garanzia che questo elenco sia sempre aggiornato.
Provider di modelli | 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 |
OpenAI di Azure** | - 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 |
Mosaic AI Model Serving | Endpoint che serve Databricks | Endpoint che serve Databricks | Endpoint che serve 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 |
**
Il provider di modelli supporta modelli di completamento e chat ottimizzati. Per eseguire query su un modello ottimizzato, popolare il campo name
della external model
configurazione con il nome del modello ottimizzato.
† Il provider di modelli supporta modelli di completamento personalizzati.
Usare i modelli serviti sugli endpoint di Mosaic AI Model Serving
Gli endpoint di Mosaic AI Model Serving come provider sono supportati per i tipi di endpoint llm/v1/completions
, llm/v1/chat
e llm/v1/embeddings
. Questi endpoint devono accettare i parametri di query standard contrassegnati come necessari, mentre altri parametri potrebbero essere ignorati a seconda che l'endpoint Mosaic AI Model Serving li supporti o meno.
Vedere POST /serving-endpoints/{name}/invocations nei riferimenti API per i parametri di query standard.
Questi endpoint devono produrre risposte nel formato OpenAI seguente.
Per le attività di completamento:
{
"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
}
}
Per le attività di 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
}
}
Per le attività di incorporamento:
{
"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
}
}
Configurazione di endpoint
Per gestire ed eseguire query su modelli esterni, è necessario configurare un endpoint di gestione. Vedere Creare un endpoint di gestione di un modello esterno
Per un endpoint di gestione di un modello esterno, è necessario includere il campo external_model
e i relativi parametri nella sezione served_entities
della configurazione dell'endpoint. Se si configurano molteplici modelli esterni in un endpoint di gestione, è necessario fornire traffic_config
per definire la percentuale di instradamento del traffico per ogni modello esterno.
Il campo external_model
definisce il modello a cui l'endpoint inoltra le richieste. Quando si specifica un modello, è fondamentale che il provider supporti il modello richiesto. Ad esempio, openai
in quanto provider supporta modelli come text-embedding-ada-002
, ma altri provider potrebbero non essere disponibili. Se il modello non è supportato dal provider, Databricks restituisce un errore HTTP 4xx quando si tenta di instradare le richieste a tale modello.
La tabella seguente riepiloga i parametri del campo external_model
. Consultare la sezione POST /api/2.0/serving-endpoints per i parametri di configurazione degli endpoint.
Parametro | Descrizioni |
---|---|
name |
Il nome del modello da utilizzare. Ad esempio, gpt-3.5-turbo per il modello GPT-3.5-Turbo di OpenAI. |
provider |
Specifica il nome del provider per questo modello. Questo valore di stringa deve corrispondere a un provider di modelli esterni supportato. Ad esempio, openai per i modelli GPT-3.5 di OpenAI. |
task |
L'attività corrisponde al tipo di interazione del modello linguistico desiderato. Le attività supportate sono "llm/v1/completions", "llm/v1/chat", "llm/v1/embeddings". |
<provider>_config |
Contiene eventuali dettagli di configurazione aggiuntivi, necessari per il modello. Ciò include la specifica dell'URL di base dell'API e della chiave API. Consultare Configurare il provider per un endpoint. |
Di seguito è riportato un esempio di creazione di un endpoint di un modello esterno tramite l'API create_endpoint()
. In questo esempio, una richiesta inviata all'endpoint di completamento viene inoltrata al modello claude-2
fornito da 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}}"
}
}
}
]
}
)
Configurare il provider per un endpoint
Quando si crea un endpoint, è necessario specificare le configurazioni necessarie per il provider di modelli specificato. Le sezioni seguenti riepilogano i parametri di configurazione degli endpoint disponibili per ogni provider di modelli.
Nota
Databricks crittografa e archivia in modo sicuro le credenziali fornite per ogni provider di modelli. Tali credenziali vengono eliminate automaticamente quando vengono eliminati gli endpoint associati.
OpenAI
Parametro di configurazione | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
openai_api_key |
Informazioni di riferimento sulla chiave privata di Azure Databricks per una chiave API OpenAI usando il servizio OpenAI. Se si preferisce incollare direttamente la chiave API, vedere openai_api_key_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: openai_api_key o openai_api_key_plaintext . |
|
openai_api_key_plaintext |
La chiave API OpenAI che usa il servizio OpenAI fornito come stringa di testo non crittografato. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere openai_api_key . |
È necessario fornire una chiave API usando uno dei campi seguenti: deve essere fornito openai_api_key o openai_api_key_plaintext . |
|
openai_api_type |
Campo facoltativo per specificare il tipo di API OpenAI da usare. | No | openai |
openai_api_base |
URL di base per l'API OpenAI. | No | https://api.openai.com/v1 |
openai_api_version |
Campo facoltativo per specificare la versione dell'API OpenAI. | No | |
openai_organization |
Campo facoltativo per specificare l'organizzazione in OpenAI. | No |
Cohere
Parametro di configurazione | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
cohere_api_key |
Informazioni di riferimento sulla chiave privata di Azure Databricks per una chiave API Cohere. Se si preferisce incollare direttamente la chiave API, vedere cohere_api_key_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: cohere_api_key o cohere_api_key_plaintext . |
|
cohere_api_key_plaintext |
Chiave API Cohere fornita come stringa di testo non crittografato. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere cohere_api_key . |
È necessario fornire una chiave API usando uno dei campi seguenti: cohere_api_key o cohere_api_key_plaintext . |
|
cohere_api_base |
URL di base per il servizio Cohere. | No |
Anthropic
Parametro di configurazione | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
anthropic_api_key |
Informazioni di riferimento sulla chiave privata di Azure Databricks per una chiave API Anthropic. Se si preferisce incollare direttamente la chiave API, vedere anthropic_api_key_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: anthropic_api_key o anthropic_api_key_plaintext . |
|
anthropic_api_key_plaintext |
Chiave API Anthropic fornita come stringa di testo non crittografato. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere anthropic_api_key . |
È necessario fornire una chiave API usando uno dei campi seguenti: anthropic_api_key o anthropic_api_key_plaintext . |
OpenAI di Azure
Azure OpenAI offre funzionalità distinte rispetto al servizio OpenAI diretto. Per una panoramica, vedere la documentazione di confronto.
Parametro di configurazione | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
openai_api_key |
Informazioni di riferimento sulla chiave privata di Azure Databricks per una chiave API OpenAI usando il servizio di Azure. Se si preferisce incollare direttamente la chiave API, vedere openai_api_key_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: openai_api_key o openai_api_key_plaintext . |
|
openai_api_key_plaintext |
Chiave API OpenAI che usa il servizio di Azure fornito come stringa di testo non crittografato. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere openai_api_key . |
È necessario fornire una chiave API usando uno dei campi seguenti: openai_api_key o openai_api_key_plaintext . |
|
openai_api_type |
Usare azure per la convalida del token di accesso. |
Sì | |
openai_api_base |
URL di base per il servizio API OpenAI di Azure fornito da Azure. | Sì | |
openai_api_version |
Versione del servizio OpenAI di Azure da usare, specificata da una data. | Sì | |
openai_deployment_name |
Nome della risorsa di distribuzione per il servizio OpenAI di Azure. | Sì | |
openai_organization |
Campo facoltativo per specificare l'organizzazione in OpenAI. | No |
Se si usa OpenAI di Azure con Microsoft Entra ID, usare i parametri seguenti nella configurazione dell'endpoint.
Parametro di configurazione | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
microsoft_entra_tenant_id |
ID tenant per l'autenticazione di Microsoft Entra ID. | Sì | |
microsoft_entra_client_id |
ID client per l'autenticazione di Microsoft Entra ID. | Sì | |
microsoft_entra_client_secret |
Informazioni di riferimento sulla chiave privata di Azure Databricks per un segreto client usato per l'autenticazione di Microsoft Entra ID. Se si preferisce incollare direttamente il segreto client, vedere microsoft_entra_client_secret_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: microsoft_entra_client_secret o microsoft_entra_client_secret_plaintext . |
|
microsoft_entra_client_secret_plaintext |
Il segreto client usato per l'autenticazione di Microsoft Entra ID fornito come stringa di testo non crittografato. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere microsoft_entra_client_secret . |
È necessario fornire una chiave API usando uno dei campi seguenti: microsoft_entra_client_secret o microsoft_entra_client_secret_plaintext . |
|
openai_api_type |
Usare azuread per l'autenticazione usando Microsoft Entra ID. |
Sì | |
openai_api_base |
URL di base per il servizio API OpenAI di Azure fornito da Azure. | Sì | |
openai_api_version |
Versione del servizio OpenAI di Azure da usare, specificata da una data. | Sì | |
openai_deployment_name |
Nome della risorsa di distribuzione per il servizio OpenAI di Azure. | Sì | |
openai_organization |
Campo facoltativo per specificare l'organizzazione in OpenAI. | No |
L'esempio seguente illustra come creare un endpoint con OpenAI di Azure:
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
Parametro di configurazione | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
private_key |
Informazioni di riferimento sulla chiave privata di Azure Databricks per una chiave privata per l'account del servizio che ha accesso al servizio Google Cloud Vertex AI. Vedere Procedure consigliate per la gestione delle chiavi dell'account del servizio. Se si preferisce incollare direttamente la chiave API, vedere private_key_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: private_key o private_key_plaintext . |
|
private_key_plaintext |
Chiave privata per l'account del servizio che ha accesso al servizio Google Cloud Vertex AI fornito come segreto nella forma di non crittografato. Vedere Procedure consigliate per la gestione delle chiavi dell'account del servizio. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere private_key . |
È necessario fornire una chiave API usando uno dei campi seguenti: private_key o private_key_plaintext . |
|
region |
Questa è l'area per il servizio di Google Cloud Vertex AI. Per informazioni dettagliate, vedere Aree supportate. Questi modelli sono disponibili soltanto in aree specifiche. | Sì | |
project_id |
Si tratta dell'ID del progetto Google Cloud a cui è associato l'account del servizio. | Sì |
Amazon Bedrock
Per usare Amazon Bedrock come provider di modelli esterni, i clienti devono assicurarsi che Bedrock sia abilitato nell'area AWS specificata e che la coppia di chiavi AWS specificata disponga delle autorizzazioni appropriate per interagire con i servizi Bedrock. Per altre informazioni, vedere Gestione delle identità e degli accessi di AWS.
Parametro di configurazione | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
aws_region |
Area AWS da usare. Bedrock deve essere abilitato lì. | Sì | |
aws_access_key_id |
Informazioni di riferimento sulla chiave privata di Azure Databricks per un ID chiave di accesso AWS con autorizzazioni per interagire con i servizi Bedrock. Se si preferisce incollare direttamente la chiave API, vedere aws_access_key_id_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: aws_access_key_id o aws_access_key_id_plaintext . |
|
aws_access_key_id_plaintext |
ID chiave di accesso AWS con autorizzazioni per interagire con i servizi Bedrock forniti come stringa di testo non crittografato. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere aws_access_key_id . |
È necessario fornire una chiave API usando uno dei campi seguenti: aws_access_key_id o aws_access_key_id_plaintext . |
|
aws_secret_access_key |
Informazioni di riferimento sulla chiave privata di Azure Databricks per una chiave di accesso privata AWS associata all'ID chiave di accesso, con le autorizzazioni per interagire con i servizi Bedrock. Se si preferisce incollare direttamente la chiave API, vedere aws_secret_access_key_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: aws_secret_access_key o aws_secret_access_key_plaintext . |
|
aws_secret_access_key_plaintext |
Una chiave di accesso privata AWS associata all'ID chiave di accesso, con le autorizzazioni per interagire con i servizi Bedrock forniti come stringa di testo non crittografato. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere aws_secret_access_key . |
È necessario fornire una chiave API usando uno dei campi seguenti: aws_secret_access_key o aws_secret_access_key_plaintext . |
|
bedrock_provider |
Il provider sottostante in Amazon Bedrock. I valori supportati (senza distinzione tra maiuscole e minuscole) includono: Anthropic, Cohere, AI21Labs, Amazon | Sì |
L'esempio seguente illustra come creare un endpoint con Amazon Bedrock usando le chiavi di accesso.
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",
},
}
}
]
},
)
In caso di problemi con l'autorizzazione di AWS, Databricks consiglia di verificare le credenziali direttamente con l'API Amazon Bedrock.
AI21 Labs
Parametro di configurazione | Descrizione | Richiesto | Valore predefinito |
---|---|---|---|
ai21labs_api_key |
Informazioni di riferimento sulla chiave privata di Azure Databricks per una chiave API AI21 Labs. Se si preferisce incollare direttamente la chiave API, vedere ai21labs_api_key_plaintext . |
È necessario fornire una chiave API usando uno dei campi seguenti: ai21labs_api_key o ai21labs_api_key_plaintext . |
|
ai21labs_api_key_plaintext |
Una chiave API AI21 Labs fornita come stringa di testo non crittografato. Se si preferisce fare riferimento alla chiave usando i segreti di Azure Databricks, vedere ai21labs_api_key . |
È necessario fornire una chiave API usando uno dei campi seguenti: ai21labs_api_key o ai21labs_api_key_plaintext . |
Configurare AI Gateway in un endpoint
È anche possibile configurare l'endpoint per abilitare le funzionalità di Mosaic AI Gateway, ad esempio la limitazione della velocità, il rilevamento dell'utilizzo e le protezioni.
Vedere Configurare AI Gateway negli endpoint che gestiscono i modelli.
Eseguire query su un endpoint del modello esterno
Dopo aver creato un endpoint del modello esterno, è pronto per ricevere il traffico dagli utenti.
È possibile inviare richieste di assegnazione dei punteggi all'endpoint usando il client OpenAI, l'API REST o MLflow Deployments SDK.
- Vedere i parametri di query standard per una richiesta di assegnazione dei punteggi in POST /serving-endpoints/{name}/invocations.
- Eseguire query sui modelli di intelligenza artificiale generativi
L'esempio seguente esegue una query sul modello di completamento claude-2
ospitato da Anthropic usando il client OpenAI. Per usare il client OpenAI, popolare il campo model
con il nome dell'endpoint di gestione del modello che ospita il modello su cui eseguire la query.
In questo esempio viene usato un endpoint creato precedentemente, anthropic-completions-endpoint
, configurato per accedere a modelli esterni dal provider di modelli Anthropic. Vedere come creare endpoint del modello esterno.
Vedere Modelli supportati per i modelli aggiuntivi su cui è possibile eseguire query e i relativi provider.
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 di risposta di output previsto:
{
"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
}
}
Parametri aggiuntivi delle query
È possibile passare qualsiasi parametro aggiuntivo supportato dal provider dell'endpoint come parte della query.
Ad esempio:
logit_bias
(supportato da OpenAI, Cohere).top_k
(supportato da Anthropic, Cohere).frequency_penalty
(supportato da OpenAI, Cohere).presence_penalty
(supportato da OpenAI, Cohere).stream
(supportato da OpenAI, Anthropic, Cohere, Amazon Bedrock for Anthropic). Questa opzione è disponibile soltanto per le richieste di chat e di completamento.
Limiti
A seconda del modello esterno scelto, la configurazione potrebbe causare l'elaborazione dei dati all'esterno dell'area in cui tali dati sono stati originati. Consultare Limiti e aree di disponibilità di Model Serving.
Risorse aggiuntive
- Esercitazione: creare endpoint di modelli esterni per eseguire query sui modelli OpenAI.
- Eseguire query sui modelli di intelligenza artificiale generativi.