Udostępnij za pośrednictwem


Dokumentacja: Ukończenie czatu | 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.

Tworzy odpowiedź modelu dla danej konwersacji na czacie.

POST /chat/completions?api-version=2024-04-01-preview

Parametry identyfikatora URI

Nazwisko W Wymagania Type Opis
api-version zapytanie Prawda string Wersja interfejsu API w formacie "RRRR-MM-DD" lub "RRRR-MM-DD-preview".

Nagłówek żądania

Nazwisko Wymagania Type Opis
dodatkowe parametry string Zachowanie interfejsu API w przypadku wskazania dodatkowych parametrów w ładunku. Użycie pass-through polecenia sprawia, że interfejs API przekazuje parametr do bazowego modelu. Użyj tej wartości, jeśli chcesz przekazać parametry, które wiesz, że bazowy model może obsługiwać. Użycie ignore polecenia sprawia, że interfejs API usuwa dowolny nieobsługiwany parametr. Użyj tej wartości, jeśli musisz użyć tego samego ładunku w różnych modelach, ale jeden z dodatkowych parametrów może spowodować błąd modelu, jeśli nie jest obsługiwany. Użycie error polecenia sprawia, że interfejs API odrzuca dowolny dodatkowy parametr w ładunku. Można wskazać tylko parametry określone w tym interfejsie API lub zwracany jest błąd 400.
azureml-model-deployment string Nazwa wdrożenia, do którego chcesz skierować żądanie. Obsługiwane w przypadku punktów końcowych obsługujących wiele wdrożeń.

Treść żądania

Nazwisko Wymagania Type Opis
model string Nazwa modelu. Ten parametr jest ignorowany, jeśli punkt końcowy obsługuje tylko jeden model.
wiadomości Prawda ChatCompletionRequestMessage Lista wiadomości składających się z konwersacji do tej pory. Zwraca błąd 422, jeśli co najmniej niektóre komunikaty nie mogą być zrozumiałe dla modelu.
frequency_penalty Liczba Pomaga zapobiegać powtórzeniom wyrazów, zmniejszając prawdopodobieństwo wybrania wyrazu, jeśli został już użyty. Im większa jest kara za częstotliwość, tym mniej prawdopodobne jest powtórzenie tych samych słów w danych wyjściowych modelu. Zwróć błąd 422, jeśli wartość lub parametr nie jest obsługiwany przez model.
max_tokens integer Maksymalna liczba tokenów, które można wygenerować podczas kończenia czatu.

Łączna długość tokenów wejściowych i wygenerowanych tokenów jest ograniczona przez długość kontekstu modelu. Przekazywanie wartości null powoduje, że model używa maksymalnej długości kontekstu.
presence_penalty Liczba Pomaga zapobiec powtarzaniu tych samych tematów, karując słowo, jeśli już istnieje, nawet raz. Zwróć błąd 422, jeśli wartość lub parametr nie jest obsługiwany przez model.
response_format ChatCompletionResponseFormat
nasienie integer Jeśli zostanie określony, nasz system podejmie najlepsze wysiłki, aby próbkować deterministycznie, tak aby powtarzające się żądania z tymi samymi seed parametrami zwracały ten sam wynik. Determinizm nie jest gwarantowany i należy odwołać się do parametru system_fingerprint odpowiedzi w celu monitorowania zmian w zapleczu.
zatrzymać Sekwencje, w których interfejs API przestanie generować kolejne tokeny.
strumień boolean W przypadku ustawienia zostaną wysłane częściowe różnice komunikatów. Tokeny będą wysyłane jako zdarzenia wysyłane tylko do serwera, gdy staną się dostępne, a strumień zostanie zakończony komunikatemdata: [DONE].
temperature Liczba Liczba nieujemna. Zwróć wartość 422, jeśli wartość nie jest obsługiwana przez model.
tool_choice ChatCompletionToolChoiceOption Określa, która (jeśli istnieje) funkcja jest wywoływana przez model. none oznacza, że model nie wywoła funkcji i zamiast tego generuje komunikat. auto oznacza, że model może wybierać między generowaniem komunikatu lub wywoływaniem funkcji. Określenie określonej funkcji za pośrednictwem {"type": "function", "function": {"name": "my_function"}} wymusza wywołanie tej funkcji przez model.

