Dela via


Externa modeller i Mosaic AI Model Serving

Viktigt!

Kodexemplen i den här artikeln visar användningen av CRUD-API:et public preview MLflow Deployments.

Den här artikeln beskriver externa modeller i Mosaic AI Model Serving, inklusive modellleverantörer som stöds och begränsningar.

Vad är externa modeller?

Viktigt!

Nu kan du konfigurera Mosaic AI Gateway på modell som betjänar slutpunkter som hanterar externa modeller. AI Gateway ger styrnings-, övervaknings- och produktionsberedskap till den här modellen som betjänar slutpunkter. Se Mosaic AI Gateway.

Externa modeller är tredjepartsmodeller som finns utanför Databricks. Med hjälp av modellservering kan externa modeller effektivisera användningen och hanteringen av olika LLM-leverantörer (large language model), till exempel OpenAI och Anthropic, inom en organisation. Du kan också använda Mosaic AI Model Serving som leverantör för att hantera anpassade modeller, som erbjuder hastighetsbegränsningar för dessa slutpunkter. Som en del av det här stödet erbjuder Model Serving ett högnivågränssnitt som förenklar interaktionen med dessa tjänster genom att tillhandahålla en enhetlig slutpunkt för att hantera specifika LLM-relaterade begäranden.

Dessutom tillhandahåller Azure Databricks-stöd för externa modeller centraliserad hantering av autentiseringsuppgifter. Genom att lagra API-nycklar på en säker plats kan organisationer förbättra sin säkerhetsstatus genom att minimera exponeringen av känsliga API-nycklar i hela systemet. Det hjälper också till att förhindra att dessa nycklar exponeras i kod eller kräver att slutanvändarna hanterar nycklar på ett säkert sätt.

Se Självstudie: Skapa externa modellslutpunkter för att fråga OpenAI-modeller för stegvis vägledning om hur du skapar och frågar modeller som stöds av dessa slutpunkter med hjälp av SDK för MLflow-distributioner. Se följande guider för instruktioner om hur du använder användargränssnittet för servering och REST-API:et:

Krav

  • API-nyckel- eller autentiseringsfält för modellprovidern.
  • Databricks-arbetsyta i regioner som stöds av externa modeller.

Modellprovidrar

Externa modeller i Model Serving är utformade för att stödja en mängd olika modellprovidrar. En provider representerar källan till maskininlärningsmodellerna, till exempel OpenAI, Anthropic och så vidare. Varje provider har sina specifika egenskaper och konfigurationer som är inkapslade inom external_model fältet för den externa modellens slutpunktskonfiguration.

Följande leverantörer stöds:

  • openai: För modeller som erbjuds av OpenAI och Azure-integreringarna för Azure OpenAI och Azure OpenAI med AAD.
  • antropiska: För modeller som erbjuds av antropiska.
  • cohere: För modeller som erbjuds av Cohere.
  • amazon-bedrock: För modeller som erbjuds av Amazon Bedrock.
  • google-cloud-vertex-ai: För modeller som erbjuds av Google Cloud Vertex AI.
  • databricks-model-serving: För Mosaic AI Model Serving-slutpunkter med kompatibla scheman. Se Slutpunktskonfiguration.

Kontakta ditt Databricks-kontoteam om du vill begära support för en leverantör som inte finns med här.

Modeller som stöds

Den modell du väljer påverkar direkt resultatet av de svar du får från API-anropen. Välj därför en modell som passar dina krav för användningsfall. För att generera konversationssvar kan du till exempel välja en chattmodell. För att generera inbäddningar av text kan du däremot välja en inbäddningsmodell.

Tabellen nedan visar en icke-fullständig lista över modeller som stöds och motsvarande slutpunktstyper. Modellassociationer som anges nedan kan användas som en användbar guide när du konfigurerar en slutpunkt för alla nyligen släppta modelltyper när de blir tillgängliga med en viss provider. Kunderna ansvarar för att säkerställa efterlevnaden av tillämpliga modelllicenser.

Kommentar

Med den snabba utvecklingen av LLM:er finns det ingen garanti för att listan är uppdaterad hela tiden.

Modellprovider 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-inbäddning-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-inbäddning-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** -befallning
– kommandoljus
- command-r-plus
- command-r
-befallning
- command-light-nightly
– kommandoljus
- kommando-nattetid
- 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-modellservering Databricks-serverslutpunkt Databricks-serverslutpunkt Databricks-serverslutpunkt
Amazon Berggrund Antropisk:

