Udostępnij za pośrednictwem


How to deploy AI21's Jamba family models with Azure AI Foundry

Ważne

Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Z tego artykułu dowiesz się, jak używać rozwiązania Azure AI Foundry do wdrażania modeli rodziny narzędzia Jamba w usłudze AI21 jako bezserwerowego interfejsu API z rozliczeniami płatności zgodnie z rzeczywistym użyciem.

Modele rodziny Jamba to model AI21 klasy produkcyjnej oparty na modelu mamba dużego języka (LLM), który wykorzystuje hybrydową architekturę mamba-transformer AI21. Jest to wersja instrukcji hybrydowego modelu przestrzeń stanu strukturalnego (SSM, Structured State Space Model) sztucznej inteligencji (SSM) transformatora Jamba. Modele rodziny Jamba są tworzone pod kątem niezawodnego użytku komercyjnego w odniesieniu do jakości i wydajności.

Zapoznaj się z naszymi ogłoszeniami modeli rodziny Jamba firmy AI21 dostępnymi teraz w katalogu modeli sztucznej inteligencji platformy Azure za pośrednictwem bloga AI21 i bloga społeczności technicznej firmy Microsoft.

Ważne

Modele, które są w wersji zapoznawczej, są oznaczone jako wersja zapoznawcza na kartach modeli w wykazie modeli.

Wdrażanie modeli rodziny Jamba jako bezserwerowego interfejsu API

Niektóre modele w wykazie modeli można wdrożyć jako bezserwerowy interfejs API z rozliczeniami płatności zgodnie z rzeczywistym użyciem, zapewniając sposób korzystania z nich jako interfejsu API bez hostowania ich w ramach subskrypcji, przy jednoczesnym zachowaniu potrzeb organizacji w zakresie zabezpieczeń i zgodności przedsiębiorstwa. Ta opcja wdrożenia nie wymaga limitu przydziału z subskrypcji.

Model AI21-Jamba 1.5 Large wdrożony jako bezserwerowy interfejs API z rozliczeniami płatności zgodnie z rzeczywistym użyciem jest oferowany przez usługę AI21 za pośrednictwem witryny Microsoft Azure Marketplace. Sztuczna inteligencja AI21 może zmienić lub zaktualizować warunki użytkowania i ceny tego modelu.

Aby rozpocząć pracę z aplikacją Jamba 1.5 wdrożonym jako bezserwerowy interfejs API, zapoznaj się z naszymi integracyjnymi rozwiązaniami LangChain, LiteLLM, OpenAI i interfejsem API platformy Azure.

Wymagania wstępne

  • Subskrypcja platformy Azure z prawidłową formą płatności. Subskrypcje platformy Azure w wersji bezpłatnej lub próbnej nie będą działać. Jeśli nie masz subskrypcji platformy Azure, utwórz płatne konto platformy Azure, aby rozpocząć.

  • Projekt usługi Azure AI Foundry. Oferta wdrażania modelu bezserwerowego interfejsu API dla modeli rodziny Jamba jest dostępna tylko w przypadku projektów utworzonych w następujących regionach:

    • East US
    • Wschodnie stany USA 2
    • Północno-środkowe stany USA
    • South Central US
    • Zachodnie stany USA
    • Zachodnie stany USA 3
    • Szwecja Środkowa

    Aby uzyskać listę regionów dostępnych dla każdego z modeli obsługujących bezserwerowe wdrożenia punktów końcowych interfejsu API, zobacz Dostępność regionalna dla modeli w punktach końcowych bezserwerowego interfejsu API.

  • Kontrola dostępu oparta na rolach platformy Azure (RBAC) platformy Azure służy do udzielania dostępu do operacji w portalu usługi Azure AI Foundry. Aby wykonać kroki opisane w tym artykule, konto użytkownika musi mieć przypisaną rolę Właściciela lub Współpracownika dla subskrypcji platformy Azure. Możesz też przypisać rolę niestandardową, która ma następujące uprawnienia:

    • W subskrypcji platformy Azure — aby zasubskrybować projekt AI Foundry w ofercie witryny Azure Marketplace, raz dla każdego projektu, na ofertę:

      • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
      • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
      • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
      • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
      • Microsoft.SaaS/register/action
    • W grupie zasobów — do tworzenia zasobu SaaS i jego użycia:

      • Microsoft.SaaS/resources/read
      • Microsoft.SaaS/resources/write
    • W projekcie AI Foundry — w celu wdrożenia punktów końcowych (rola dewelopera usługi Azure AI zawiera już następujące uprawnienia):

      • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
      • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

    Aby uzyskać więcej informacji na temat uprawnień, zobacz Kontrola dostępu oparta na rolach w portalu usługi Azure AI Foundry.

