Udostępnij za pośrednictwem


Modele zewnętrzne w modelach mozaiki sztucznej inteligencji obsługującej

Ważne

Przykłady kodu w tym artykule przedstawiają użycie interfejsu API CRUD wdrożeń MLflow w publicznej wersji zapoznawczej .

W tym artykule opisano modele zewnętrzne w usłudze Mosaic AI Model Serving, w tym obsługiwanych dostawców modeli i ograniczeń.

Co to są modele zewnętrzne?

Ważne

Teraz możesz skonfigurować bramę mozaiki AI w modelu obsługującym punkty końcowe obsługujące modele zewnętrzne. Brama sztucznej inteligencji zapewnia ład, monitorowanie i gotowość produkcyjną do tych modeli obsługujących punkty końcowe. Zobacz Mozaika AI Gateway.

Modele zewnętrzne to modele innych firm hostowane poza usługą Databricks. Obsługiwane przez obsługę modeli, modele zewnętrzne umożliwiają usprawnienie użycia i zarządzania różnymi dużymi dostawcami modelu językowego (LLM), takimi jak OpenAI i Anthropic, w organizacji. Możesz również użyć mozaikowego modelu sztucznej inteligencji obsługującego jako dostawcę do obsługi modeli niestandardowych, które oferują limity szybkości dla tych punktów końcowych. W ramach tej obsługi obsługa modelu oferuje interfejs wysokiego poziomu, który upraszcza interakcję z tymi usługami, zapewniając ujednolicony punkt końcowy do obsługi określonych żądań związanych z usługą LLM.

Ponadto obsługa usługi Azure Databricks dla modeli zewnętrznych zapewnia scentralizowane zarządzanie poświadczeniami. Przechowując klucze interfejsu API w jednej bezpiecznej lokalizacji, organizacje mogą zwiększyć poziom zabezpieczeń, minimalizując narażenie poufnych kluczy interfejsu API w całym systemie. Pomaga to również zapobiec ujawnieniu tych kluczy w kodzie lub konieczności bezpiecznego zarządzania kluczami przez użytkowników końcowych.

Zobacz Samouczek: tworzenie zewnętrznych punktów końcowych modelu w celu wykonywania zapytań dotyczących modeli OpenAI, aby uzyskać szczegółowe wskazówki dotyczące tworzenia zewnętrznego punktu końcowego modelu i wykonywania zapytań dotyczących obsługiwanych modeli obsługiwanych przez te punkty końcowe przy użyciu zestawu SDK wdrożeń platformy MLflow. Zapoznaj się z następującymi przewodnikami, aby uzyskać instrukcje dotyczące używania interfejsu użytkownika obsługującego i interfejsu API REST:

Wymagania

  • Pola klucza interfejsu API lub uwierzytelniania dostawcy modelu.
  • Obszar roboczy usługi Databricks w obsługiwanych regionach modeli zewnętrznych.

Dostawcy modeli

Modele zewnętrzne w usłudze Model Serving są przeznaczone do obsługi różnych dostawców modeli. Dostawca reprezentuje źródło modeli uczenia maszynowego, takich jak OpenAI, Anthropic itd. Każdy dostawca ma swoje specyficzne cechy i konfiguracje, które są hermetyzowane w external_model polu konfiguracji punktu końcowego modelu zewnętrznego.

Obsługiwane są następujące dostawcy:

  • openai: w przypadku modeli oferowanych przez platformę OpenAI i integracji platformy Azure dla usług Azure OpenAI i Azure OpenAI z usługą AAD.
  • antropic: w przypadku modeli oferowanych przez Antropic.
  • cohere: W przypadku modeli oferowanych przez Cohere.
  • amazon-bedrock: Dla modeli oferowanych przez Amazon Bedrock.
  • google-cloud-vertex-ai: w przypadku modeli oferowanych przez usługę Google Cloud Vertex AI.
  • databricks-model-serving: w przypadku punktów końcowych usługi Mozaika AI obsługujących punkty końcowe z zgodnymi schematami. Zobacz Konfiguracja punktu końcowego.

