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:
- Zaloguj się do usługi Azure AI Foundry.
- Jeśli nie jesteś jeszcze w projekcie, wybierz go.
- Wybierz pozycję Katalog modeli w okienku nawigacji po lewej stronie.
Wyszukaj i wybierz model AI21, taki jak
AI21 Jamba 1.5 Large
lubAI21 Jamba 1.5 Mini
,AI21 Jamba Instruct
aby otworzyć stronę Szczegóły.Wybierz pozycję Wdróż , aby otworzyć okno wdrażania bezserwerowego interfejsu API dla modelu.
Możesz też zainicjować wdrożenie, zaczynając od strony Modele i punkty końcowe w portalu rozwiązania AI Foundry.
- W okienku nawigacji po lewej stronie projektu wybierz pozycję Moje zasoby>Modele i punkty końcowe.
- Wybierz pozycję + Wdróż model Wdróż model> podstawowy.
- Wyszukaj i wybierz model AI21, taki jak
AI21 Jamba 1.5 Large
lubAI21 Jamba 1.5 Mini
,AI21 Jamba Instruct
aby otworzyć stronę Szczegóły modelu. - Wybierz pozycję Potwierdź , aby otworzyć okno wdrażania bezserwerowego interfejsu API dla modelu.
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 .
W kreatorze wdrażania wybierz link do warunków użytkowania witryny Azure Marketplace, aby dowiedzieć się więcej o warunkach użytkowania.
Wybierz kartę Cennik i terminy , aby dowiedzieć się więcej o cenach dla wybranego modelu.
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.
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ć.
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.
Wybierz Wdróż. Poczekaj, aż wdrożenie będzie gotowe, a nastąpi przekierowanie do strony Wdrożenia.
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 .
-
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:
W okienku nawigacji po lewej stronie projektu wybierz pozycję Moje zasoby>Modele i punkty końcowe.
Znajdź i wybierz utworzone wdrożenie.
Skopiuj docelowy identyfikator URI i wartość Klucz.
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 iassistant
- 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-mini jamba-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 wsystem
wierszu polecenia, mają pierwszeństwo przed instrukcjami monitusystem
.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ść dokumentumetadata
(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.