none jest wartością domyślną, gdy nie ma żadnych funkcji. auto jest wartością domyślną, jeśli funkcje są obecne. Zwraca błąd 422, jeśli narzędzie nie jest obsługiwane przez model.
tools ChatCompletionTool[] Lista narzędzi, które może wywołać model. 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. Zwraca błąd 422, jeśli narzędzie nie jest obsługiwane przez model.
top_p Liczba Alternatywą dla próbkowania z temperaturą, nazywaną próbkowaniem jądra, gdzie model uwzględnia wyniki tokenów z top_p masą prawdopodobieństwa. Dlatego 0,1 oznacza, że uwzględniane są tylko tokeny składające się z pierwszej masy prawdopodobieństwa o 10%.

Ogólnie zalecamy zmianę tego lub temperature nie obu tych elementów.

Odpowiedzi

Nazwisko Pisz Opis
200 OK CreateChatCompletionResponse OK
401 Brak autoryzacji Brak autoryzacji Brak tokenu dostępu lub jest on nieprawidłowy

Nagłówki

x-ms-error-code: ciąg
404 Nie znaleziono NotFoundError Modalność nie jest obsługiwana przez model. Zapoznaj się z dokumentacją modelu, aby sprawdzić, które trasy są dostępne.

Nagłówki

x-ms-error-code: ciąg
422 Jednostka nieprzetworzona UnprocessableContentError Żądanie zawiera nieprzetworzoną zawartość

Nagłówki

x-ms-error-code: ciąg
429 Zbyt wiele żądań TooManyRequestsError Przekroczono przypisany limit szybkości, a żądanie musi zostać przekroczone.

Nagłówki

x-ms-error-code: ciąg
Inne kody stanu ContentFilterError Nieprawidłowe żądanie

Nagłówki

x-ms-error-code: ciąg

Zabezpieczenia

Autoryzacja

Token z prefiksem Bearer: , np. Bearer abcde12345

Typ: apiKey
W: nagłówek

AADToken

Uwierzytelnianie OAuth2 w usłudze Azure Active Directory

Typ: oauth2
Przepływ: aplikacja
Adres URL tokenu: https://login.microsoftonline.com/common/oauth2/v2.0/token

Przykłady

Tworzy odpowiedź modelu dla danej konwersacji na czacie

Przykładowe żądanie

POST /chat/completions?api-version=2024-04-01-preview

{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant"
    },
    {
      "role": "user",
      "content": "Explain Riemann's conjecture"
    },
    {
      "role": "assistant",
      "content": "The Riemann Conjecture is a deep mathematical conjecture around prime numbers and how they can be predicted. It was first published in Riemann's groundbreaking 1859 paper. The conjecture states that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part 1/21. Many consider it to be the most important unsolved problem in pure mathematics. The Riemann hypothesis is a way to predict the probability that numbers in a certain range are prime that was also devised by German mathematician Bernhard Riemann in 18594."
    },
    {
      "role": "user",
      "content": "Ist it proved?"
    }
  ],
  "frequency_penalty": 0,
  "presence_penalty": 0,
  "max_tokens": 256,
  "seed": 42,
  "stop": "<|endoftext|>",
  "stream": false,
  "temperature": 0,
  "top_p": 1,
  "response_format": { "type": "text" }
}

Przykładowa odpowiedź

Kod stanu: 200

{
  "id": "1234567890",
  "model": "llama2-70b-chat",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "No, it has never been proved"
      }
    }
  ],
  "created": 1234567890,
  "object": "chat.completion",
  "usage": {
    "prompt_tokens": 205,
    "completion_tokens": 5,
    "total_tokens": 210
  }
}

Definicje

