Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Die Codebeispiele in diesem Artikel veranschaulichen die Verwendung der öffentliche Vorschau der CRUD-API für MLflow-Bereitstellungen.
In diesem Artikel werden externe Modelle in Mosaic AI Model Serving beschrieben, einschließlich der unterstützten Modellanbieter und Einschränkungen.
Was sind externe Modelle?
Wichtig
Sie können jetzt Mosaic AI Gateway auf Modellbereitstellungsendpunkten konfigurieren, die externe Modelle bereitstellen. AI Gateway bietet Governance, Überwachung und Produktionsbereitschaft für diese Modellbereitstellungsendpunkte. siehe Mosaik AI Gateway Einführung.
Externe Modelle sind Drittanbietermodelle, die außerhalb von Databricks gehostet werden. Mithilfe der Modellbereitstellung können Sie die Verwendung und Verwaltung verschiedener LLM-Anbieter (Large Language Model) wie OpenAI und Anthropic innerhalb einer Organisation mit externen Modellen optimieren. Sie können auch Mosaic AI Model Serving als Anbieter verwenden, um benutzerdefinierte Modelle zu bedienen, die Quotengrenzen für diese Endpunkte bieten. Im Rahmen dieser Unterstützung bietet die Modellbereitstellung eine allgemeine Schnittstelle, die die Interaktion mit diesen Diensten vereinfacht, indem ein einheitlicher Endpunkt zur Behandlung bestimmter LLM-bezogener Anforderungen bereitgestellt wird.
Darüber hinaus bietet die Azure Databricks-Unterstützung für externe Modelle eine zentralisierte Verwaltung von Anmeldeinformationen. Durch das Speichern von API-Schlüsseln an einem sicheren Ort können Organisationen ihren Sicherheitsstatus verbessern, da sie die Gefährdung vertraulicher API-Schlüssel im gesamten System minimieren. Außerdem können Sie verhindern, dass diese Schlüssel innerhalb von Code verfügbar sind oder dass Endbenutzer*innen Schlüssel sicher verwalten müssen.
Im Tutorial: Erstellen externer Modellendpunkte zum Abfragen von OpenAI-Modellen finden Sie Schrittanleitungen zur Erstellung externer Modellendpunkte und zum Abfragen unterstützter Modelle, die von diesen Endpunkten bereitgestellt werden, mithilfe des Bereitstellungs-SDK von MLflow. In den folgenden Leitfäden finden Sie Anleitungen zur Verwendung der Serving-Benutzeroberfläche und der REST-API:
Anforderungen
- API-Schlüssel- oder Authentifizierungsfelder für den Modellanbieter.
- Databricks-Arbeitsbereich in Regionen, in denen externe Modelle unterstützt werden.
Modellanbieter
Externe Modelle in der Modellbereitstellung wurden entwickelt, um eine Vielzahl von Modellanbietern zu unterstützen. Ein Anbieter stellt die Quelle der Machine Learning-Modelle dar, z. B. OpenAI, Anthropic usw. Jeder Anbieter weist spezifische Merkmale und Konfigurationen auf, die im external_model
-Felds der Konfiguration des externen Modellendpunkts festgehalten sind.
Die folgenden Anbieter werden unterstützt:
- openai: Für Modelle, die von OpenAI und den Azure-Integrationen für Azure OpenAI und Azure OpenAI mit AAD angeboten werden.
- anthropic: Für Modelle von Anthropic.
- cohere: Für Modelle von Cohere.
- amazon-bedrock: Für Modelle, die von Amazon Bedrock angeboten werden.
- google-cloud-vertex-ai: Für Modelle, die von Google Cloud Vertex AI angeboten werden.
- databricks-model-serving: Für Mosaic AI Model Serving-Endpunkte mit kompatiblen Schemas. Siehe Endpunktkonfiguration.
- custom: Für alternative Anbieter oder Modelle hinter benutzerdefinierten Proxys, die OpenAI-API kompatibel sind, aber nicht direkt von Databricks unterstützt werden.
Um Support für einen Anbieter anzufordern, der hier nicht aufgeführt ist, versuchen Sie, die option für benutzerdefinierte Anbieter zu verwenden oder wenden Sie sich an Ihr Databricks-Kontoteam.
Unterstützte Modelle
Das gewählte Modell wirkt sich direkt auf die Ergebnisse der Antworten aus den API-Aufrufen aus. Wählen Sie daher ein Modell aus, das den Anforderungen Ihres Anwendungsfalls entspricht. Zum Generieren von Unterhaltungsantworten können Sie beispielsweise ein Chatmodell auswählen. Entsprechend können Sie zum Generieren von Einbettungen von Text ein Einbettungsmodell auswählen.
Weitere Informationen finden Sie unter Unterstützte Modelle.
Verwenden von Modellen, die auf Mosaic AI Model Serving-Endpunkten bereitgestellt werden
Für die Endpunkttypen , llm/v1/completions
und llm/v1/chat
wird llm/v1/embeddings
als Dienstanbieter unterstützt. Diese Endpunkte müssen die als erforderlich markierten Standardabfrageparameter akzeptieren, während andere Parameter möglicherweise ignoriert werden, je nachdem, ob der Mosaic AI Model Serving-Endpunkt sie unterstützt.
Weitere Informationen zu Standardabfrageparametern finden Sie unter POST /serving-endpoints/{name}/invocations in der API-Referenz.
Diese Endpunkte müssen Antworten im folgenden OpenAI-Format erzeugen.
Für Abschlussaufgaben:
{
"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
}
}
Für Chataufgaben:
{
"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
}
}
Für Einbettungsaufgaben:
{
"data": [
{
"embedding": [
1.0023064255,
-0.009327292,
.... # (1536 floats total for ada-002)
-0.0028842222,
],
"index": 0
},
{
"embedding": [
1.0023064255,
-0.009327292,
.... #(1536 floats total for ada-002)
-0.0028842222,
],
"index": 0
}
],
"model": "test_embedding_model",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Endpunktkonfiguration
Um externe Modelle zu bedienen und abzufragen, müssen Sie einen Bereitstellungsendpunkt konfigurieren. Weitere Informationen finden Sie unter Erstellen eines Bereitstellungsendpunkts für ein externes Modell.
Für einen externen Modellbereitstellungsendpunkt müssen Sie das Feld external_model
und dessen Parameter im Abschnitt served_entities
der Endpunktkonfiguration einschließen. Wenn Sie mehrere externe Modelle in einem Bereitstellungsendpunkt konfigurieren, müssen Sie eine traffic_config
angeben, um den Prozentsatz für Datenverkehrsrouting für jedes externe Modell zu definieren.
Das Feld external_model
definiert das Modell, an das dieser Endpunkt Anforderungen weiterleitet. Bei der Angabe eines Modells ist es wichtig, dass der Anbieter das angeforderte Modell unterstützt. Beispielsweise unterstützt openai
als Anbieter Modelle wie text-embedding-ada-002
, aber andere Anbieter möglicherweise nicht. Wenn das Modell vom Anbieter nicht unterstützt wird, gibt Databricks beim Versuch, Anforderungen an dieses Modell weiterzuleiten, einen HTTP 4xx-Fehler zurück.
In der folgenden Tabelle sind die Parameter für das Feld external_model
zusammengefasst. Weitere Informationen zu Endpunktkonfigurationsparametern finden Sie unter POST /api/2.0/serving-endpoints.
Parameter | Beschreibungen |
---|---|
name |
Der Name des zu verwendenden Modells. Beispiel gpt-3.5-turbo : für das GPT-3.5-Turbo OpenAI-Modell. Dies wird als Teil des Anforderungstexts mit dem entsprechenden Schlüssel übergeben: "model" . |
provider |
Gibt den Namen des Anbieters für dieses Modell an. Dieser Zeichenfolgenwert muss einem unterstützten externen Modellanbieterentsprechen. Zum Beispiel openai für OpenAI-Modelle GPT-3.5 . |
task |
Die Aufgabe entspricht dem Typ der von Ihnen gewünschten Sprachmodellinteraktion. Unterstützte Aufgaben sind „llm/v1/completions”, „llm/v1/chat”, „llm/v1/embeddings”. |
<provider>_config |
Enthält alle zusätzlichen Konfigurationsdetails, die für das Modell erforderlich sind. Diese umfassen die API-Basis-URL und den API-Schlüssel. Siehe Konfigurieren des Anbieters für einen Endpunkt. Wenn Sie den Anbieter custom verwenden, geben Sie diesen Parameter als custom_provider_config an. |
Im Folgenden sehen Sie ein Beispiel zum Erstellen eines externen Modellendpunkts mithilfe der create_endpoint()
-API. In diesem Beispiel wird eine an den Abschlussendpunkt gesendete Anforderung an das von claude-2
bereitgestellte anthropic
-Modell weitergeleitet.
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}}"
}
}
}
]
}
)
Konfigurieren des Anbieters für einen Endpunkt
Wenn Sie einen Endpunkt erstellen, müssen Sie die erforderlichen Konfigurationen für den angegebenen Modellanbieter angeben. In den folgenden Abschnitten werden die verfügbaren Endpunktkonfigurationsparameter für jeden Modellanbieter zusammengefasst.
Hinweis
Databricks verschlüsselt die bereitgestellten Anmeldeinformationen für jeden Modellanbieter und speichert sie sicher. Diese Anmeldeinformationen werden automatisch gelöscht, wenn die zugehörigen Endpunkte gelöscht werden.
OpenAI
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
openai_api_key |
Die geheime Schlüsselreferenz von Azure Databricks für einen OpenAI-API-Schlüssel unter Verwendung des OpenAI-Dienstes. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie openai_api_key_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: openai_api_key oder openai_api_key_plaintext . |
|
openai_api_key_plaintext |
Der OpenAI-API-Schlüssel, der mit dem OpenAI-Dienst als Klartext-Zeichenfolge bereitgestellt wird. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie openai_api_key . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: openai_api_key oder openai_api_key_plaintext muss bereitgestellt werden. |
|
openai_api_type |
Ein optionales Feld, um den Typ der zu verwendenden OpenAI-API anzugeben. | Nein | openai |
openai_api_base |
Die Basis-URL für die OpenAI-API. | Nein | https://api.openai.com/v1 |
openai_api_version |
Ein optionales Feld zum Angeben der OpenAI-API-Version. | Nein | |
openai_organization |
Ein optionales Feld zum Angeben der Organisation in OpenAI. | Nein |
Kohärent sein
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
cohere_api_key |
Der geheime Schlüsselverweis von Azure Databricks für einen Cohere-API-Schlüssel. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie cohere_api_key_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: cohere_api_key oder cohere_api_key_plaintext . |
|
cohere_api_key_plaintext |
Der Cohere-API-Schlüssel, der als Klartext-Zeichenfolge bereitgestellt wird. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie cohere_api_key . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: cohere_api_key oder cohere_api_key_plaintext . |
|
cohere_api_base |
Die Basis-URL für den Cohere-Dienst. | Nein |
Anthropisch
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
anthropic_api_key |
Der geheime Schlüsselverweis von Azure Databricks für einen Anthropic API-Schlüssel. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie anthropic_api_key_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: anthropic_api_key oder anthropic_api_key_plaintext . |
|
anthropic_api_key_plaintext |
Der Anthropic API-Schlüssel, der als Klartext-Zeichenfolge bereitgestellt wird. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie anthropic_api_key . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: anthropic_api_key oder anthropic_api_key_plaintext . |
Azure OpenAI
Azure OpenAI verfügt im Vergleich zum direkten OpenAI-Service über bestimmte Funktionen. Eine Übersicht finden Sie in der Vergleichsdokumentation.
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
openai_api_key |
Der geheime Schlüsselverweis von Azure Databricks für einen OpenAI-API-Schlüssel mit dem Azure-Dienst. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie openai_api_key_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: openai_api_key oder openai_api_key_plaintext . |
|
openai_api_key_plaintext |
Der OpenAI-API-Schlüssel mit dem Azure-Dienst, der als Klartext-Zeichenfolge bereitgestellt wird. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie openai_api_key . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: openai_api_key oder openai_api_key_plaintext . |
|
openai_api_type |
Verwenden Sie azure für die Überprüfung des Zugriffstokens. |
Ja | |
openai_api_base |
Die Basis-URL für den Azure OpenAI-API-Dienst, der von Azure bereitgestellt wird. | Ja | |
openai_api_version |
Die Version des zu verwendenden Azure OpenAI-Diensts, angegeben nach einem Datum. | Ja | |
openai_deployment_name |
Der Name der Bereitstellungsressource für den Azure OpenAI-Dienst. | Ja | |
openai_organization |
Ein optionales Feld zum Angeben der Organisation in OpenAI. | Nein |
Wenn Sie Azure OpenAI mit Microsoft Entra ID verwenden, verwenden Sie die folgenden Parameter in Ihrer Endpunktkonfiguration. Databricks übergibt https://cognitiveservices.azure.com/
als Standardbereich für das Microsoft Entra ID-Token.
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
microsoft_entra_tenant_id |
Die Mandanten-ID für die Authentifizierung von Microsoft Entra ID | Ja | |
microsoft_entra_client_id |
Die Client-ID für die Authentifizierung von Microsoft Entra ID | Ja | |
microsoft_entra_client_secret |
Der Geheimschlüsselverweis von Azure Databricks für einen geheimen Clientschlüssel, der für die Microsoft Entra ID-Authentifizierung verwendet wird. Wenn Sie den geheimen Clientschlüssel lieber direkt einfügen möchten, lesen Sie microsoft_entra_client_secret_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: microsoft_entra_client_secret oder microsoft_entra_client_secret_plaintext . |
|
microsoft_entra_client_secret_plaintext |
Der geheime Clientschlüssel, der für die Microsoft Entra ID-Authentifizierung verwendet wird, die als Klartext-Zeichenfolge bereitgestellt wird. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie microsoft_entra_client_secret . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: microsoft_entra_client_secret oder microsoft_entra_client_secret_plaintext . |
|
openai_api_type |
Benutzen Sie azuread für die Authentifizierung mit Microsoft Entra ID. |
Ja | |
openai_api_base |
Die Basis-URL für den Azure OpenAI-API-Dienst, der von Azure bereitgestellt wird. | Ja | |
openai_api_version |
Die Version des zu verwendenden Azure OpenAI-Diensts, angegeben nach einem Datum. | Ja | |
openai_deployment_name |
Der Name der Bereitstellungsressource für den Azure OpenAI-Dienst. | Ja | |
openai_organization |
Ein optionales Feld zum Angeben der Organisation in OpenAI. | Nein |
Im folgenden Beispiel wird das Erstellen eines Endpunkts mit Azure OpenAI veranschaulicht:
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
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
private_key |
Der geheime Schlüsselverweis von Azure Databricks für einen privaten Schlüssel für das Dienstkonto, das Zugriff auf den Google Cloud Vertex KI-Dienst hat. Weitere Informationen finden Sie unter Best Practices für die Verwaltung von Dienstkontoschlüsseln. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie private_key_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: private_key oder private_key_plaintext . |
|
private_key_plaintext |
Der private Schlüssel für das Dienstkonto, das Zugriff auf den Google Cloud Vertex AI-Dienst hat, der als Klartextgeheimnis bereitgestellt wird. Weitere Informationen finden Sie unter Best Practices für die Verwaltung von Dienstkontoschlüsseln. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie private_key . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: private_key oder private_key_plaintext . |
|
region |
Dies ist die Region für den Google Cloud Vertex AI-Dienst. Weitere Informationen finden Sie im Artikel zu den unterstützten Regionen. Einige Modelle sind nur in bestimmten Regionen verfügbar. | Ja | |
project_id |
Dies ist die Google Cloud-Projekt-ID, der das Dienstkonto zugeordnet ist. | Ja |
Amazon Bedrock
Um Amazon Bedrock als externen Modellanbieter zu verwenden, müssen Kunden/Kundinnen sicherstellen, dass Bedrock in der angegebenen AWS-Region aktiviert ist und dass das angegebene AWS-Schlüsselpaar über die entsprechenden Berechtigungen für die Interaktion mit Bedrock-Diensten verfügt. Weitere Informationen finden Sie unter AWS Identitäts- und Zugriffsverwaltung.
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
aws_region |
Die zu verwendende AWS-Region. Dort muss Bedrock aktiviert sein. | Ja | |
aws_access_key_id |
Die Azure Databricks-Geheimschlüsselreferenz für eine AWS-Zugriffsschlüssel-ID, die Berechtigungen zum Interagieren mit Bedrock-Diensten hat. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie aws_access_key_id_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: aws_access_key_id oder aws_access_key_id_plaintext . |
|
aws_access_key_id_plaintext |
Eine AWS-Zugriffstasten-ID mit Berechtigungen für die Interaktion mit Bedrock-Diensten, die als Klartext-Zeichenfolge bereitgestellt werden. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie aws_access_key_id . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: aws_access_key_id oder aws_access_key_id_plaintext . |
|
aws_secret_access_key |
Der geheime Schlüsselverweis von Azure Databricks für einen geheimen AWS-Zugriffsschlüssel, der mit der Zugriffstasten-ID gekoppelt ist, mit Berechtigungen für die Interaktion mit Bedrock-Diensten. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie aws_secret_access_key_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: aws_secret_access_key oder aws_secret_access_key_plaintext . |
|
aws_secret_access_key_plaintext |
Ein geheimer AWS-Zugriffsschlüssel, der mit der Zugriffstasten-ID gekoppelt ist, mit Berechtigungen für die Interaktion mit Bedrock-Diensten, die als Klartext-Zeichenfolge bereitgestellt werden. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie aws_secret_access_key . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: aws_secret_access_key oder aws_secret_access_key_plaintext . |
|
bedrock_provider |
Der zugrunde liegende Anbieter in Amazon Bedrock. Unterstützte Werte (Groß- und Kleinschreibung beachten) umfassen: Anthropic, Cohere, AI21Labs, Amazon | Ja |
Im folgenden Beispiel wird veranschaulicht, wie ein Endpunkt mit Amazon Bedrock mithilfe von Zugriffsschlüsseln erstellt wird.
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",
},
}
}
]
},
)
Wenn AWS-Berechtigungsprobleme auftreten, empfiehlt Databricks, dass Sie die Anmeldeinformationen direkt mit der Amazon Bedrock-API überprüfen.
AI21 Labs
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
ai21labs_api_key |
Der geheime Schlüsselverweis von Azure Databricks für einen AI21 Labs-API-Schlüssel. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie ai21labs_api_key_plaintext . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: ai21labs_api_key oder ai21labs_api_key_plaintext . |
|
ai21labs_api_key_plaintext |
Ein AI21 Labs-API-Schlüssel, der als Klartext-Zeichenfolge bereitgestellt wird. Wenn Sie ihren Schlüssel lieber mit Azure Databricks Secrets referenzieren möchten, lesen Sie ai21labs_api_key . |
Sie müssen einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: ai21labs_api_key oder ai21labs_api_key_plaintext . |
Benutzerdefinierter Anbieter
Konfigurationsparameter | Beschreibung | Erforderlich | Standard |
---|---|---|---|
custom_provider_url |
Die URL, unter der sich das Modell des benutzerdefinierten Anbieters befindet. Die URL muss auf einen bestimmten API-Endpunkt verweisen; beispiel: https://api.provider.com/chat/completions . |
Ja | |
bearer_token_auth |
Wenn der benutzerdefinierte Anbieter die Bearertokenauthentifizierung verwendet, geben Sie die erforderlichen Felder an. | Sie müssen eine Authentifizierungsmethode mit einem der folgenden Felder bereitstellen: bearer_token_auth oder api_key_auth . |
|
token |
Der geheime Azure Databricks-Schlüsselverweis für das Token für die Bearerauthentifizierung. Dieser Parameter muss unter bearer_token_auth verschachtelt werden. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie token_plaintext . |
Wenn Sie die Bearerauthentifizierung verwenden, müssen Sie einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: token oder token_plaintext . |
|
token_plaintext |
Das Token für die Inhaberauthentifizierung, das als Klartext-Zeichenfolge bereitgestellt wird. Dieser Parameter muss unter bearer_token_auth verschachtelt werden. Wenn Sie Ihren Schlüssel lieber mithilfe von Azure Databricks-Secrets referenzieren möchten, lesen Sie token . |
Wenn Sie die Bearerauthentifizierung verwenden, müssen Sie einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: token oder token_plaintext . |
|
api_key_auth |
Wenn der benutzerdefinierte Anbieter die API-Schlüsselauthentifizierung verwendet, geben Sie die erforderlichen Felder an. | Sie müssen eine Authentifizierungsmethode mit einem der folgenden Felder bereitstellen: bearer_token_auth oder api_key_auth . |
|
key |
Der Schlüssel für die API-Schlüsselauthentifizierung. Dieser Parameter muss unter api_key_auth verschachtelt werden. |
Ja, bei Verwendung der API-Schlüsselauthentifizierung. | |
value |
Der Verweis auf den geheimen Schlüssel von Azure Databricks für den Wert für die API-Schlüsselauthentifizierung. Wenn Sie den API-Schlüssel lieber direkt einfügen möchten, lesen Sie value_plaintext . |
Wenn Sie die API-Schlüsselauthentifizierung verwenden, müssen Sie einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: value oder value_plaintext . |
|
value_plaintext |
Der Wert für die API-Schlüsselauthentifizierung, die als Nur-Text-Zeichenfolge bereitgestellt wird. Wenn Sie Ihren Schlüssel lieber mithilfe von Azure Databricks-Secrets referenzieren möchten, lesen Sie value . |
Wenn Sie die API-Schlüsselauthentifizierung verwenden, müssen Sie einen API-Schlüssel mithilfe eines der folgenden Felder bereitstellen: value oder value_plaintext . |
Im folgenden Beispiel wird das Erstellen eines Endpunkts mit einem benutzerdefinierten Anbieter mithilfe der Bearerauthentifizierung veranschaulicht:
client.create_endpoint(
name="custom-provider-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "custom-provider-model",
"provider": "custom",
"task": "llm/v1/chat",
"custom_provider_config": {
"custom_provider_url": "https://api.provider.com/chat/completions",
"bearer_token_auth": {
"token": "{{secrets/my_custom_provider_secret_scope/custom_provider_token}}"
}
}
}
}
]
},
)
Im folgenden Beispiel wird veranschaulicht, wie Sie einen Endpunkt mit einem benutzerdefinierten Anbieter mithilfe der API-Schlüsselauthentifizierung erstellen:
client.create_endpoint(
name="custom-provider-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "custom-provider-model",
"provider": "custom",
"task": "llm/v1/chat",
"custom_provider_config": {
"custom_provider_url": "https://my-custom-provider.com",
"api_key_auth": {
"key": "X-API-KEY",
"value": "{{secrets/my_custom_provider_secret_scope/custom_provider_api_key}}"
}
}
}
}
]
},
)
Konfigurieren des KI-Gateways auf einem Endpunkt
Sie können Ihren Endpunkt auch so konfigurieren, dass Mosaik AI Gateway-Funktionen wie Ratenbegrenzung, Nutzungsverfolgung und Guardrails aktiviert werden.
Siehe Konfigurieren des AI Gateway auf Modellbereitstellungsendpunkten.
Einen externen Modellendpunkt abfragen
Nachdem Sie einen externen Modellendpunkt erstellt haben, ist er bereit, Datenverkehr von Benutzer*innen zu empfangen.
Sie können Bewertungsanforderungen mithilfe des OpenAI-Clients, der REST-API oder des MLflow-Bereitstellungs-SDKs an den Endpunkt senden.
- Weitere Informationen zu den Standardabfrageparametern für eine Bewertungsanforderung finden Sie unter POST /serving-endpoints/{name}/invocations.
- Verwenden von Foundation-Modellen
Im folgenden Beispiel wird das von Anthropic gehostete claude-2
-Abschlussmodell mithilfe des OpenAI-Clients abgefragt. Um den OpenAI-Client zu verwenden, füllen Sie das model
-Feld mit dem Namen des Modellbereitstellungsendpunkts auf, der das Modell hostet, das Sie abfragen möchten.
In diesem Beispiel wird ein zuvor erstellter Endpunkt anthropic-completions-endpoint
verwendet, der für den Zugriff auf externe Modelle vom Anthropic-Modellanbieter konfiguriert ist. Erfahren Sie, wie Sie externe Modellendpunkte erstellen.
Unter Unterstützte Modelle finden Sie weitere Modelle, die Sie abfragen können, sowie deren Anbieter.
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)
Erwartetes Ausgabeantwortformat:
{
"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
}
}
Zusätzliche Abfrageparameter
Sie können alle zusätzlichen Parameter übergeben, die vom Anbieter des Endpunkts als Teil Ihrer Abfrage unterstützt werden.
Beispiel:
-
logit_bias
(unterstützt von OpenAI, Cohere). -
top_k
(unterstützt von Anthropic, Cohere). -
frequency_penalty
(unterstützt von OpenAI, Cohere). -
presence_penalty
(unterstützt von OpenAI, Cohere). -
stream
(unterstützt von OpenAI, Anthropic, Cohere, Amazon Bedrock für Anthropic). Dies ist nur für Chat- und Vervollständigungsanforderungen verfügbar.
-
tools
(unterstützt von OpenAI, Anthropic, Amazon Bedrock für Anthropic). Dies ist nur für Chat- und Vervollständigungsanforderungen verfügbar. Dieser Parameter ermöglicht die Integration externer Funktionen, einschließlich Computer Use (Beta) für Anthropic und Amazon Bedrock für Anthropic. Weitere Informationen finden Sie unter Funktionsaufrufe für Azure Databricks.
Unterstützung für Konfigurationen der Netzwerkkonnektivität bei externen Modellen
Die Unterstützung für Netzwerkkonnektivitätskonfigurationen (Network Connectivity Configurations, NCCs) für externe Modelle, einschließlich des privaten Azure-Links, befindet sich in der öffentlichen Vorschau. Um an der Vorschau teilzunehmen, wenden Sie sich an Ihr Databricks-Kundenteam.
Begrenzungen
Je nach ausgewähltem externen Modell kann ihre Konfiguration dazu führen, dass Ihre Daten außerhalb der Region, aus der Ihre Daten stammen, verarbeitet werden. Weitere Informationen finden Sie unter Grenzwerte und Regionen für die Modellbereitstellung.
Zusätzliche Ressourcen
- Tutorial: Erstellen externer Modellendpunkte zum Abfragen von OpenAI-Modellen.
- Verwenden von Basis-Modellen.