Aby poprosić o pomoc techniczną dostawcy, którego nie ma na liście, skontaktuj się z zespołem ds. kont usługi Databricks.

Obsługiwane modele

Wybrany model ma bezpośredni wpływ na wyniki odpowiedzi uzyskanych z wywołań interfejsu API. W związku z tym wybierz model pasujący do wymagań przypadków użycia. Na przykład w przypadku generowania odpowiedzi konwersacyjnych można wybrać model czatu. Z drugiej strony w przypadku generowania osadzania tekstu można wybrać model osadzania.

W poniższej tabeli przedstawiono niewyczerpną listę obsługiwanych modeli i odpowiadających im typów punktów końcowych. Skojarzenia modeli wymienione poniżej mogą służyć jako pomocny przewodnik podczas konfigurowania punktu końcowego dla wszystkich nowo wydanych typów modeli, gdy staną się one dostępne dla danego dostawcy. Klienci są odpowiedzialni za zapewnienie zgodności z odpowiednimi licencjami modelu.

Uwaga

Dzięki szybkiemu rozwojowi llMs nie ma gwarancji, że ta lista jest aktualna przez cały czas.

Dostawca modelu llm/v1/completions llm/v1/chat llm/v1/embeddings
OpenAI** - gpt-3.5-turbo-poinstruowanie
- 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
- osadzanie tekstu-3-duże
- osadzanie tekstu-3-małe
Azure OpenAI** - text-davinci-003
- gpt-35-turbo-poinstruowanie
- gpt-35-turbo
- gpt-35-turbo-16k
- gpt-4
- gpt-4-32k
- gpt-4o
- gpt-4o-mini
- text-embedding-ada-002
- osadzanie tekstu-3-duże
- osadzanie tekstu-3-małe
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** -polecenie
- światło polecenia
- command-r-plus
- command-r
-polecenie
- command-light-nightly
- światło polecenia
- polecenie nocą
- 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
Obsługa modelu mozaiki sztucznej inteligencji Punkt końcowy obsługujący usługę Databricks Punkt końcowy obsługujący usługę Databricks Punkt końcowy obsługujący usługę Databricks
Amazon Bedrock Antropotyczne:

- claude-instant-v1
- claude-v2

Cohere:

- command-text-v14
- command-light-text-v14

Laboratoria AI21:

- j2-grande-poinstruuj
- j2-jumbo-poinstruowanie
- j2-mid
- j2-mid-v1
- j2-ultra
- j2-ultra-v1
Antropotyczne:

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

- 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 żubr tekstowy - czat-żubr
- gemini-pro
- gemini-1.0-pro
- Gemini-1.5-pro
- Gemini-1.5-flash
textembedding-gecko

** Dostawca modelu obsługuje precyzyjne uzupełnianie i modele czatów. Aby utworzyć zapytanie dotyczące dostosowanego modelu, wypełnij name pole external model konfiguracji nazwą dostosowanego modelu.

dostawca † Model obsługuje niestandardowe modele uzupełniania.

Używanie modeli obsługiwanych w punktach końcowych obsługi modelu sztucznej inteligencji mozaiki

Mozaika model AI Obsługujący punkty końcowe jako dostawca jest obsługiwana dla llm/v1/completionstypów punktów końcowych , llm/v1/chati llm/v1/embeddings . Te punkty końcowe muszą zaakceptować standardowe parametry zapytania oznaczone jako wymagane, podczas gdy inne parametry mogą być ignorowane w zależności od tego, czy punkt końcowy obsługi modelu sztucznej inteligencji mozaiki obsługuje je.

Zobacz POST /serving-endpoints/{name}/invocations w dokumentacji interfejsu API, aby uzyskać standardowe parametry zapytania.

Te punkty końcowe muszą generować odpowiedzi w następującym formacie OpenAI.

W przypadku zadań ukończenia:

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

W przypadku zadań czatu:

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

W przypadku zadań osadzania:

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

