Externe Modelle in Mosaic AI Model Serving
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 Mosaik-KI-Gateway für Endpunkte konfigurieren, die externe Modelle bedienen. Das KI-Gateway bietet Governance, Überwachung und Produktionsbereitschaft für diese Modellbereitstellungsendpunkte. Siehe Mosaik AI Gateway.
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. Anweisungen zur Verwendung der Benutzeroberfläche und der REST-API für die Bereitstellung finden Sie in den folgenden Leitfäden:
Anforderungen
- API-Schlüssel- oder Authentifizierungsfelder für den Modellanbieter.
- Databricks-Arbeitsbereich in für externe Modelle unterstützten Regionen.
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.
Wenden Sie sich an Ihr Databricks-Kontoteam, um Support für einen Anbieter anzufordern, der hier nicht aufgeführt ist.
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.
Die folgende Tabelle enthält eine nicht vollständige Liste der unterstützten Modelle und entsprechenden Endpunkttypen. Modellzuordnungen, die unten aufgeführt sind, können als hilfreiche Anleitung beim Konfigurieren eines Endpunkts für alle neu veröffentlichten Modelltypen, sobald sie für einen bestimmten Anbieter verfügbar sind, verwendet werden. Kunden sind dafür verantwortlich, die Einhaltung anwendbarer Modelllizenzen sicherzustellen.
Hinweis
Angesichts der rasanten Entwicklung von LLMs kann nicht garantiert werden, dass diese Liste immer auf dem neuesten Stand ist.
Modellanbieter | llm/v1/completions | llm/v1/chat | llm/v1/embeddings |
---|---|---|---|
OpenAI** | – gpt-3.5-turbo-instruct – babbage-002 – davinci-002 |
- o1-preview - o1-preview-2024-09-12 - o1-mini - o1-mini-2024-09-12 – gpt-3.5-turbo – gpt-4 – gpt-4o – gpt-4o-2024-05-13 – gpt-4o-mini – gpt-3.5-turbo-0125 – gpt-3.5-turbo-1106 – gpt-4-0125-preview – gpt-4-turbo-preview – gpt-4-1106-preview |
– text-embedding-ada-002 – text-embedding-3-large – text-embedding-3-small |
Azure OpenAI** | – text-davinci-003 – gpt-35-turbo-instruct |
– gpt-35-turbo – gpt-35-turbo-16k – gpt-4 – gpt-4-32k – gpt-4o – gpt-4o-mini |
– text-embedding-ada-002 – text-embedding-3-large – text-embedding-3-small |
Anthropic | – claude-1 – claude-1.3-100k – claude-2 – claude-2.1 – claude-2.0 – claude-instant-1.2 |
– claude-3-5-sonnet-20240620 – claude-3-haiku-20240307 – claude-3-opus-20240229 – claude-3-sonnet-20240229 – claude-2.1 – claude-2.0 – claude-instant-1.2 |
|
Cohere** | – command – command-light |
– command-r-plus – command-r – command – command-light-nightly – command-light – command-nightly |
– embed-english-v2.0 – embed-multilingual-v2.0 – embed-english-light-v2.0 – embed-english-v3.0 – embed-english-light-v3.0 – embed-multilingual-v3.0 – embed-multilingual-light-v3.0 |
Mosaic AI Model Serving | Databricks-Bereitstellungsendpunkt | Databricks-Bereitstellungsendpunkt | Databricks-Bereitstellungsendpunkt |
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 |
**
Der Modellanbieter unterstützt die optimierten Vervollständigungs- und Chatmodelle. Um ein optimiertes Modell abzufragen, füllen Sie das name
-Feld der external model
-Konfiguration mit dem Namen Ihres optimierten Modells auf.
† Modellanbieter unterstützt benutzerdefinierte Vervollständigungsmodelle.
Verwenden von Modellen, die auf Mosaic AI Model Serving-Endpunkten bereitgestellt werden
Mosaic AI Model Serving-Endpunkte als Anbieter, wird für die Endpunkttypen llm/v1/completions
, llm/v1/chat
und llm/v1/embeddings
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": [
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
}
}
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 OpenAI GPT-3.5-Turbo -Modell. |
provider |
Gibt den Namen des Anbieters für dieses Modell an. Dieser Zeichenfolgenwert muss einem unterstützten externen Modellanbieterentsprechen. Beispiel: openai für OpenAI GPT-3.5 -Modelle. |
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. |
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 anthropic
bereitgestellte claude-2
-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 |
Der geheime Schlüsselverweis von Azure Databricks für einen OpenAI-API-Schlüssel mit dem OpenAI-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 OpenAI-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 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 |
Cohere
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. | No |
Anthropic
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. | No |
Wenn Sie Azure OpenAI mit Microsoft Entra ID verwenden, verwenden Sie die folgenden Parameter in Ihrer Endpunktkonfiguration.
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 |
Der geheime Schlüsselverweis von Azure Databricks für eine AWS-Zugriffsschlüssel-ID mit Berechtigungen für die Interaktion mit Bedrock-Diensten. 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 . |
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.
Abfragen eines externen Modellendpunkts
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.
- Abfragegenerive KI-Modelle
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 im Rahmen Ihrer Abfrage zusätzliche Parameter übergeben, die vom Anbieter des Endpunkts 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.
Unterstützung für Netzwerkkonnektivitätskonfigurationen für externe Modelle
Die Unterstützung für Netzwerkkonnektivitätskonfigurationen (Network Connectivity Configurations, NCCs) für externe Modelle, einschließlich des privaten Azure-Links, befindet sich derzeit in der privaten Vorschau. Wenden Sie sich an Ihr Databricks-Kontoteam, um sich für die Vorschau zu registrieren.
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.