Nazwa/nazwisko opis
ChatCompletionRequestMessage
ChatCompletionMessageContentPart
ChatCompletionMessageContentPartType
ChatCompletionToolChoiceOption Określa, która (jeśli istnieje) funkcja jest wywoływana przez model. none oznacza, że model nie wywoła funkcji i zamiast tego generuje komunikat. auto oznacza, że model może wybierać między generowaniem komunikatu lub wywoływaniem funkcji. Określenie określonej funkcji za pośrednictwem {"type": "function", "function": {"name": "my_function"}} wymusza wywołanie tej funkcji przez model.

none jest wartością domyślną, gdy nie ma żadnych funkcji. auto jest wartością domyślną, jeśli funkcje są obecne. Zwraca błąd 422, jeśli narzędzie nie jest obsługiwane przez model.
ChatCompletionFinishReason Przyczyna, dla którego model przestał generować tokeny. Będzie to miało miejsce stop , jeśli model osiągnie naturalny punkt zatrzymania lub podaną sekwencję zatrzymania, length jeśli osiągnięto maksymalną liczbę tokenów określonych w żądaniu, content_filter jeśli zawartość została pominięta z powodu flagi z filtrów zawartości, tool_calls jeśli model nazwał narzędzie.
ChatCompletionMessageToolCall
ChatCompletionObject Typ obiektu, który jest zawsze chat.completion.
ChatCompletionResponseFormat Format odpowiedzi dla modelu. Ustawienie w celu json_object włączenia trybu JSON, co gwarantuje, że komunikat generowany przez model jest prawidłowym kodem JSON. W przypadku korzystania z trybu JSON należy również poinstruować model, aby samodzielnie wygenerował kod JSON za pośrednictwem komunikatu systemu lub użytkownika. Należy również zauważyć, że zawartość wiadomości może być częściowo odcięta, jeśli finish_reason="length", co wskazuje, że generacja przekroczyła max_tokens lub konwersacja przekroczyła maksymalną długość kontekstu.
ChatCompletionResponseFormatType Typ formatu odpowiedzi.
ChatCompletionResponseMessage Komunikat ukończenia czatu wygenerowany przez model.
ChatCompletionTool
ChatMessageRole Rola autora tej wiadomości.
Choices Lista opcji ukończenia czatu.
UkończenieUsage Statystyki użycia dla żądania ukończenia.
ContentFilterError Wywołanie interfejsu API kończy się niepowodzeniem, gdy monit wyzwoli filtr zawartości zgodnie z konfiguracją. Zmodyfikuj monit i spróbuj ponownie.
CreateChatCompletionRequest
CreateChatCompletionResponse Reprezentuje odpowiedź ukończenia czatu zwróconą przez model na podstawie podanych danych wejściowych.
Szczegół Szczegóły błędu UnprocessableContentError .
Funkcja Funkcja wywoływana przez model.
FunctionObject Definicja funkcji, do których ma dostęp model.
ImageDetail Określa poziom szczegółowości obrazu.
NotFoundError Trasa jest nieprawidłowa dla wdrożonego modelu.
ToolType Typ narzędzia. Obecnie obsługiwane są tylko function te elementy.
TooManyRequestsError Przekroczono przypisany limit szybkości, a żądania muszą być realizowane.
Brak autoryzacji Brak uwierzytelniania lub jest on nieprawidłowy.
UnprocessableContentError Żądanie zawiera nieprzetworzoną zawartość. Błąd jest zwracany, gdy wskazany ładunek jest prawidłowy zgodnie z tą specyfikacją. Jednak niektóre instrukcje wskazane w ładunku nie są obsługiwane przez bazowy model. Skorzystaj z details sekcji , aby zrozumieć parametr obraźliwy.

ChatCompletionFinishReason

Przyczyna, dla którego model przestał generować tokeny. Będzie to miało miejsce stop , jeśli model osiągnie naturalny punkt zatrzymania lub podaną sekwencję zatrzymania, length jeśli osiągnięto maksymalną liczbę tokenów określonych w żądaniu, content_filter jeśli zawartość została pominięta z powodu flagi z filtrów zawartości, tool_calls jeśli model nazwał narzędzie.