Konfiguracja punktu końcowego

Aby obsługiwać modele zewnętrzne i wykonywać względem ich zapytań, należy skonfigurować punkt końcowy obsługujący. Zobacz Tworzenie zewnętrznego punktu końcowego obsługującego model

W przypadku zewnętrznego modelu obsługującego punkt końcowy należy uwzględnić external_model pole i jego parametry w served_entities sekcji konfiguracji punktu końcowego. Jeśli skonfigurujesz wiele modeli zewnętrznych w punkcie końcowym obsługującym, musisz podać element , traffic_config aby zdefiniować procent routingu ruchu dla każdego modelu zewnętrznego.

Pole external_model definiuje model, do którego ten punkt końcowy przekazuje żądania. Podczas określania modelu ważne jest, aby dostawca obsługiwał żądany model. Na przykład jako dostawca obsługuje modele, openai takie jak text-embedding-ada-002, ale inni dostawcy mogą nie. Jeśli model nie jest obsługiwany przez dostawcę, usługa Databricks zwraca błąd HTTP 4xx podczas próby kierowania żądań do tego modelu.

Poniższa tabela zawiera external_model podsumowanie parametrów pola. Zobacz POST /api/2.0/serving-endpoints , aby uzyskać parametry konfiguracji punktu końcowego.

Parametr Opisy
name Nazwa modelu do użycia. Na przykład gpt-3.5-turbo w przypadku modelu OpenAI GPT-3.5-Turbo .
provider Określa nazwę dostawcy dla tego modelu. Ta wartość ciągu musi odpowiadać obsługiwanemu dostawcy modelu zewnętrznego. Na przykład openai w przypadku modeli openAI GPT-3.5 .
task Zadanie odpowiada typowi interakcji modelu językowego, której potrzebujesz. Obsługiwane zadania to "llm/v1/completions", "llm/v1/chat", "llm/v1/embeddings".
<provider>_config Zawiera wszelkie dodatkowe szczegóły konfiguracji wymagane dla modelu. Obejmuje to określenie podstawowego adresu URL interfejsu API i klucza interfejsu API. Zobacz Konfigurowanie dostawcy dla punktu końcowego.

Poniżej przedstawiono przykład tworzenia zewnętrznego punktu końcowego modelu przy użyciu interfejsu create_endpoint() API. W tym przykładzie żądanie wysłane do punktu końcowego ukończenia jest przekazywane do modelu dostarczonego przez anthropicusługę claude-2 .

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

Konfigurowanie dostawcy dla punktu końcowego

Podczas tworzenia punktu końcowego należy podać wymagane konfiguracje dla określonego dostawcy modelu. W poniższych sekcjach podsumowano dostępne parametry konfiguracji punktu końcowego dla każdego dostawcy modelu.

Uwaga

Usługa Databricks szyfruje i bezpiecznie przechowuje podane poświadczenia dla każdego dostawcy modelu. Te poświadczenia są usuwane automatycznie po usunięciu skojarzonych z nimi punktów końcowych.

OpenAI

Parametr konfiguracji opis Wymagani Wartość domyślna
openai_api_key Dokumentacja klucza tajnego usługi Azure Databricks dla klucza interfejsu API openAI przy użyciu usługi OpenAI. Jeśli wolisz wkleić klucz interfejsu API bezpośrednio, zobacz openai_api_key_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: openai_api_key lub openai_api_key_plaintext.
openai_api_key_plaintext Klucz interfejsu API openAI przy użyciu usługi OpenAI udostępniony jako ciąg w postaci zwykłego tekstu. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz openai_api_key. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: openai_api_key lub openai_api_key_plaintext musi zostać podany.
openai_api_type Opcjonalne pole określające typ interfejsu API OpenAI do użycia. Nie. openai
openai_api_base Podstawowy adres URL interfejsu API openAI. Nie. https://api.openai.com/v1
openai_api_version Opcjonalne pole określające wersję interfejsu API interfejsu OpenAI. Nie.
openai_organization Opcjonalne pole do określenia organizacji w usłudze OpenAI. Nie.

