Przewodnik integracji API Mistral
Przeniesienie integracji w stylu Mistral na nowy bazowy URL wymaga mniej pracy, niż większość zespołów się spodziewa. Ten przewodnik obejmuje zmianę bazowego URL, identyfikatora modelu, strumieniowania, narzędzi, limitów tokenów, ponownych prób i błędów, które najprawdopodobniej napotkasz, z kodem, który możesz uruchomić bez modyfikacji.
Ostatnia aktualizacja
Podsumowanie
- Zmiana polega na jednym bazowym URL i jednym kluczu; format żądania i odpowiedzi pozostaje taki sam.
- Użyj identyfikatora modelu uncensored i sprawdź go za pomocą jednego żądania testowego przed wprowadzeniem innych zmian.
- Strumieniowanie i wywoływanie funkcji działają przez ten sam endpoint completions czatu, więc istniejące parsery nadal działają.
- Koszty wynoszą $0.15 za 1M tokenów wejściowych i $0.50 za 1M tokenów wyjściowych, rozliczane z kredytu zaliczkowego.
Zrozumienie zmiany adresu bazowego
Twój kod wysyła żądania do bazowego adresu URL i dołącza klucz. Aby przejść na inny endpoint kompatybilny z OpenAI, zmieniasz tylko te dwie wartości i nic więcej. Ścieżka /v1/chat/completions pozostaje bez zmian, więc ciało żądania i ciało odpowiedzi zachowują swój kształt.
Utrzymaj stary URL bazowy w wartości konfiguracyjnej, a nie w kodzie. W ten sposób możesz wrócić do niego jednym krokiem, jeśli problem pojawi się w produkcji.
Kompatybilność SDK: Klienci OpenAI vs Mistral
Większość bibliotek klienckich akceptuje niestandardowy adres bazowy. Oficjalne SDK OpenAI, LangChain i LlamaIndex wszystkie to obsługują, a zwykły klient HTTP również działa. Ustaw adres bazowy na https://mistralapibaseurl.com/v1 i przekaż nowy klucz.
- Sprawdź wersję SDK, ponieważ bardzo stare wydania ignorują ustawienie bazowego adresu URL.
- Sprawdź, czy klient wysyła klucz w
Authorizationnagłówek jako token Bearer.
Konfigurowanie identyfikatora modelu
Wyślij ID modelu uncensored. Jest to jedyny model oferowany przez usługę, więc identyfikator nie zmienia się między żądaniami i nie potrzebujesz logiki wyboru modelu.
Uruchamiaj jedno żądanie z krótkim promptem. Odpowiedź i blok użycia oznaczają, że bazowy URL, klucz i id modelu są poprawne.
Implementacja odpowiedzi strumieniowych
Ustaw stream: true otrzymywania odpowiedzi jako zdarzenia wysyłane przez serwer. Każde zdarzenie zawiera mały fragment tekstu, a ostatnie zdarzenie zawiera liczby dotyczące zużycia.
Pokazuj chunki w miarę ich przybywania i przechowuj pełny tekst w buforze, tak aby wiadomość była zapisana po zakończeniu strumienia. Zmierz czas do pierwszego tokena; ta wartość pokazuje, jak responsywny czat jest dla użytkownika.
Włączanie Wywoływania Funkcji i Narzędzi
Przekaż tablicę tools w tym samym formacie, którego już używasz. Model zwraca wywołanie narzędzia z nazwą funkcji i argumentami JSON. Uruchom funkcję w swoim kodzie, wyślij wynik z powrotem jako wiadomość narzędzia i przeczytaj ostateczną odpowiedź.
- Zdefiniuj jedno narzędzie z dwoma wymaganymi argumentami i przetestuj je samodzielnie.
- Przetestuj przypadek, w którym wymagane są dwa wywołania narzędzi w sekwencji.
- Zweryfikuj argumenty przed uruchomieniem czegokolwiek, co zmienia dane.
Zarządzanie oknami kontekstowymi i tokenami
Okno kontekstowe wynosi 100 000 tokenów. Długie rozmowy wypełniają okno kontekstowe, więc skróć stare zwroty lub podsumuj je przed osiągnięciem limitu. Każde żądanie może zwrócić do 16 000 tokenów wyjściowych, a domyślna wartość to 2 048, więc ustaw max_tokens dla odpowiedzi, których oczekujesz.
Policz tokeny z pola usage każdej odpowiedzi. Szacunki oparte na liczbie słów często odbiegają od rzeczywistości w dużym stopniu w przypadku kodu i tekstów w językach innych niż angielski.
Obsługa limitów szybkości i ponownych prób
Każdy klucz pozwala na 300 żądań na minutę i 8 żądań jednocześnie. Po przekroczeniu limitu otrzymujesz odpowiedź 429. Ponawiaj tylko odpowiedzi 429 i 5xx, stosując wykładnicze opóźnienie z limitem całkowitego czasu oczekiwania.
Nigdy nie powtarzaj żądania 400 lub 401, ponieważ to samo żądanie zakończy się tym samym błędem. Najpierw napraw żądanie lub klucz.
Debugowanie powszechnych błędów API
| Status | Zazwyczaj przyczyna | Co zrobić |
|---|---|---|
| 400 | Nieprawidłowy JSON lub nieznane pole | Sprawdź ciało żądania pod kątem formatu, który wysyłasz |
| 401 | Brakujący lub nieprawidłowy klucz | Skopiuj ponownie klucz i sprawdź nagłówek Authorization |
| 402 | Kredyt wyczerpany | Doładuj saldo; minimalna kwota doładowania to $20. |
| 429 | Osiągnięto limit zapytań | Poczekaj i spróbuj ponownie później |
Zaloguj kod stanu i identyfikator żądania dla każdej awarii, aby szybko zlokalizować problem.
Migracja z API konkurencji
Zaplanuj przenosinę w trzech etapach: środowisko testowe, mała część ruchu produkcyjnego, a następnie pełne przełączenie. Utrzymuj oba podstawowe adresy URL w konfiguracji podczas środkowego etapu i porównuj odpowiedzi oraz opóźnienia przy tych samych promptach.
Porównaj koszty na podstawie własnego zużycia, a nie cen katalogowych. Pomnóż liczbę tokenów wejściowych i wyjściowych z pola zużycia przez $0.15 i $0.50 za 1M tokenów i porównaj to z obecną fakturą.
Typowe pytania
Czy muszę zmienić format żądania?
Nie. Endpoint jest zgodny z formatem chat completions, więc te same struktury wiadomości i narzędzi działają. Zmienia się tylko bazowy URL i klucz.
Jaki identyfikator modelu powinienem użyć?
Używaj uncensored. To jedyny model w usłudze, więc id pozostaje takie samo w każdym żądaniu.
Jak uzyskać klucz do przetestowania?
Zarejestruj się za pomocą Google lub podaj e-mail i hasło. Klucz pojawia się na ekranie, a konto rozpoczyna się od $0.50 kredytu próbnej ważnego przez 7 dni. Nie jest potrzebna karta.
Jak zapłacić za użycie?
Doładuj za pomocą USDT na TRC20 lub USDC na Base, zaczynając od $20. Bonus naliczany jest od $50, a środki nie wygasają.
Uzyskaj swój klucz
Zarejestruj się, pobierz klucz i zaktualizuj bazowy URL. To cały proces.