Tworzenie nowego wdrożenia

Te kroki pokazują wdrażanie AI21 Jamba 1.5 Large modeli lub AI21 Jamba 1.5 Mini . Aby utworzyć wdrożenie:

  1. Zaloguj się do usługi Azure AI Foundry.
  2. Jeśli nie jesteś jeszcze w projekcie, wybierz go.
  3. Wybierz pozycję Katalog modeli w okienku nawigacji po lewej stronie.
  1. Wyszukaj i wybierz model AI21, taki jak AI21 Jamba 1.5 Large lub AI21 Jamba 1.5 Mini , AI21 Jamba Instruct aby otworzyć stronę Szczegóły.

  2. Wybierz pozycję Wdróż , aby otworzyć okno wdrażania bezserwerowego interfejsu API dla modelu.

  3. Możesz też zainicjować wdrożenie, zaczynając od strony Modele i punkty końcowe w portalu rozwiązania AI Foundry.

    1. W okienku nawigacji po lewej stronie projektu wybierz pozycję Moje zasoby>Modele i punkty końcowe.
    2. Wybierz pozycję + Wdróż model Wdróż model> podstawowy.
    3. Wyszukaj i wybierz model AI21, taki jak AI21 Jamba 1.5 Large lub AI21 Jamba 1.5 Mini , AI21 Jamba Instruct aby otworzyć stronę Szczegóły modelu.
    4. Wybierz pozycję Potwierdź , aby otworzyć okno wdrażania bezserwerowego interfejsu API dla modelu.
  4. Bieżący projekt jest określony dla wdrożenia. Aby pomyślnie wdrożyć modele rodziny AI21-Jamba, projekt musi znajdować się w jednym z regionów wymienionych w sekcji Wymagania wstępne .

  5. W kreatorze wdrażania wybierz link do warunków użytkowania witryny Azure Marketplace, aby dowiedzieć się więcej o warunkach użytkowania.

  6. Wybierz kartę Cennik i terminy , aby dowiedzieć się więcej o cenach dla wybranego modelu.

  7. Wybierz przycisk Subskrybuj i Wdróż . Jeśli po raz pierwszy wdrażasz model w projekcie, musisz zasubskrybować projekt dla konkretnej oferty. Ten krok wymaga, aby Twoje konto ma uprawnienia subskrypcji platformy Azure i uprawnienia grupy zasobów wymienione w sekcji Wymagania wstępne. Każdy projekt ma własną subskrypcję konkretnej oferty z witryny Azure Marketplace modelu, która umożliwia kontrolowanie i monitorowanie wydatków. Obecnie można mieć tylko jedno wdrożenie dla każdego modelu w projekcie.

  8. Po zasubskrybowaniu projektu dla konkretnej oferty witryny Azure Marketplace kolejne wdrożenia tej samej oferty w tym samym projekcie nie wymagają ponownego subskrybowania. Jeśli ten scenariusz ma zastosowanie do Ciebie, istnieje opcja Kontynuuj, aby wdrożyć , aby wybrać.

  9. Nadaj wdrożeniu nazwę. Ta nazwa staje się częścią adresu URL interfejsu API wdrażania. Ten adres URL musi być unikatowy w każdym regionie świadczenia usługi Azure.

  10. Wybierz Wdróż. Poczekaj, aż wdrożenie będzie gotowe, a nastąpi przekierowanie do strony Wdrożenia.

  11. Wróć do strony Wdrożenia, wybierz wdrożenie i zanotuj identyfikator URI docelowy punktu końcowego i klucz tajny. Aby uzyskać więcej informacji na temat korzystania z interfejsów API, zobacz sekcję Dokumentacja .

  12. Zawsze możesz znaleźć szczegóły, adres URL i klucze dostępu punktu końcowego, przechodząc do centrum zarządzania projektu w okienku nawigacji po lewej stronie. Następnie wybierz pozycję Modele i punkty końcowe.