Nazwisko Pisz Opis
content_filter string
length string
zatrzymać string
tool_calls string

ChatCompletionMessageToolCall

Nazwisko Pisz Opis
function Funkcja Funkcja wywoływana przez model.
IDENTYFIKATOR string Identyfikator wywołania narzędzia.
type ToolType Typ narzędzia. Obecnie obsługiwane są tylko function te elementy.

ChatCompletionObject

Typ obiektu, który jest zawsze chat.completion.

Nazwisko Pisz Opis
chat.completion string

ChatCompletionResponseFormat

Format odpowiedzi dla modelu. Ustawienie w celu json_object włączenia trybu JSON, co gwarantuje, że komunikat generowany przez model jest prawidłowym kodem JSON. W przypadku korzystania z trybu JSON należy również poinstruować model, aby samodzielnie wygenerował kod JSON za pośrednictwem komunikatu systemu lub użytkownika. Należy również zauważyć, że zawartość wiadomości może być częściowo odcięta, jeśli finish_reason="length", co wskazuje, że generacja przekroczyła max_tokens lub konwersacja przekroczyła maksymalną długość kontekstu.

Nazwisko Pisz Opis
type ChatCompletionResponseFormatType Typ formatu odpowiedzi.

ChatCompletionResponseFormatType

Typ formatu odpowiedzi.

Nazwisko Pisz Opis
json_object string
text string

ChatCompletionResponseMessage

Komunikat ukończenia czatu wygenerowany przez model.

Nazwisko Pisz Opis
content string Zawartość wiadomości.
role ChatMessageRole Rola autora tej wiadomości.
tool_calls ChatCompletionMessageToolCall[] Wywołania narzędzia generowane przez model, takie jak wywołania funkcji.

ChatCompletionTool

Nazwisko Pisz Opis
function FunctionObject
type ToolType Typ narzędzia. Obecnie obsługiwane są tylko function te elementy.

ChatMessageRole

Rola autora tej wiadomości.

Nazwisko Pisz Opis
asystent string
sterowana string
narzędzie string
Użytkownik string

Opcje wyboru

Lista opcji ukończenia czatu. Może być więcej niż jeden, jeśli n jest większy niż 1.

Nazwisko Pisz Opis
finish_reason ChatCompletionFinishReason Przyczyna, dla którego model przestał generować tokeny. Będzie to miało miejsce stop , jeśli model osiągnie naturalny punkt zatrzymania lub podaną sekwencję zatrzymania, length jeśli osiągnięto maksymalną liczbę tokenów określonych w żądaniu, content_filter jeśli zawartość została pominięta z powodu flagi z filtrów zawartości, tool_calls jeśli model nazwał narzędzie.
index integer Indeks wybranego elementu na liście opcji.
wiadomość ChatCompletionResponseMessage Komunikat ukończenia czatu wygenerowany przez model.

UkończenieUsage

Statystyki użycia dla żądania ukończenia.

Nazwisko Pisz Opis
completion_tokens integer Liczba tokenów w wygenerowanych ukończeniu.
prompt_tokens integer Liczba tokenów w wierszu polecenia.
total_tokens integer Łączna liczba tokenów używanych w żądaniu (monit + ukończenie).

ContentFilterError

Wywołanie interfejsu API kończy się niepowodzeniem, gdy monit wyzwoli filtr zawartości zgodnie z konfiguracją. Zmodyfikuj monit i spróbuj ponownie.

Nazwisko Pisz Opis
code string Kod błędu.
error string Opis błędu.
wiadomość string Komunikat o błędzie.
Param string Parametr, który wyzwolił filtr zawartości.
status integer Kod stanu HTTP.

CreateChatCompletionRequest

Nazwisko Type Wartość domyślna opis
frequency_penalty Liczba 0 Pomaga zapobiegać powtórzeniom wyrazów, zmniejszając prawdopodobieństwo wybrania wyrazu, jeśli został już użyty. Im większa jest kara za częstotliwość, tym mniej prawdopodobne jest powtórzenie tych samych słów w danych wyjściowych modelu. Zwróć błąd 422, jeśli wartość lub parametr nie jest obsługiwany przez model.
max_tokens integer Maksymalna liczba tokenów, które można wygenerować podczas kończenia czatu.

