Dokumentacja komunikatów interfejsu API asystentów (wersja zapoznawcza)
Uwaga
- Wyszukiwanie plików może pozyskiwać maksymalnie 10 000 plików na asystenta — 500 razy więcej niż wcześniej. Jest szybkie, obsługuje zapytania równoległe za pośrednictwem wyszukiwania wielowątkowego i oferuje ulepszone ponowne klasyfikowanie praz ponowne zapisywanie zapytań.
- Magazyn wektorów to nowy obiekt w interfejsie API. Po dodaniu pliku do magazynu wektorów jest on automatycznie analizowany, fragmentowany i osadzany oraz przygotowywany do wyszukiwania. Magazyny wektorów mogą być używane między asystentami i wątkami, upraszczając zarządzanie plikami i rozliczenia.
- Dodaliśmy obsługę parametru
tool_choice
, który może służyć do wymuszenia użycia określonego narzędzia (takiego jak wyszukiwanie plików, interpreter kodu lub funkcja) w określonym uruchomieniu.
Ten artykuł zawiera dokumentację referencyjną dla języka Python i interfejsu API REST dla nowego interfejsu API Asystentów (wersja zapoznawcza). Więcej szczegółowych wskazówek krok po kroku znajduje się w przewodniku wprowadzającym.
Utwórz komunikat
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Utwórz wiadomość.
Parametr ścieżki
Parametr | Type | Wymagania | opis |
---|---|---|---|
thread_id |
string | Wymagania | Identyfikator wątku do utworzenia komunikatu. |
Treść żądania
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
role |
string | Wymagania | Rola jednostki tworzącej komunikat. Możliwe wartości to user i assistant . user wskazuje, że komunikat jest wysyłany przez rzeczywistego użytkownika i powinien być używany w większości przypadków do reprezentowania komunikatów generowanych przez użytkownika. assistant wskazuje, że komunikat jest generowany przez asystenta. Użyj tej wartości, aby wstawić wiadomości z asystenta do konwersacji. |
content |
string | Wymagania | Zawartość wiadomości. |
attachments |
tablica | Opcjonalnie | Lista plików dołączonych do wiadomości oraz narzędzia, do których należy je dodać. |
metadata |
map | Opcjonalnie | Zestaw 16 par klucz-wartość, które można dołączyć do obiektu. Może to być przydatne do przechowywania dodatkowych informacji o obiekcie w formacie ustrukturyzowanym. Klucze mogą mieć długość maksymalnie 64 znaków, a wartości mogą mieć długość maksymalnie 512 znaków. |
Zwraca
Przykładowe żądanie utworzenia komunikatu
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_message = client.beta.threads.messages.create(
"thread_abc123",
role="user",
content="How does AI work? Explain it in simple terms.",
)
print(thread_message)
Wyświetl listę komunikatów
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Zwraca listę komunikatów dla danego wątku.
Parametry ścieżki
Parametr | Type | Wymagania | opis |
---|---|---|---|
thread_id |
string | Wymagania | Identyfikator wątku, do którego należą komunikaty. |
Parametry zapytań
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
limit |
integer | Opcjonalne — wartości domyślne do 20 | Limit liczby zwracanych obiektów. Limit może mieścić się w zakresie od 1 do 100, a wartość domyślna to 20. |
order |
string | Opcjonalne — wartości domyślne do desc | Kolejność sortowania według znacznika czasu created_at obiektów. asc dla kolejności rosnącej i desc dla kolejności malejącej. |
after |
string | Opcjonalnie | Kursor do użycia w stronicowaniu. po jest identyfikatorem obiektu definiującym miejsce na liście. Jeśli na przykład wykonasz żądanie listy i otrzymasz 100 obiektów, kończąc się obj_foo, kolejne wywołanie może obejmować polecenie after=obj_foo w celu pobrania następnej strony listy. |
run_id |
string | Opcjaanl | Filtruj komunikaty według identyfikatora przebiegu, który je wygenerował. |
before |
string | Opcjonalnie | Kursor do użycia w stronicowaniu. przed jest identyfikatorem obiektu, który definiuje miejsce na liście. Jeśli na przykład wykonasz żądanie listy i otrzymasz 100 obiektów, kończąc się obj_foo, kolejne wywołanie może zawierać wartość before=obj_foo w celu pobrania poprzedniej strony listy. |
Zwraca
Przykładowe żądanie komunikatów listy
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_messages = client.beta.threads.messages.list("thread_abc123")
print(thread_messages.data)
Pobieranie komunikatu
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Pobiera plik komunikatu.
Parametry ścieżki
Parametr | Type | Wymagania | opis |
---|---|---|---|
thread_id |
string | Wymagania | Identyfikator wątku, do którego należy komunikat. |
message_id |
string | Wymagania | Identyfikator wiadomości do pobrania. |
Zwraca
Obiekt komunikatu pasujący do określonego identyfikatora.
Przykładowe żądanie pobrania komunikatu
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
message = client.beta.threads.messages.retrieve(
message_id="msg_abc123",
thread_id="thread_abc123",
)
print(message)
Modyfikowanie komunikatu
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Modyfikuje komunikat.
Parametry ścieżki
Parametr | Type | Wymagania | opis |
---|---|---|---|
thread_id |
string | Wymagania | Identyfikator wątku, do którego należy komunikat. |
message_id |
string | Wymagania | Identyfikator wiadomości do zmodyfikowania. |
Treść żądania
Parametr | Type | Wymagania | opis |
---|---|---|---|
metadata |
map | Opcjonalnie | Zestaw 16 par klucz-wartość, które można dołączyć do obiektu. Może to być przydatne do przechowywania dodatkowych informacji o obiekcie w formacie ustrukturyzowanym. Klucze mogą mieć długość maksymalnie 64 znaków, a wartości mogą mieć długość maksymalnie 512 znaków. |
Zwraca
Zmodyfikowany obiekt komunikatu .
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
message = client.beta.threads.messages.update(
message_id="msg_abc12",
thread_id="thread_abc123",
metadata={
"modified": "true",
"user": "abc123",
},
)
print(message)
Usuwanie komunikatu
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Usuwa komunikat.
Parametry ścieżki
Parametr | Type | Wymagania | opis |
---|---|---|---|
thread_id |
string | Wymagania | Identyfikator wątku, do którego należy komunikat. |
message_id |
string | Wymagania | Identyfikator wiadomości do zmodyfikowania. |
Zwraca
Stan usunięcia obiektu komunikatu.
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
deleted_message = client.beta.threads.messages.delete(
message_id="msg_abc12",
thread_id="thread_abc123",
)
print(deleted_message)
Obiekt komunikatu
Reprezentuje komunikat w wątku.
Nazwisko | Pisz | opis |
---|---|---|
id |
string | Identyfikator, do którego można odwoływać się w punktach końcowych interfejsu API. |
object |
string | Typ obiektu, który jest zawsze thread.message. |
created_at |
integer | Sygnatura czasowa systemu Unix (w sekundach) dla momentu utworzenia komunikatu. |
thread_id |
string | Identyfikator wątku, do którego należy ten komunikat. |
role |
string | Jednostka, która wygenerowała komunikat. Jeden z user lub assistant . |
content |
tablica | Zawartość wiadomości w tablicy tekstu i/lub obrazów. |
assistant_id |
ciąg lub wartość null | Jeśli ma to zastosowanie, identyfikator asystenta, który napisał tę wiadomość. |
run_id |
ciąg lub wartość null | Jeśli ma to zastosowanie, identyfikator przebiegu skojarzonego z tworzeniem tego komunikatu. |
file_ids |
tablica | Lista identyfikatorów plików, których powinien używać asystent. Przydatne w przypadku narzędzi, takich jak pobieranie i code_interpreter, które mogą uzyskiwać dostęp do plików. Do wiadomości można dołączyć maksymalnie 10 plików. |
metadata |
map | Zestaw 16 par klucz-wartość, które można dołączyć do obiektu. Może to być przydatne do przechowywania dodatkowych informacji o obiekcie w formacie ustrukturyzowanym. Klucze mogą mieć długość maksymalnie 64 znaków, a wartości mogą mieć długość maksymalnie 512 znaków. |