- claude-instant-v1
- claude-v2

Sammanstå:

- 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
Antropisk:

- claude-v2
- claude-v2:1
- claude-3-sonnet-20240229-v1:0
- claude-3-5-sonnet-20240620-v1:0

Sammanstå:

- command-r-plus-v1:0
- command-r-v1:0
- command-text-v14
- command-light-text-v14
Amason:

- titan-embed-text-v1
- titan-embed-g1-text-02

Sammanstå:

- 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

** Modellprovidern stöder finjusterade slutförande- och chattmodeller. Om du vill köra frågor mot en finjusterad modell fyller du i name konfigurationsfältet external model med namnet på din finjusterade modell.

† Modellprovidern stöder anpassade kompletteringsmodeller.

Använda modeller som hanteras på Mosaic AI Model Serving-slutpunkter

Mosaic AI Model Serving-slutpunkter som leverantör stöds för slutpunktstyperna llm/v1/completions, llm/v1/chatoch llm/v1/embeddings . Dessa slutpunkter måste acceptera standardfrågeparametrarna som markerats som obligatoriska, medan andra parametrar kan ignoreras beroende på om slutpunkten för Mosaic AI Model Serving stöder dem eller inte.

Se POST /serving-endpoints/{name}/invocations i API-referensen för standardfrågeparametrar.

Dessa slutpunkter måste generera svar i följande OpenAI-format.

För slutförda uppgifter:

{
"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 chattuppgifter:

{
  "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 inbäddningsuppgifter:

{
  "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
  }
}

Slutpunktskonfiguration

För att kunna hantera och fråga externa modeller måste du konfigurera en serverdelsslutpunkt. Se Skapa en extern modell som betjänar slutpunkten

För en extern modell som betjänar slutpunkten måste du inkludera external_model fältet och dess parametrar i served_entities avsnittet i slutpunktskonfigurationen. Om du konfigurerar flera externa modeller i en serverslutpunkt måste du ange en traffic_config för att definiera trafikdirigeringsprocenten för varje extern modell.

Fältet external_model definierar den modell som slutpunkten vidarebefordrar begäranden till. När du anger en modell är det viktigt att providern stöder den modell som du begär. Till exempel, openai som en leverantör stöder modeller som text-embedding-ada-002, men andra leverantörer kanske inte. Om modellen inte stöds av providern returnerar Databricks ett HTTP 4xx-fel när begäranden dirigeras till modellen.

Tabellen nedan sammanfattar external_model fältparametrarna. Se POST /api/2.0/serving-endpoints för slutpunktskonfigurationsparametrar .

Parameter Beskrivningar
name Namnet på den modell som ska användas. Till exempel gpt-3.5-turbo för OpenAI:s GPT-3.5-Turbo modell.
provider Anger namnet på providern för den här modellen. Det här strängvärdet måste motsvara en extern modellprovider som stöds. Till exempel openai för OpenAI:s GPT-3.5 modeller.
task Uppgiften motsvarar den typ av språkmodellinteraktion du önskar. Uppgifter som stöds är "llm/v1/completions", "llm/v1/chat", "llm/v1/embeddings".
<provider>_config Innehåller ytterligare konfigurationsinformation som krävs för modellen. Detta inkluderar att ange API-bas-URL:en och API-nyckeln. Se Konfigurera providern för en slutpunkt.

Följande är ett exempel på hur du skapar en extern modellslutpunkt med hjälp av API:et create_endpoint() . I det här exemplet vidarebefordras en begäran som skickas till slutpunkten för slutförande till modellen claude-2 som tillhandahålls av 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}}"
                    }
                }
            }
        ]
    }
)

Hantera flera externa modeller till en slutpunkt

Du kan också konfigurera flera externa modeller i en serverslutpunkt så länge de alla har samma aktivitetstyp och varje modell har en unik name. Exemplet nedan skapar en serveringsslutpunkt som dirigerar 50 % av trafiken till gpt-4 som tillhandahålls av OpenAI och de återstående 50 % som claude-3-opus-20240229 tillhandahålls av Anthropic.

import mlflow.deployments

client = mlflow.deployments.get_deploy_client("databricks")