Cohere

Parametr konfiguracji opis Wymagani Wartość domyślna
cohere_api_key Dokumentacja klucza tajnego usługi Azure Databricks dla klucza interfejsu API Cohere. Jeśli wolisz wkleić klucz interfejsu API bezpośrednio, zobacz cohere_api_key_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: cohere_api_key lub cohere_api_key_plaintext.
cohere_api_key_plaintext Klucz interfejsu API Cohere podany jako ciąg w postaci zwykłego tekstu. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz cohere_api_key. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: cohere_api_key lub cohere_api_key_plaintext.
cohere_api_base Podstawowy adres URL usługi Cohere. Nie.

Anthropic

Parametr konfiguracji opis Wymagani Wartość domyślna
anthropic_api_key Dokumentacja klucza tajnego usługi Azure Databricks dla klucza interfejsu API antropicznego. Jeśli wolisz wkleić klucz interfejsu API bezpośrednio, zobacz anthropic_api_key_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: anthropic_api_key lub anthropic_api_key_plaintext.
anthropic_api_key_plaintext Klucz interfejsu API antropoiczny podany jako ciąg w postaci zwykłego tekstu. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz anthropic_api_key. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: anthropic_api_key lub anthropic_api_key_plaintext.

Azure OpenAI

Usługa Azure OpenAI ma różne funkcje w porównaniu z bezpośrednią usługą OpenAI. Aby zapoznać się z omówieniem, zapoznaj się z dokumentacją porównania.

Parametr konfiguracji opis Wymagani Wartość domyślna
openai_api_key Dokumentacja klucza tajnego usługi Azure Databricks dla klucza interfejsu API openAI przy użyciu usługi platformy Azure. Jeśli wolisz wkleić klucz interfejsu API bezpośrednio, zobacz openai_api_key_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: openai_api_key lub openai_api_key_plaintext.
openai_api_key_plaintext Klucz interfejsu API openAI przy użyciu usługi platformy Azure udostępniony jako ciąg w postaci zwykłego tekstu. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz openai_api_key. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: openai_api_key lub openai_api_key_plaintext.
openai_api_type Służy azure do sprawdzania poprawności tokenu dostępu. Tak
openai_api_base Podstawowy adres URL usługi interfejsu API OpenAI platformy Azure udostępniany przez platformę Azure. Tak
openai_api_version Wersja usługi Azure OpenAI do użycia określona przez datę. Tak
openai_deployment_name Nazwa zasobu wdrożenia dla usługi Azure OpenAI. Tak
openai_organization Opcjonalne pole do określenia organizacji w usłudze OpenAI. Nie.

Jeśli używasz usługi Azure OpenAI z identyfikatorem Entra firmy Microsoft, użyj następujących parametrów w konfiguracji punktu końcowego.

Parametr konfiguracji opis Wymagani Wartość domyślna
microsoft_entra_tenant_id Identyfikator dzierżawy dla uwierzytelniania identyfikatora entra firmy Microsoft. Tak
microsoft_entra_client_id Identyfikator klienta uwierzytelniania Entra ID firmy Microsoft. Tak
microsoft_entra_client_secret Dokumentacja klucza tajnego usługi Azure Databricks dotycząca klucza tajnego klienta używanego do uwierzytelniania identyfikatora Entra firmy Microsoft. Jeśli wolisz wkleić klucz tajny klienta bezpośrednio, zobacz microsoft_entra_client_secret_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: microsoft_entra_client_secret lub microsoft_entra_client_secret_plaintext.
microsoft_entra_client_secret_plaintext Klucz tajny klienta używany do uwierzytelniania identyfikatora Entra firmy Microsoft podany jako ciąg zwykłego tekstu. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz microsoft_entra_client_secret. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: microsoft_entra_client_secret lub microsoft_entra_client_secret_plaintext.
openai_api_type Służy azuread do uwierzytelniania przy użyciu identyfikatora Entra firmy Microsoft. Tak
openai_api_base Podstawowy adres URL usługi interfejsu API OpenAI platformy Azure udostępniany przez platformę Azure. Tak
openai_api_version Wersja usługi Azure OpenAI do użycia określona przez datę. Tak
openai_deployment_name Nazwa zasobu wdrożenia dla usługi Azure OpenAI. Tak
openai_organization Opcjonalne pole do określenia organizacji w usłudze OpenAI. Nie.