Aby dowiedzieć się więcej o rozliczeniach modeli rodziny AI21-Jamba wdrożonych jako bezserwerowy interfejs API z rozliczeniami opartymi na tokenach zgodnie z rzeczywistym użyciem, zobacz Zagadnienia dotyczące kosztów i przydziałów dla narzędzia Jamba Poinstruowane wdrożone jako bezserwerowy interfejs API.

Korzystanie z modeli rodziny jamba jako bezserwerowego interfejsu API

Modele rodziny narzędzia Jamba można używać w następujący sposób:

  1. W okienku nawigacji po lewej stronie projektu wybierz pozycję Moje zasoby>Modele i punkty końcowe.

  2. Znajdź i wybierz utworzone wdrożenie.

  3. Skopiuj docelowy identyfikator URI i wartość Klucz.

  4. Utwórz żądanie interfejsu API.

Aby uzyskać więcej informacji na temat korzystania z interfejsów API, zobacz sekcję referencyjną.

Dokumentacja modeli rodziny narzędzia Jamba wdrożonych jako bezserwerowy interfejs API

Modele rodziny narzędzia Jamba akceptują oba te interfejsy API:

  • Interfejs API wnioskowania modelu AI platformy Azure na trasie /chat/completions na potrzeby czatu wielowrotnego lub jednokrotnego odpowiadania na pytania. Ten interfejs API jest obsługiwany, ponieważ modele rodziny Jamba są dostosowane do ukończenia czatu.
  • Klient platformy Azure w usłudze AI21. Aby uzyskać więcej informacji na temat wywoływanego punktu końcowego REST, odwiedź dokumentację REST usługi AI21.

Interfejs API wnioskowania modelu AI platformy Azure

Schemat interfejsu API wnioskowania modelu AI platformy Azure można znaleźć w artykule dotyczącym uzupełniania czatów, a specyfikację interfejsu OpenAPI można uzyskać z samego punktu końcowego.

Czat jednokrotny i wieloobrotowy mają ten sam format żądania i odpowiedzi, z tą różnicą, że odpowiadanie na pytania (jednokrotne) obejmuje tylko jedną wiadomość użytkownika w żądaniu, podczas gdy czat wielowrotny wymaga wysłania całej historii wiadomości czatu w każdym żądaniu.

W przypadku czatu wieloetkowego wątek wiadomości ma następujące atrybuty:

  • Zawiera wszystkie komunikaty od użytkownika i modelu uporządkowane od najstarszych do najnowszych.
  • Komunikaty alternatywne między komunikatami user ról i assistant
  • Opcjonalnie wątek komunikatu rozpoczyna się od komunikatu systemowego w celu zapewnienia kontekstu.

Poniższy pseudokod jest przykładem stosu komunikatów dla czwartego wywołania w żądaniu czatu, który zawiera początkowy komunikat systemowy.

[
    {"role": "system", "message": "Some contextual information here"},
    {"role": "user", "message": "User message 1"},
    {"role": "assistant", "message": "System response 1"},
    {"role": "user", "message": "User message 2"},
    {"role": "assistant"; "message": "System response 2"},
    {"role": "user", "message": "User message 3"},
    {"role": "assistant", "message": "System response 3"},
    {"role": "user", "message": "User message 4"}
]

