Uwierzytelnianie i URL bazowy
Zacznij od ustawienia adresu bazowego i klucza API w środowisku. Nasze API działa pod adresem HTTPS://api.aiwithnofilter.com/v1 i akceptuje dowolnego klienta kompatybilnego z OpenAI. Wygeneruj klucz na panelu za pomocą Google lub e-maila, a następnie przekaż go jako token nośnika. Zapewnia to poprawne uwierzytelnianie każdego żądania bez dodatkowych nagłówków.
curl https://api.aiwithnofilter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "generate a python function to parse json logs"}]
}'
Wysyłanie pierwszej kompozycji
Wykonaj żądanie POST do /v1/chat/completions z id modelu "uncensored". Wyślij swój prompt systemowy i wiadomości użytkownika w standardowym formacie JSON. API zwraca natychmiastową odpowiedź tekstową, gotową do logiki Twojej aplikacji. Działa to do gry w role, twórczego pisania lub dowolnego zadania generowania tekstu bez ograniczeń.
from openai import OpenAI
client = OpenAI(base_url="https://api.aiwithnofilter.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)
Odpowiedzi strumieniowe z SSE
Włącz strumieniowanie, ustawiając stream na true w ciele żądania. API wysyła zdarzenia wysyłane przez serwer (SSE) w miarę generowania tokenów, pozwalając na wyświetlanie w czasie rzeczywistym. Każdy fragment zawiera częściowy tekst, a dane o zużyciu w ostatnim zdarzeniu. Zmniejsza to postrzeganą latencję dla użytkowników oczekujących na długie outputy.
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)
Wywoływanie funkcji i tryb JSON
Użyj parametru tools do zdefiniowania funkcji, które model może wywołać. Przekaż tool_choice, aby wymusić określone zachowanie lub pozwól modelowi zdecydować. Włącz tryb JSON z response_format ustawionym na json_object dla ścisłej zgodności ze schematem. Zapewnia to strukturalne dane wyjściowe dla niezawadnej integracji z usługami backendowymi.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.aiwithnofilter.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);
Parametry: Temperatura, Top P, Seed
Kontroluj kreatywność za pomocą temperature i różnorodność za pomocą top_p. Użyj seed dla odtwarzalnych wyników podczas debugowania. Ustaw sekwencje stop, aby zatrzymać generowanie w określonych znacznikach. Te parametry dają Ci precyzyjną kontrolę nad zachowaniem modelu bez konieczności przełączania modeli.
Obowiązuje limit 300 żądań na minutę.
Zrozumienie zużycia tokenów i limitów
Twój kontekst wynosi 100 000 tokenów łącznie, obejmując prompt i uzupełnienie. Maksymalna długość odpowiedzi na żądanie wynosi 16 000 tokenów, chyba że określisz inaczej. Błędy i odrzucenia nie zużywają tokenów, więc płacisz tylko za faktyczne użycie. Obsługuj błędy 401 dla nieprawidłowych kluczy, 402 za niewystarczające środki oraz 429 za przekroczenie limitu szybkości w sposób elegancki.
Kredyt nie wygasa, zapewniając brak marnowania środków.