Skip to main content
GLM(General Language Model)to nowa generacja modeli językowych wprowadzonych przez Zhipu AI (Zhipu AI / Z.ai), która posiada silne zdolności rozumienia i generowania w języku chińskim i angielskim, osiągając doskonałe wyniki w zadaniach związanych z chińskim kontekstem, generowaniem kodu, wnioskowaniem i wieloma rundami dialogów. Nowe modele, takie jak GLM-5.3, GLM-5.2, GLM-4.7, zostały znacznie zoptymalizowane w zakresie długiego kontekstu, wywoływania narzędzi i zadań związanych z kodem, co pozwala na szerokie zastosowanie w inteligentnych systemach odpowiedzi, tworzeniu treści, wsparciu kodu, chatbotach itp. Dokument ten głównie opisuje proces korzystania z GLM Chat Completion API, dzięki któremu można łatwo wywoływać modele serii GLM za pomocą jednolitego interfejsu zgodnego z OpenAI.

申请流程

Aby korzystać z GLM Chat Completion API, najpierw przejdź do Ace Data Cloud 控制台, aby uzyskać swój token API, który należy zachować na przyszłość. Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę. Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Przy pierwszym wniosku przyznawana jest darmowa kwota, aby można było skorzystać z doświadczenia; w przypadku niewystarczającej kwoty można doładować saldo ogólne w kontrolerze.
📘 Pełna dokumentacja: GLM Chat Completion API →

基本使用

Adres żądania GLM Chat Completion API to https://api.acedata.cloud/glm/chat/completions, używając autoryzacji Bearer Token, ciało żądania jest zgodne z protokołem OpenAI Chat Completions. Podczas pierwszego użycia tego interfejsu musimy wypełnić co najmniej trzy elementy:
  • authorization: wystarczy wybrać Bearer Token z rozwijanej listy.
  • model: wybierz model GLM, który chcesz wywołać, obecnie obsługiwane modele to:
    • glm-5.3: najnowszy flagowy model, obsługujący 1M kontekstu i maksymalnie 128K wyjścia, odpowiedni do złożonego wnioskowania, zadań związanych z kodem i Agentów. Wnioskowanie jest zawsze włączone, można wybrać reasoning_effort jako low, high lub max.
    • glm-5.2: poprzedni flagowy model, o silnych zdolnościach ogólnych.
    • glm-5.1: dojrzały flagowy model, odpowiedni do ogólnych złożonych zadań.
    • glm-4.7: doskonałe wyniki w wnioskowaniu, wywoływaniu narzędzi i zadaniach związanych z kodem.
    • glm-4.6: ogólny model dialogowy, zrównoważony pod względem efektów i kosztów.
    • glm-3-turbo: klasyczny model dialogowy, odpowiedni do ogólnych zadań generowania tekstu.
  • messages: tablica promptów, każda wiadomość zawiera role i content, role obsługuje trzy role: user, assistant, system.
Często używane opcjonalne parametry:
  • max_tokens: ogranicza maksymalną liczbę tokenów w pojedynczej odpowiedzi.
  • temperature: losowość generacji, w zakresie od 0 do 2, im wyższa wartość, tym bardziej rozproszone wyniki.
  • top_p: parametr próbkowania jądra, kontrolujący próg skumulowanej prawdopodobieństwa dla kandydatów tokenów.
  • n: ile kandydatów odpowiedzi generować jednocześnie.
  • stream: czy włączyć odpowiedzi strumieniowe, domyślnie false.
  • stop: niestandardowa sekwencja zatrzymania.
Poniżej znajduje się najprostszy przykład wywołania w Pythonie:
Po wywołaniu zauważamy, że zwrócony wynik wygląda następująco:
Opis głównych pól zwróconego wyniku jest następujący:
  • id: unikalny identyfikator zadania dialogowego.
  • created: czas utworzenia zadania dialogowego (znacznik czasu Unix, sekundy).
  • model: nazwa rzeczywiście wywołanego modelu GLM.
  • choices: lista odpowiedzi wygenerowanych przez model. choices[i].message.content to konkretny tekst odpowiedzi modelu, finish_reason oznacza powód zakończenia (np. stop, length, tool_calls, content_filter itp.).
  • usage: statystyki użycia tokenów w tym żądaniu, zawierające prompt_tokens, completion_tokens, total_tokens.

流式响应

Ten interfejs obsługuje odpowiedzi strumieniowe (Server-Sent Events), co jest bardzo przydatne w integracji z stronami internetowymi, umożliwiając wyświetlanie efektu literowego. Aby uzyskać odpowiedź strumieniową, wystarczy ustawić parametr stream w ciele żądania na true. Przykładowy kod wywołania w Pythonie:
Efekt wyjściowy wygląda następująco (fragment):
Można zauważyć, że odpowiedź zawiera wiele data, z których każda zawiera fragment inkrementalny. choices[i].delta.content to aktualnie dodany fragment tekstu, który można połączyć, aby utworzyć pełną odpowiedź. Gdy zawartość data to [DONE], oznacza to zakończenie odpowiedzi strumieniowej. Ostatni fragment z usage podsumowuje zużycie tokenów w tej prośbie. Przykład w JavaScript (Node.js):
Przykład kodu w Javie:
Inne języki można dostosować samodzielnie, zasada jest taka sama.

Wiele rund rozmowy

Jeśli chcesz zrealizować funkcję wielu rund rozmowy, musisz umieścić historię rozmowy w tablicy messages, zachowując naprzemienny porządek user i assistant. Przykład wywołania w Pythonie:
Przesyłając wiele pytań, można łatwo zrealizować wiele rund rozmowy, uzyskując następującą odpowiedź:
Można zauważyć, że informacje zawarte w choices są zgodne z podstawowym użyciem, model na podstawie pełnej historii rozmowy udziela odpowiedzi, co wspiera interakcję w kontekście wielu rund.

System Prompt

Można dodać wiadomość z role jako system na początku messages, aby ograniczyć rolę, styl lub zachowanie modelu:

Wywołanie funkcji

Model GLM obsługuje wywołania funkcji zgodne z OpenAI, można zadeklarować wywoływalne funkcje za pomocą parametru tools, model w razie potrzeby zwróci zorganizowane informacje o wywołaniu funkcji w choices[i].message.tool_calls.
Jeśli model zdecyduje się na wywołanie narzędzia, w zwróconym wyniku finish_reason zmieni się na tool_calls, a w message.tool_calls podane zostaną nazwa funkcji i parametry w formie JSON. Możesz wykonać tę funkcję i zwrócić wynik jako wiadomość z role jako tool do modelu, aby zakończyć pełną pętlę wywołania narzędzia.

Rekomendacje dotyczące wyboru modelu

Gdy zwróci api_error i wiadomość brzmi Usługa jest tymczasowo niedostępna, spróbuj ponownie później., zazwyczaj oznacza to, że usługa GLM jest tymczasowo niedostępna, zaleca się zastosowanie strategii z wykładniczym opóźnieniem lub przełączenie na inny dostępny model GLM (na przykład tymczasowe przełączenie z glm-5.1 na glm-4.7 lub glm-4.6).

Wnioski

Dzięki temu dokumentowi zrozumieliście, jak korzystać z API GLM Chat Completion do wywoływania modeli serii GLM od Zhipu AI, w tym podstawowe wywołania, odpowiedzi strumieniowe, wieloetapowe dialogi, systemowe podpowiedzi i wywołania narzędzi. Mamy nadzieję, że ten dokument pomoże Wam lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, prosimy o kontakt z naszym zespołem wsparcia technicznego.