Łączna długość tokenów wejściowych i wygenerowanych tokenów jest ograniczona przez długość kontekstu modelu. Przekazywanie wartości null powoduje, że model używa maksymalnej długości kontekstu.
wiadomości ChatCompletionRequestMessage[] Lista wiadomości składających się z konwersacji do tej pory. Zwraca błąd 422, jeśli co najmniej niektóre komunikaty nie mogą być zrozumiałe dla modelu.
presence_penalty Liczba 0 Pomaga zapobiec powtarzaniu tych samych tematów, karując słowo, jeśli już istnieje, nawet raz. Zwróć błąd 422, jeśli wartość lub parametr nie jest obsługiwany przez model.
response_format ChatCompletionResponseFormat text
nasienie integer Jeśli zostanie określony, nasz system podejmie najlepsze wysiłki, aby próbkować deterministycznie, tak aby powtarzające się żądania z tymi samymi seed parametrami zwracały ten sam wynik. Determinizm nie jest gwarantowany i należy odwołać się do parametru system_fingerprint odpowiedzi w celu monitorowania zmian w zapleczu.
zatrzymać Sekwencje, w których interfejs API przestanie generować kolejne tokeny.
strumień boolean Fałsz W przypadku ustawienia zostaną wysłane częściowe różnice komunikatów. Tokeny będą wysyłane jako zdarzenia wysyłane tylko do serwera, gdy staną się dostępne, a strumień zostanie zakończony komunikatemdata: [DONE].
temperature Liczba 1 Liczba nieujemna. Zwróć wartość 422, jeśli wartość nie jest obsługiwana przez model.
tool_choice ChatCompletionToolChoiceOption Określa, która (jeśli istnieje) funkcja jest wywoływana przez model. none oznacza, że model nie wywoła funkcji i zamiast tego generuje komunikat. auto oznacza, że model może wybierać między generowaniem komunikatu lub wywoływaniem funkcji. Określenie określonej funkcji za pośrednictwem {"type": "function", "function": {"name": "my_function"}} wymusza wywołanie tej funkcji przez model.

none jest wartością domyślną, gdy nie ma żadnych funkcji. auto jest wartością domyślną, jeśli funkcje są obecne. Zwraca błąd 422, jeśli narzędzie nie jest obsługiwane przez model.
tools ChatCompletionTool[] Lista narzędzi, które może wywołać model. 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. Zwraca błąd 422, jeśli narzędzie nie jest obsługiwane przez model.
top_p Liczba 1 Alternatywą dla próbkowania z temperaturą, nazywaną próbkowaniem jądra, gdzie model uwzględnia wyniki tokenów z top_p masą prawdopodobieństwa. Dlatego 0,1 oznacza, że uwzględniane są tylko tokeny składające się z pierwszej masy prawdopodobieństwa o 10%.

Ogólnie zalecamy zmianę tego lub temperature nie obu tych elementów.

ChatCompletionRequestMessage

Nazwisko Pisz Opis
content ciąg lub ChatCompletionMessageContentPart[] Zawartość wiadomości.
role ChatMessageRole Rola autora tej wiadomości.
tool_calls ChatCompletionMessageToolCall[] Wywołania narzędzia generowane przez model, takie jak wywołania funkcji.

ChatCompletionMessageContentPart

Nazwisko Pisz Opis
content string Adres URL obrazu lub zakodowane w formacie base64 dane obrazu.
szczegóły ImageDetail Określa poziom szczegółowości obrazu.
type ChatCompletionMessageContentPartType Typ części zawartości.

ChatCompletionMessageContentPartType

Nazwisko Pisz Opis
text string
obraz string
image_url string

ChatCompletionToolChoiceOption

Określa, które narzędzie (jeśli istnieje) jest wywoływane przez model.