Klient platformy Azure AI21

Użyj metody POST , aby wysłać żądanie do /v1/chat/completions trasy:

Zażądaj

POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json

Schemat żądania

Payload to ciąg sformatowany w formacie JSON zawierający następujące parametry:

Klucz Typ Wymagane/domyślne Dozwolone wartości opis
model string Y Musi być jamba-1.5-large lub lub jamba-1.5-minijamba-instruct
messages list[object] Y Lista obiektów, jedna na wiadomość, od najstarszych do najnowszych. Najstarszą wiadomością może być rola system. Wszystkie późniejsze komunikaty muszą być alternatywne między rolami użytkownika i asystenta. Zapoznaj się z poniższą definicją obiektu komunikatu.
max_tokens integer N
4096
0 – 4096 Maksymalna liczba tokenów, które mają być dozwolone dla każdego wygenerowanego komunikatu odpowiedzi. Zazwyczaj najlepszym sposobem na ograniczenie długości danych wyjściowych jest zapewnienie limitu długości w wierszu polecenia systemu (na przykład "ograniczenie odpowiedzi do trzech zdań")
temperature float N
1
0.0 – 2.0 Ile odmian należy podać w każdej odpowiedzi. Ustawienie tej wartości na 0 gwarantuje tę samą odpowiedź na to samo pytanie za każdym razem. Ustawienie wyższej wartości zachęca do większej zmienności. Modyfikuje dystrybucję, z której są próbkowane tokeny. Zalecamy zmianę tego elementu lub top_p, ale nie obu tych elementów.
top_p float N
1
0 <wartość<=1.0 Ogranicz pulę następnych tokenów w każdym kroku do górnej N percentylu możliwych tokenów, gdzie 1,0 oznacza pulę wszystkich możliwych tokenów, a 0,01 oznacza pulę tylko najbardziej prawdopodobnych następnych tokenów.
stop string LUB list[string] N
"" Ciąg lub lista ciągów zawierających wyrazy, w których interfejs API powinien przestać generować dane wyjściowe. Nowe linie są dozwolone jako "\n". Zwrócony tekst nie będzie zawierać sekwencji zatrzymania.
n integer N
1
1 – 16 Ile odpowiedzi do wygenerowania dla każdego monitu. Dzięki platformie Azure AI Foundry's Playground, n=1 ponieważ pracujemy nad wieloasekrotnym placem zabaw.
stream boolean N
False
True LUB False Czy włączyć przesyłanie strumieniowe. Jeśli wartość true, wyniki są zwracane po jednym tokenie naraz. Jeśli ustawiono wartość true, n musi mieć wartość 1, która jest ustawiana automatycznie.
tools array[tool] N "" Może zostać wywołana tools lista modelu. Obecnie tylko funkcje są obsługiwane jako narzędzie. Służy do udostępniania listy funkcji, dla których model może generować dane wejściowe JSON. Obsługiwane są maksymalnie 128 funkcji.
response_format object N
null
"" Ustawienie w celu { "type": "json_object" } włączenia trybu JSON, co gwarantuje, że komunikat generowany przez model jest prawidłowym kodem JSON.
documents array[document] N "" Lista odpowiednich documents modeli może uziemić odpowiedzi, jeśli użytkownik jawnie mówi w wierszu polecenia. Zasadniczo działa jako rozszerzenie monitu z możliwością dodawania metadanych. każdy dokument jest słownikiem.

Obiekt messages ma następujące pola:

  • role: [ciąg, wymagany] Autor lub cel wiadomości. Jedna z następujących wartości:
    • user: dane wejściowe udostępniane przez użytkownika. Wszelkie instrukcje podane w tym miejscu, które powodują konflikt z instrukcjami podanymi w system wierszu polecenia, mają pierwszeństwo przed instrukcjami monitu system .
    • assistant: Odpowiedź wygenerowana przez model.
    • system: Początkowe instrukcje dotyczące przekazywania ogólnych wskazówek dotyczących tonu i głosu wygenerowanego komunikatu. Początkowa wiadomość systemowa jest opcjonalna, ale zalecana, aby zapewnić wskazówki dotyczące tonu czatu. Na przykład "Jesteś pomocnym czatbotem z doświadczeniem w nauce o ziemi i uroczym francuskim akcentem".
  • content: [ciąg, wymagany] Zawartość wiadomości.