client.create_endpoint(
    name="mix-chat-endpoint",
    config={
        "served_entities": [
            {
                "name": "served_model_name_1",
                "external_model": {
                    "name": "gpt-4",
                    "provider": "openai",
                    "task": "llm/v1/chat",
                    "openai_config": {
                        "openai_api_key": "{{secrets/my_openai_secret_scope/openai_api_key}}"
                    }
                }
            },
            {
                "name": "served_model_name_2",
                "external_model": {
                    "name": "claude-3-opus-20240229",
                    "provider": "anthropic",
                    "task": "llm/v1/chat",
                    "anthropic_config": {
                        "anthropic_api_key": "{{secrets/my_anthropic_secret_scope/anthropic_api_key}}"
                    }
                }
            }
        ],
        "traffic_config": {
            "routes": [
                {"served_model_name": "served_model_name_1", "traffic_percentage": 50},
                {"served_model_name": "served_model_name_2", "traffic_percentage": 50}
            ]
        },
    }
)

Konfigurera providern för en slutpunkt

När du skapar en slutpunkt måste du ange de konfigurationer som krävs för den angivna modellprovidern. I följande avsnitt sammanfattas de tillgängliga slutpunktskonfigurationsparametrarna för varje modellprovider.

Kommentar

Databricks krypterar och lagrar på ett säkert sätt de angivna autentiseringsuppgifterna för varje modellprovider. Dessa autentiseringsuppgifter tas bort automatiskt när deras associerade slutpunkter tas bort.

OpenAI

Konfigurationsparameter beskrivning Obligatoriskt Standardvärde
openai_api_key Den hemliga nyckelreferensen för Azure Databricks för en OpenAI API-nyckel med hjälp av OpenAI-tjänsten. Om du föredrar att klistra in DIN API-nyckel direkt kan du läsa openai_api_key_plaintext. Du måste ange en API-nyckel med något av följande fält: openai_api_key eller openai_api_key_plaintext.
openai_api_key_plaintext OpenAI API-nyckeln med hjälp av OpenAI-tjänsten som tillhandahålls som en klartextsträng. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa openai_api_key. Du måste ange en API-nyckel med något av följande fält: openai_api_key eller openai_api_key_plaintext måste anges.
openai_api_type Ett valfritt fält för att ange vilken typ av OpenAI API som ska användas. Nej openai
openai_api_base Bas-URL:en för OpenAI-API:et. Nej https://api.openai.com/v1
openai_api_version Ett valfritt fält för att ange OpenAI API-versionen. Nej
openai_organization Ett valfritt fält för att ange organisationen i OpenAI. Nej

Sammanstängd

Konfigurationsparameter beskrivning Obligatoriskt Standardvärde
cohere_api_key Den hemliga nyckelreferensen för Azure Databricks för en cohere API-nyckel. Om du föredrar att klistra in DIN API-nyckel direkt kan du läsa cohere_api_key_plaintext. Du måste ange en API-nyckel med något av följande fält: cohere_api_key eller cohere_api_key_plaintext.
cohere_api_key_plaintext Cohere API-nyckeln tillhandahålls som en klartextsträng. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa cohere_api_key. Du måste ange en API-nyckel med något av följande fält: cohere_api_key eller cohere_api_key_plaintext.
cohere_api_base Bas-URL:en för cohere-tjänsten. Nej

Anthropic

Konfigurationsparameter beskrivning Obligatoriskt Standardvärde
anthropic_api_key Den hemliga nyckelreferensen för Azure Databricks för en antropisk API-nyckel. Om du föredrar att klistra in DIN API-nyckel direkt kan du läsa anthropic_api_key_plaintext. Du måste ange en API-nyckel med något av följande fält: anthropic_api_key eller anthropic_api_key_plaintext.
anthropic_api_key_plaintext Den antropiska API-nyckeln som tillhandahålls som en klartextsträng. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa anthropic_api_key. Du måste ange en API-nyckel med något av följande fält: anthropic_api_key eller anthropic_api_key_plaintext.

Azure OpenAI

Azure OpenAI har distinkta funktioner jämfört med den direkta OpenAI-tjänsten. En översikt finns i jämförelsedokumentationen.

Konfigurationsparameter beskrivning Obligatoriskt Standardvärde
openai_api_key Den hemliga nyckelreferensen för Azure Databricks för en OpenAI API-nyckel med hjälp av Azure-tjänsten. Om du föredrar att klistra in DIN API-nyckel direkt kan du läsa openai_api_key_plaintext. Du måste ange en API-nyckel med något av följande fält: openai_api_key eller openai_api_key_plaintext.
openai_api_key_plaintext OpenAI API-nyckeln med hjälp av Azure-tjänsten som tillhandahålls som en klartextsträng. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa openai_api_key. Du måste ange en API-nyckel med något av följande fält: openai_api_key eller openai_api_key_plaintext.
openai_api_type Används azure för validering av åtkomsttoken. Ja
openai_api_base Bas-URL:en för Azure OpenAI API-tjänsten som tillhandahålls av Azure. Ja
openai_api_version Den version av Azure OpenAI-tjänsten som ska utnyttjas, som anges av ett datum. Ja
openai_deployment_name Namnet på distributionsresursen för Azure OpenAI-tjänsten. Ja
openai_organization Ett valfritt fält för att ange organisationen i OpenAI. Nej

