Dokumentacja API
Wklej istniejący kod kompatybilny z OpenAI do naszego endpointu. Ten przewodnik pokazuje, jak połączyć się, uwierzytelnić i przesyłać strumieniowo odpowiedzi bez dodatkowego nakładu konfiguracji.
Uwierzytelnianie & URL bazowy
Zacznij od wskazania klienta na właściwy adres bazowy. Akceptujemy standardowe nagłówki OpenAI dla kompatybilności. Twój klucz API trafi do nagłówka Authorization jako token bearer. Przekaż go bezpośrednio ze zmiennych środowiskowych, aby uniknąć hardkodowania sekretów. To rozwiązanie działa z dowolną biblioteką obsługującą protokół OpenAI.
Pierwsze żądanie
Wyślij proste uzupełnienie czatu, aby zweryfikować łączność. Użyj ID modelu "uncensored" do generowania tekstu. Punkt końcowy zwraca standardowy JSON z wyborami i metrykami użycia. Jeśli otrzymasz kod 401, sprawdź format klucza. Kod 402 oznacza niewystarczający stan konta zaliczkowego. Ten szybki test potwierdza, że integracja jest gotowa do ruchu produkcyjnego.
curl https://api.mistralbaseurl.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List installed python packages with versions"}]
}'
Integracja SDK Python
Skonfiguruj pakiet OpenAI dla Pythona, aby korzystał z naszego adresu URL bazowego. Ustaw jawnie klucz API i nazwę modelu. Przekaż swoje wiadomości jako listę słowników z kluczami role i content. Obiekt odpowiedzi zawiera wygenerowany tekst w choices[0].message.content. Obsługuj wyjątki w sposób zwięzły, aby przechwytywać błędy sieciowe lub limitów w trakcie wykonywania.
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralbaseurl.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Konfiguracja SDK Node.js
Zainicjuj klienta OpenAI, podając swój base URL i klucz. Zdefiniuj tablicę messages z rolami user i assistant. Wywołaj chat.completions.create z modelem uncensored. Odpowiedź zawiera wygenerowany tekst w pierwszej opcji. Użyj tego wzorca zarówno dla wywołań synchronicznych, jak i asynchronicznych w aplikacjach Node.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralbaseurl.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Odpowiedzi strumieniowe
Włącz strumieniowanie, ustawiając stream na true. API wysyła fragmenty danych w miarę ich generowania. Każdy fragment zawiera tekst delta, który możesz dołączyć do bufora. To podejście zmniejsza postrzeganą latencję przy długich wynikach. Monitoruj zużycie tokenów w ostatnim fragmencie, aby dokładnie śledzić rozliczenia.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Limity & Okno kontekstowe
Twoje konto obsługuje okno kontekstowe o pojemności 100,000 tokenów. Maksymalna długość odpowiedzi to 16,000 tokenów na żądanie. Możesz wysyłać 300 żądań na minutę. Jednocześnie może działać tylko 8 żądań. Żądania z ciałem przekraczającym 8 MB zakończą się niepowodzeniem. Wykorzystaj te limity do zaprojektowania logiki ponawiania prób. Błędy takie jak 429 wskazują na przekroczenie limitu szybkości. Odrzucenia nie zużywają kredytów.
Typowe pytania
Jaki jest bazowy URL mistral dla tego API?
Użyj HTTPS://api.mistralbaseurl.com/v1 jako bazowego adresu URL. Działa z dowolnym SDK kompatybilnym z OpenAI. Wskaż swój klient tam i ustaw model na uncensored.
Jak radzić sobie z błędami limitu szybkości 429?
Otrzymujesz błąd 429 przy przekroczeniu limitu 300 zapytań na minutę. Zaimplementuj wykładnicze opóźnienie ponownych prób w swoim kliencie. Spróbuj ponownie po okresie opóźnienia określonym w nagłówku retry-after.
Czy model bez cenzury obsługuje strumieniowanie?
Tak, ustaw stream na true w żądaniu. API wysyła EventSource z deltami tokenów. Parsuj te kawałki, aby aktualizować interfejs użytkownika w czasie rzeczywistym bez oczekiwania na pełne ukończenie.
Pobierz swój klucz API teraz
Zarejestruj się, pobierz klucz i zaktualizuj bazowy URL. To wszystko.