Obiekt tool ma następujące pola:

  • type (required; str) — typ narzędzia. Obecnie obsługiwany jest tylko element "function".
  • function (required; object) — szczegóły funkcji.
    • name (required; str) — nazwa funkcji do wywołania.
    • description (opcjonalnie; str) — opis działania funkcji.
    • parameters (opcjonalnie; obiekt) — parametry akceptowane przez funkcję, opisane jako obiekt schematu JSON.

Obiekt document ma następujące pola:

  • id (opcjonalnie; str) — unikatowy identyfikator. zostanie połączony z cytatami. maksymalnie 128 znaków.
  • content (wymagane; str) — zawartość dokumentu
  • metadata (opcjonalnie; tablica Metadane)
    • key (required; str) — typ metadanych, na przykład "author", "date", "url" itp. Powinny być rzeczy, które rozumie model.
    • value (wymagane; str) — wartość metadanych

Przykład żądania

Przykładowy pojedynczy obrót Jamba 1.5 duży i Jamba 1.5 mini

{
   "model":"jamba-1.5-large",  <jamba-1.5-large|jamba-1.5-mini>
   "messages":[
      {
         "role":"user",
         "content":"I need help with your product. Can you please assist?"
      }
   ],
   "temperature":1,
   "top_p":1,
   "n":1,
   "stop":"\n",
   "stream":false
}

Przykładowy pojedynczy obrót Jamba 1.5 i Jamba 1.5 mini z dokumentami

{
   "model":"jamba-1.5-large",  <jamba-1.5-large|jamba-1.5-mini>
   "messages":[
      {
         "role":"system",
         "content":'''<documents>
          # Documents

          You can use the following documents for reference:

          ## Document ID: 0
          Text: Harry Potter is a series of seven fantasy novels written by British author J. K. Rowling.

          ## Document ID: 1
          Text: The Great Gatsby is a novel by American writer F. Scott Fitzgerald.
          </documents>'''},

       {
           "role":"user",
           "content":"Who wrote Harry Potter?"
       }
   ],
   "temperature":0.4,
   "top_p":1,
   "n":1,
   "stop":"\n",
   "stream":false
}

Przykład czatu (czwarte żądanie zawierające odpowiedź trzeciego użytkownika)

{
  "model": "jamba-instruct",
  "messages": [
     {"role": "system",
      "content": "You are a helpful genie just released from a bottle. You start the conversation with 'Thank you for freeing me! I grant you one wish.'"},
     {"role":"user",
      "content":"I want a new car"},
     {"role":"assistant",
      "content":"🚗 Great choice, I can definitely help you with that! Before I grant your wish, can you tell me what kind of car you're looking for?"},
     {"role":"user",
      "content":"A corvette"},
     {"role":"assistant",
      "content":"Great choice! What color and year?"},
     {"role":"user",
      "content":"1963 black split window Corvette"}
  ],
  "n":3
}

Schemat odpowiedzi

Odpowiedź zależy nieco od tego, czy wynik jest przesyłany strumieniowo, czy nie.

W wyniku bez strumienia wszystkie odpowiedzi są dostarczane razem w jednej odpowiedzi, która zawiera usage również właściwość.

W wynikach strumieniowych,

  • Każda odpowiedź zawiera pojedynczy token w choices polu.
  • Struktura choices obiektu jest inna.
  • Tylko ostatnia odpowiedź zawiera usage obiekt.
  • Cała odpowiedź jest owinięta data w obiekcie.
  • Ostatnim obiektem odpowiedzi jest data: [DONE].

Ładunek odpowiedzi to słownik z następującymi polami.