Om du använder Azure OpenAI med Microsoft Entra-ID använder du följande parametrar i slutpunktskonfigurationen.

Konfigurationsparameter beskrivning Obligatoriskt Standardvärde
microsoft_entra_tenant_id Klientorganisations-ID för Microsoft Entra-ID-autentisering. Ja
microsoft_entra_client_id Klient-ID för Microsoft Entra-ID-autentisering. Ja
microsoft_entra_client_secret Den hemliga nyckelreferensen för Azure Databricks för en klienthemlighet som används för Microsoft Entra-ID-autentisering. Om du föredrar att klistra in klienthemligheten direkt kan du läsa microsoft_entra_client_secret_plaintext. Du måste ange en API-nyckel med något av följande fält: microsoft_entra_client_secret eller microsoft_entra_client_secret_plaintext.
microsoft_entra_client_secret_plaintext Klienthemligheten som används för Microsoft Entra ID-autentisering tillhandahålls som en klartextsträng. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa microsoft_entra_client_secret. Du måste ange en API-nyckel med något av följande fält: microsoft_entra_client_secret eller microsoft_entra_client_secret_plaintext.
openai_api_type Används azuread för autentisering med Microsoft Entra-ID. Ja
openai_api_base Bas-URL:en för Azure OpenAI API-tjänsten som tillhandahålls av Azure. Ja
openai_api_version Den version av Azure OpenAI-tjänsten som ska utnyttjas, som anges av ett datum. Ja
openai_deployment_name Namnet på distributionsresursen för Azure OpenAI-tjänsten. Ja
openai_organization Ett valfritt fält för att ange organisationen i OpenAI. Nej

I följande exempel visas hur du skapar en slutpunkt med 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

Konfigurationsparameter beskrivning Obligatoriskt Standardvärde
private_key Hemlig nyckelreferens för Azure Databricks för en privat nyckel för tjänstkontot som har åtkomst till Google Cloud Vertex AI-tjänsten. Se Metodtips för att hantera tjänstkontonycklar. Om du föredrar att klistra in DIN API-nyckel direkt kan du läsa private_key_plaintext. Du måste ange en API-nyckel med något av följande fält: private_key eller private_key_plaintext.
private_key_plaintext Den privata nyckeln för tjänstkontot som har åtkomst till Google Cloud Vertex AI-tjänsten tillhandahålls som en klartexthemlighet. Se Metodtips för att hantera tjänstkontonycklar. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa private_key. Du måste ange en API-nyckel med något av följande fält: private_key eller private_key_plaintext.
region Det här är regionen för Google Cloud Vertex AI-tjänsten. Mer information finns i regioner som stöds. Vissa modeller är endast tillgängliga i specifika regioner. Ja
project_id Det här är Google Cloud-projekt-ID:t som tjänstkontot är associerat med. Ja

Amazon Berggrund

Om du vill använda Amazon Bedrock som en extern modellleverantör måste kunderna se till att Bedrock är aktiverat i den angivna AWS-regionen och att det angivna AWS-nyckelparet har rätt behörighet att interagera med Bedrock-tjänster. Mer information finns i AWS-identitets- och åtkomsthantering.