W poniższym przykładzie pokazano, jak utworzyć punkt końcowy za pomocą usługi 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

Parametr konfiguracji opis Wymagani Wartość domyślna
private_key Dokumentacja klucza tajnego usługi Azure Databricks dla klucza prywatnego dla konta usługi, która ma dostęp do usługi Google Cloud Vertex AI Service. Zobacz Najlepsze rozwiązania dotyczące zarządzania kluczami konta usługi. Jeśli wolisz wkleić klucz interfejsu API bezpośrednio, zobacz private_key_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: private_key lub private_key_plaintext.
private_key_plaintext Klucz prywatny konta usługi, który ma dostęp do usługi Google Cloud Vertex AI Service udostępnionej jako wpis tajny w postaci zwykłego tekstu. Zobacz Najlepsze rozwiązania dotyczące zarządzania kluczami konta usługi. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz private_key. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: private_key lub private_key_plaintext.
region Jest to region usługi AI w chmurze Google Cloud. Aby uzyskać więcej informacji, zobacz obsługiwane regiony . Niektóre modele są dostępne tylko w określonych regionach. Tak
project_id Jest to identyfikator projektu Google Cloud skojarzony z kontem usługi. Tak

Amazon Bedrock

Aby korzystać z usługi Amazon Bedrock jako zewnętrznego dostawcy modeli, klienci muszą upewnić się, że aplikacja Bedrock jest włączona w określonym regionie platformy AWS, a określona para kluczy platformy AWS ma odpowiednie uprawnienia do interakcji z usługami Bedrock. Aby uzyskać więcej informacji, zobacz AWS Identity and Access Management (Zarządzanie tożsamościami i dostępem na platformie AWS).

Parametr konfiguracji opis Wymagani Wartość domyślna
aws_region Region platformy AWS do użycia. Bedrock musi być tam włączony. Tak
aws_access_key_id Dokumentacja klucza tajnego usługi Azure Databricks dla identyfikatora klucza dostępu platformy AWS z uprawnieniami do interakcji z usługami Bedrock. Jeśli wolisz wkleić klucz interfejsu API bezpośrednio, zobacz aws_access_key_id_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: aws_access_key_id lub aws_access_key_id_plaintext.
aws_access_key_id_plaintext Identyfikator klucza dostępu platformy AWS z uprawnieniami do interakcji z usługami Bedrock udostępnianymi jako ciąg w postaci zwykłego tekstu. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz aws_access_key_id. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: aws_access_key_id lub aws_access_key_id_plaintext.
aws_secret_access_key Dokumentacja klucza tajnego usługi Azure Databricks dla klucza dostępu tajnego platformy AWS sparowana z identyfikatorem klucza dostępu z uprawnieniami do interakcji z usługami Bedrock. Jeśli wolisz wkleić klucz interfejsu API bezpośrednio, zobacz aws_secret_access_key_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: aws_secret_access_key lub aws_secret_access_key_plaintext.
aws_secret_access_key_plaintext Klucz dostępu wpisu tajnego platformy AWS sparowany z identyfikatorem klucza dostępu z uprawnieniami do interakcji z usługami Bedrock udostępnianymi jako ciąg w postaci zwykłego tekstu. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz aws_secret_access_key. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: aws_secret_access_key lub aws_secret_access_key_plaintext.
bedrock_provider Podstawowy dostawca w amazon Bedrock. Obsługiwane wartości (bez uwzględniania wielkości liter) obejmują: Antropic, Cohere, AI21Labs, Amazon Tak

W poniższym przykładzie pokazano, jak utworzyć punkt końcowy w usłudze Amazon Bedrock przy użyciu kluczy dostępu.

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