Klucz Type Opis
id string Unikatowy identyfikator żądania.
model string Nazwa używanego modelu.
choices list[object] Tekst odpowiedzi wygenerowany przez model. W przypadku odpowiedzi przesyłania strumieniowego jest to lista z elementami n . W przypadku odpowiedzi przesyłania strumieniowego jest to pojedynczy obiekt zawierający pojedynczy token. Zobacz opis obiektu poniżej.
usage object Statystyki użycia dla żądania ukończenia. Aby uzyskać szczegółowe informacje, zobacz poniżej.

Obiekt choices odpowiedzi zawiera odpowiedź wygenerowaną przez model. Obiekt ma następujące pola:

Klucz Type Opis
index integer Zerowy indeks komunikatu na liście komunikatów. Może nie odpowiadać pozycji na liście. W przypadku komunikatów przesyłanych strumieniowo zawsze jest to zero.
message LUB delta object Wygenerowany komunikat (lub token w odpowiedzi przesyłania strumieniowego). Ten sam typ obiektu, jak opisano w żądaniu z dwoma zmianami:
- W odpowiedzi przesyłania strumieniowego ten obiekt jest nazywany message.
- W odpowiedzi przesyłania strumieniowego jest ona nazywana delta, i zawiera wartość message lub role , ale nigdy nie obie.
finish_reason string Przyczyna zatrzymania generowania tokenów przez model:
- stop: Model osiągnął naturalny punkt zatrzymania lub podaną sekwencję zatrzymania.
- length: Osiągnięto maksymalną liczbę tokenów.
- content_filter: Wygenerowana odpowiedź naruszyła zasady odpowiedzialnej sztucznej inteligencji.
- null: Tylko przesyłanie strumieniowe. W odpowiedzi przesyłania strumieniowego wszystkie odpowiedzi z wyjątkiem ostatniej będzie .null

Obiekt message odpowiedzi zawiera odpowiedź wygenerowaną przez model. Obiekt ma następujące pola:

Klucz Type Opis
role string Rola autora tej wiadomości.
content string or null Zawartość wiadomości.
tool_calls array or null Wywołania narzędzia generowane przez model.

Obiekt tool_calls odpowiedzi zawiera odpowiedź wygenerowaną przez model. Obiekt ma następujące pola:

Klucz Type Opis
id string Identyfikator wywołania narzędzia.
type string Typ narzędzia. Obecnie obsługiwane są tylko function te elementy.
function object Funkcja wywoływana przez model.

Obiekt function odpowiedzi zawiera odpowiedź wygenerowaną przez model. Obiekt ma następujące pola:

Klucz Type Opis
name string Nazwa funkcji do wywołania.
arguments string Argumenty do wywołania funkcji za pomocą , wygenerowane przez model w formacie JSON.

Obiekt usage odpowiedzi zawiera następujące pola.

Klucz Type Wartość
prompt_tokens integer Liczba tokenów w wierszu polecenia. Należy pamiętać, że liczba tokenów monitu zawiera dodatkowe tokeny dodane przez system w celu sformatowania listy monitów w jeden ciąg zgodnie z wymaganiami modelu. Liczba dodatkowych tokenów jest zwykle proporcjonalna do liczby komunikatów w wątku i powinna być stosunkowo mała.
completion_tokens integer Liczba tokenów wygenerowanych w zakończeniu.
total_tokens integer Łączna liczba tokenów.

Przykład odpowiedzi bez przesyłania strumieniowego

{
  "id":"cmpl-524c73beb8714d878e18c3b5abd09f2a",
  "choices":[
    {
      "index":0,
      "message":{
        "role":"assistant",
        "content":"The human nose can detect over 1 trillion different scents, making it one of the most sensitive smell organs in the animal kingdom."
      },
      "finishReason":"stop"
    }
  ],
  "created": 1717487036,
  "usage":{
    "promptTokens":116,
    "completionTokens":30,
    "totalTokens":146
  }
}