Konfigurationsparameter beskrivning Obligatoriskt Standardvärde
aws_region Den AWS-region som ska användas. Berggrund måste aktiveras där. Ja
aws_access_key_id Den hemliga nyckelreferensen för Azure Databricks för ett AWS-åtkomstnyckel-ID med behörighet att interagera med Bedrock-tjänster. Om du föredrar att klistra in DIN API-nyckel direkt kan du läsa aws_access_key_id_plaintext. Du måste ange en API-nyckel med något av följande fält: aws_access_key_id eller aws_access_key_id_plaintext.
aws_access_key_id_plaintext Ett AWS-åtkomstnyckel-ID med behörighet att interagera med Bedrock-tjänster som tillhandahålls som en klartextsträng. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa aws_access_key_id. Du måste ange en API-nyckel med något av följande fält: aws_access_key_id eller aws_access_key_id_plaintext.
aws_secret_access_key Den hemliga nyckelreferensen för Azure Databricks för en AWS-hemlig åtkomstnyckel i kombination med åtkomstnyckelns ID, med behörighet att interagera med Bedrock-tjänster. Om du föredrar att klistra in DIN API-nyckel direkt kan du läsa aws_secret_access_key_plaintext. Du måste ange en API-nyckel med något av följande fält: aws_secret_access_key eller aws_secret_access_key_plaintext.
aws_secret_access_key_plaintext En AWS-hemlig åtkomstnyckel i kombination med åtkomstnyckelns ID, med behörighet att interagera med Bedrock-tjänster som tillhandahålls som en klartextsträng. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa aws_secret_access_key. Du måste ange en API-nyckel med något av följande fält: aws_secret_access_key eller aws_secret_access_key_plaintext.
bedrock_provider Den underliggande leverantören i Amazon Bedrock. Värden som stöds (skiftlägesokänsliga) är: Antropiska, cohere, AI21Labs, Amazon Ja

I följande exempel visas hur du skapar en slutpunkt med Amazon Bedrock med hjälp av åtkomstnycklar.

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",
                    },
                }
            }
        ]
    },
)

Om det finns AWS-behörighetsproblem rekommenderar Databricks att du verifierar autentiseringsuppgifterna direkt med Amazon Bedrock-API:et.

AI21 Labs

Konfigurationsparameter beskrivning Obligatoriskt Standardvärde
ai21labs_api_key Den hemliga nyckelreferensen för Azure Databricks för en API-nyckel för AI21 Labs. Om du föredrar att klistra in DIN API-nyckel direkt kan du läsa ai21labs_api_key_plaintext. Du måste ange en API-nyckel med något av följande fält: ai21labs_api_key eller ai21labs_api_key_plaintext.
ai21labs_api_key_plaintext En API-nyckel för AI21 Labs som tillhandahålls som en klartextsträng. Om du föredrar att referera till din nyckel med Hjälp av Azure Databricks-hemligheter kan du läsa ai21labs_api_key. Du måste ange en API-nyckel med något av följande fält: ai21labs_api_key eller ai21labs_api_key_plaintext.

Konfigurera AI Gateway på en slutpunkt

Du kan också konfigurera slutpunkten för att aktivera Mosaic AI Gateway-funktioner , till exempel hastighetsbegränsning, användningsspårning och skyddsräcken.

Se Konfigurera AI Gateway på modell som betjänar slutpunkter.

Fråga en extern modellslutpunkt

När du har skapat en extern modellslutpunkt är den redo att ta emot trafik från användare.

Du kan skicka bedömningsbegäranden till slutpunkten med hjälp av OpenAI-klienten, REST-API:et eller SDK:n för MLflow-distributioner.

I följande exempel efterfrågas slutförandemodellen claude-2 som hanteras av Anthropic med hjälp av OpenAI-klienten. Om du vill använda OpenAI-klienten fyller du i model fältet med namnet på den modell som betjänar slutpunkten som är värd för den modell som du vill fråga efter.

I det här exemplet används en tidigare skapad slutpunkt, anthropic-completions-endpoint, som konfigurerats för åtkomst till externa modeller från den antropiska modellprovidern. Se hur du skapar externa modellslutpunkter.

Se Modeller som stöds för ytterligare modeller som du kan köra frågor mot och deras leverantörer.

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)

Förväntat utdatasvarsformat:

{
"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
  }
}

Ytterligare frågeparametrar

Du kan skicka eventuella ytterligare parametrar som stöds av slutpunktens provider som en del av din fråga.

Till exempel:

  • logit_bias (stöds av OpenAI, Cohere).
  • top_k (stöds av Anthropic, Cohere).
  • frequency_penalty (stöds av OpenAI, Cohere).
  • presence_penalty (stöds av OpenAI, Cohere).
  • stream (stöds av OpenAI, Anthropic, Cohere, Amazon Bedrock for Anthropic). Detta är endast tillgängligt för chatt- och slutförandebegäranden.

Begränsningar

Beroende på vilken extern modell du väljer kan konfigurationen leda till att dina data bearbetas utanför den region där dina data har sitt ursprung. Se Gränser och regioner för modellservering.

Om du väljer att konfigurera flera externa modeller i en serverslutpunkt måste alla externa modeller ha samma aktivitetstyp och varje modell behöver en unik name. Du kan inte ha både externa modeller och icke-externa modeller i samma serveringsslutpunkt.

Ytterligare resurser