Jeśli występują problemy z uprawnieniami platformy AWS, usługa Databricks zaleca zweryfikowanie poświadczeń bezpośrednio za pomocą interfejsu API Amazon Bedrock.

Laboratoria AI21

Parametr konfiguracji opis Wymagani Wartość domyślna
ai21labs_api_key Dokumentacja klucza tajnego usługi Azure Databricks dla klucza interfejsu API usługi AI21 Labs. Jeśli wolisz wkleić klucz interfejsu API bezpośrednio, zobacz ai21labs_api_key_plaintext. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: ai21labs_api_key lub ai21labs_api_key_plaintext.
ai21labs_api_key_plaintext Klucz interfejsu API usługi AI21 Labs udostępniony jako ciąg w postaci zwykłego tekstu. Jeśli wolisz odwoływać się do klucza przy użyciu wpisów tajnych usługi Azure Databricks, zobacz ai21labs_api_key. Musisz podać klucz interfejsu API przy użyciu jednego z następujących pól: ai21labs_api_key lub ai21labs_api_key_plaintext.

Konfigurowanie bramy sztucznej inteligencji w punkcie końcowym

Możesz również skonfigurować punkt końcowy, aby włączyć funkcje bramy mozaiki sztucznej inteligencji , takie jak ograniczanie szybkości, śledzenie użycia i zabezpieczenia.

Zobacz Konfigurowanie bramy sztucznej inteligencji w modelu obsługujących punkty końcowe.

Wykonywanie zapytań względem zewnętrznego punktu końcowego modelu

Po utworzeniu zewnętrznego punktu końcowego modelu jest on gotowy do odbierania ruchu od użytkowników.

Żądania oceniania można wysyłać do punktu końcowego przy użyciu klienta OpenAI, interfejsu API REST lub zestawu SDK wdrożeń MLflow.

Poniższy przykład wykonuje zapytanie dotyczące claude-2 modelu uzupełniania hostowanego przez platformę Anthropic przy użyciu klienta OpenAI. Aby użyć klienta OpenAI, wypełnij model pole nazwą punktu końcowego obsługującego model, który hostuje model, którego chcesz wykonać zapytanie.

W tym przykładzie użyto wcześniej utworzonego punktu końcowego , anthropic-completions-endpointskonfigurowanego do uzyskiwania dostępu do modeli zewnętrznych od dostawcy modelu antropicznego. Zobacz, jak tworzyć punkty końcowe modelu zewnętrznego.

Zobacz Obsługiwane modele, aby uzyskać dodatkowe modele , dla których można wykonywać zapytania i ich dostawców.

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)

Oczekiwany format odpowiedzi wyjściowej:

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

Dodatkowe parametry zapytania

Możesz przekazać wszelkie dodatkowe parametry obsługiwane przez dostawcę punktu końcowego w ramach zapytania.

Na przykład:

  • logit_bias (obsługiwane przez openAI, Cohere).
  • top_k (obsługiwane przez Anthropic, Cohere).
  • frequency_penalty (obsługiwane przez openAI, Cohere).
  • presence_penalty (obsługiwane przez openAI, Cohere).
  • stream (obsługiwane przez OpenAI, Anthropic, Cohere, Amazon Bedrock for Anthropic). Jest to dostępne tylko w przypadku żądań czatu i ukończenia.

Obsługa konfiguracji łączności sieciowej dla modeli zewnętrznych

Obsługa konfiguracji łączności sieciowej (NCC) dla modeli zewnętrznych, w tym usługi Azure Private Link, jest obecnie dostępna w prywatnej wersji zapoznawczej. Skontaktuj się z zespołem konta usługi Databricks, aby wziąć udział w wersji zapoznawczej.

Ograniczenia

W zależności od wybranego modelu zewnętrznego konfiguracja może spowodować przetwarzanie danych poza regionem, w którym pochodzą dane. Zobacz Limity i regiony obsługi modeli.

Dodatkowe zasoby