Przykład odpowiedzi przesyłania strumieniowego

data: {"id": "cmpl-8e8b2f6556f94714b0cd5cfe3eeb45fc", "choices": [{"index": 0, "delta": {"role": "assistant"}, "created": 1717487336, "finish_reason": null}]}
data: {"id": "cmpl-8e8b2f6556f94714b0cd5cfe3eeb45fc", "choices": [{"index": 0, "delta": {"content": ""}, "created": 1717487336, "finish_reason": null}]}
data: {"id": "cmpl-8e8b2f6556f94714b0cd5cfe3eeb45fc", "choices": [{"index": 0, "delta": {"content": " The"}, "created": 1717487336, "finish_reason": null}]}
data: {"id": "cmpl-8e8b2f6556f94714b0cd5cfe3eeb45fc", "choices": [{"index": 0, "delta": {"content": " first e"}, "created": 1717487336, "finish_reason": null}]}
data: {"id": "cmpl-8e8b2f6556f94714b0cd5cfe3eeb45fc", "choices": [{"index": 0, "delta": {"content": "mpe"}, "created": 1717487336, "finish_reason": null}]}
... 115 responses omitted for sanity ...
data: {"id": "cmpl-8e8b2f6556f94714b0cd5cfe3eeb45fc", "choices": [{"index": 0, "delta": {"content": "me"}, "created": 1717487336, "finish_reason": null}]}
data: {"id": "cmpl-8e8b2f6556f94714b0cd5cfe3eeb45fc", "choices": [{"index": 0, "delta": {"content": "."}, "created": 1717487336,"finish_reason": "stop"}], "usage": {"prompt_tokens": 107, "completion_tokens": 121, "total_tokens": 228}}
data: [DONE]

Koszt i przydziały

Zagadnienia dotyczące kosztów i limitów przydziału dla modeli rodziny jamba wdrożonych jako bezserwerowy interfejs API

Modele rodziny Jamba są wdrażane jako bezserwerowy interfejs API i oferowane przez usługę AI21 za pośrednictwem witryny Azure Marketplace i zintegrowane z usługą Azure AI Foundry do użycia. Cennik witryny Azure Marketplace można uzyskać podczas wdrażania lub dostrajania modeli.

Za każdym razem, gdy obszar roboczy subskrybuje daną ofertę modelu z witryny Azure Marketplace, tworzony jest nowy zasób w celu śledzenia kosztów związanych z jego zużyciem. Ten sam zasób służy do śledzenia kosztów skojarzonych z wnioskowaniem i dostrajania; jednak w ramach śledzenia każdego scenariusza można niezależnie śledzić wiele mierników.

Aby uzyskać więcej informacji na temat śledzenia kosztów, zobacz Monitorowanie kosztów modeli oferowanych w witrynie Azure Marketplace.

Limit przydziału jest zarządzany na wdrożenie. Każde wdrożenie ma limit szybkości wynoszący 200 000 tokenów na minutę i 1000 żądań interfejsu API na minutę. Obecnie jednak ograniczamy jedno wdrożenie na model na projekt. Skontaktuj się z pomocą techniczną platformy Microsoft Azure, jeśli bieżące limity szybkości nie są wystarczające dla Twoich scenariuszy.

Filtrowanie zawartości

Modele wdrożone jako bezserwerowy interfejs API są chronione przez bezpieczeństwo zawartości usługi Azure AI. Po włączeniu bezpieczeństwa zawartości sztucznej inteligencji platformy Azure zarówno monit, jak i ukończenie przechodzą przez zespół modeli klasyfikacji mających na celu wykrywanie i zapobieganie wyjściu szkodliwej zawartości. System filtrowania zawartości (wersja zapoznawcza) wykrywa i podejmuje działania dotyczące określonych kategorii potencjalnie szkodliwej zawartości zarówno w monitach wejściowych, jak i w przypadku uzupełniania danych wyjściowych. Dowiedz się więcej o bezpieczeństwie zawartości usługi Azure AI.