Adres bazowy i uwierzytelnianie
Zacznij od wskazania Twojemu klientowi kompatybilnemu z OpenAI adresu bazowego API Mimo. Otrzymasz klucz API natychmiast po zalogowaniu się za pomocą Google lub e-maila. Przekaż ten klucz w standardowym nagłówku Authorization. Identyfikator modelu to uncensored, który wykorzystuje model o otwartych wagach dostosowany do mniejszej liczby odrzuceń treści dla dorosłych.
W przeciwieństwie do usług subskrypcyjnych, rozliczenia są realizowane w systemie prepaid za pomocą kryptowalut. Błędy nie zużywają kredytu. Możesz zweryfikować łączność, wypisując modele lub wysyłając prosty prompt tekstowy. Chroń swój klucz; jeden klucz na konto zastępuje poprzedni po jego wygenerowaniu ponownie.
Standardowy endpoint Chat Completions
Wyślij standardowe zapytanie POST do endpointu chat completions. Ustaw model na uncensored i podaj swoje wiadomości w wymaganym formacie tablicy. API zwraca wynik tekstowy na podstawie Twojego promptu. Możesz dostosować parametry takie jak temperature lub top_p, aby kontrolować kreatywność.
curl https://api.mimoapi.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Ten endpoint obsługuje interakcje tekst-w-wejście, tekst-wy-ście. Nie obsługuje osadzania (embeddings), obrazów ani dostrajania (fine-tuning). Jeśli potrzebujesz tych funkcji, musisz skorzystać z innej usługi. Okno kontekstu pozwala na łącznie 100 000 tokenów dla promptu i uzupełnienia.
Integracja z Python SDK
Użyj oficjalnej biblioteki Python OpenAI do interakcji z API. Zmień adres bazowy, aby wskazywał na endpoint API Mimo. Pozwala to na użycie tych samych metod SDK, których używasz dla GPT-4 lub innych modeli. Ustaw klucz API i docelowy model w konfiguracji klienta.
from openai import OpenAI
client = OpenAI(base_url="https://api.mimoapi.top/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)To podejście zapewnia przenośność Twojego kodu. Jeśli zmienisz dostawcę, zmienisz tylko adres bazowy i klucz. Python SDK obsługuje serializację i ponawianie prób automatycznie. Możesz również ustawić parametr seed dla deterministycznych wyników.
Integracja z Node SDK
Zainstaluj pakiet OpenAI Node.js i skonfiguruj adres bazowy. Przekaż swój klucz API w obiekcie konfiguracji. Klient będzie kierować zapytania do endpointu modelu bez cenzury. Działa to zarówno z importami CommonJS, jak i modułami ES.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mimoapi.top/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);Programiści Node mogą korzystać z tych samych wzorców asynchronicznych, których używają z innymi usługami kompatybilnymi z OpenAI. SDK obsługuje parsowanie strumienia i kodowanie JSON. Możesz ustawić max_tokens, aby kontrolować długość odpowiedzi; domyślnie wynosi 2 048, jeśli nie zostanie określone.
Strumieniowanie odpowiedzi (SSE)
Włącz strumieniowanie, ustawiając stream: true w swoim zapytaniu. API zwraca zdarzenia wysyłane przez serwer (SSE) zawierające częściowe tokeny. Pozwala to na wyświetlanie wyniku postępująco użytkownikom. Statystyki zużycia tokenów pojawiają się w ostatnim fragmencie strumienia.
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)Strumieniowanie zmniejsza postrzeganą latencję dla długich odpowiedzi. Musisz obsłużyć zdarzenia strumienia w kodzie klienta. API nie gwarantuje dokładnych liczb tokenów podczas strumieniowania, ale ostatni fragment zawiera dokładne dane o zużyciu. Jest to przydatne dla przejrzystości rozliczeń.
Limity zapytań, błędy i tryb JSON
API narzuca limit 300 zapytań na minutę na klucz i pozwala na 8 równoległych zapytań. Jeśli przekroczysz ten limit, otrzymasz błąd 429. Błąd 401 oznacza nieprawidłowy lub wygasły klucz. Przedpłacony kredyt jest rozliczany wyłącznie za rzeczywiste zużycie tokenów; błędy i odrzucenia są darmowe.
Dla wyniku strukturalnego użyj trybu JSON, ustawiając response_format na json_object. To wymusza na modelu zwrócenie poprawnego JSON. Jest to przydatne do wywoływania funkcji lub ekstrakcji danych. Okno kontekstu obsługuje do 32 000 tokenów wyniku na zapytanie.