Nazwisko Pisz Opis
Brak string Model nie wywoła żadnego narzędzia i zamiast tego wygeneruje komunikat.
auto string Model może wybierać między generowaniem komunikatu lub wywoływaniem co najmniej jednego narzędzia.
wymagane string Model musi wywoływać co najmniej jedno narzędzie.
string Określenie określonego narzędzia za pośrednictwem {"type": "function", "function": {"name": "my_function"}} wymusza wywołanie tego narzędzia przez model.

ImageDetail

Określa poziom szczegółowości obrazu.

Nazwisko Pisz Opis
auto string
 Niski string
wysoki string

CreateChatCompletionResponse

Reprezentuje odpowiedź ukończenia czatu zwróconą przez model na podstawie podanych danych wejściowych.

Nazwisko Pisz Opis
Wyborów Wybory[] Lista opcji ukończenia czatu. Może być więcej niż jeden, jeśli n jest większy niż 1.
utworzone integer Sygnatura czasowa systemu Unix (w sekundach) czasu utworzenia czatu.
IDENTYFIKATOR string Unikatowy identyfikator ukończenia czatu.
model string Model używany do ukończenia czatu.
obiekt ChatCompletionObject Typ obiektu, który jest zawsze chat.completion.
system_fingerprint string Ten odcisk palca reprezentuje konfigurację zaplecza, z którą działa model.

Można użyć w połączeniu z parametrem seed żądania, aby zrozumieć, kiedy wprowadzono zmiany zaplecza, które mogą mieć wpływ na determinizm.
użycie UkończenieUsage Statystyki użycia dla żądania ukończenia.

Szczegół

Szczegóły błędu UnprocessableContentError .

Nazwisko Pisz Opis
Loc string[] Parametr powodujący problem
wartość string Wartość przekazana do parametru powoduje problemy.

Function

Funkcja wywoływana przez model.

Nazwisko Pisz Opis
Argumenty string Argumenty do wywołania funkcji za pomocą , wygenerowane przez model w formacie JSON. Należy pamiętać, że model nie zawsze generuje prawidłowy kod JSON i może wygenerować niepoprawne parametry niezdefiniowane przez schemat funkcji. Przed wywołaniem funkcji zweryfikuj argumenty w kodzie.
nazwa string Nazwa funkcji do wywołania.

FunctionObject

Definicja funkcji, do których ma dostęp model.

Nazwisko Pisz Opis
opis string Opis działania funkcji używanej przez model do wyboru, kiedy i jak wywołać funkcję.
nazwa string Nazwa funkcji do wywołania. Musi być a-z, A-Z, 0-9 lub zawierać podkreślenia i kreski o maksymalnej długości 64.
parameters obiekt Parametry akceptowane przez funkcje, opisane jako obiekt schematu JSON. Pominięcie parameters definiuje funkcję z pustą listą parametrów.

NotFoundError

Nazwisko Pisz Opis
error string Opis błędu.
wiadomość string Komunikat o błędzie.
status integer Kod stanu HTTP.

ToolType

Typ narzędzia. Obecnie obsługiwane są tylko function te elementy.

Nazwisko Pisz Opis
function string

TooManyRequestsError

Nazwisko Pisz Opis
error string Opis błędu.
wiadomość string Komunikat o błędzie.
status integer Kod stanu HTTP.

Brak autoryzacji

Nazwisko Pisz Opis
error string Opis błędu.
wiadomość string Komunikat o błędzie.
status integer Kod stanu HTTP.

UnprocessableContentError

Żądanie zawiera nieprzetworzoną zawartość. Błąd jest zwracany, gdy wskazany ładunek jest prawidłowy zgodnie z tą specyfikacją. Jednak niektóre instrukcje wskazane w ładunku nie są obsługiwane przez bazowy model. Skorzystaj z details sekcji , aby zrozumieć parametr obraźliwy.

Nazwisko Pisz Opis
code string Kod błędu.
szczegóły Szczegół
error string Opis błędu.
wiadomość string Komunikat o błędzie.
status integer Kod stanu HTTP.