Bazowy URL i autoryzacja
Podstawowy adres URL dla wszystkich żądań to https://api.veniceaiapipricing.com/v1. Uwierzytelniasz się, przekazując swój klucz API w Authorization nagłówek jako token Bearer. To rozwiązanie działa z dowolnym standardowym SDK OpenAI. Zastąp YOUR_API_KEY kluczem wygenerowanym w panelu konta.
- Punkt końcowy:
POST /v1/chat/completions - Nagłówek:
Authorization: Bearer YOUR_API_KEY
curl https://api.veniceaiapipricing.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return server status code 200"}]
}'
Endpoint /v1/chat/completions
Wyślij historię rozmowy do /v1/chat/completions za pomocą uncensored ID modelu. API akceptuje standardowe obiekty wiadomości z role i content pola. Tokeny wejściowe kosztują $0.15 za milion, a tokeny wyjściowe kosztują $0.50 za milion. Błędy i odrzucenia nie zużywają kredytu.
Ten endpoint obsługuje generowanie wyłącznie tekstu. Nie obsługuje obrazów, audio ani osadzania (embeddings). Możesz strumieniować odpowiedzi lub pobrać pełny tekst w jednym obiekcie JSON.
from openai import OpenAI
client = OpenAI(base_url="https://api.veniceaiapipricing.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 (SSE)
Włącz strumieniowanie, ustawiając stream: true w ciele żądania. API zwraca zdarzenia wysłane przez serwer (SSE) dla każdego wygenerowanego tokena. Ostatni fragment zawiera statystyki całkowitego użycia tokenów. Ta metoda redukuje postrzeganą opóźnienie dla długich odpowiedzi.
Obsługa strumieni jest kluczowa dla aplikacji w czasie rzeczywistym. Możesz przetwarzać tokeny w miarę ich przybywania, zamiast czekać na pełne zakończenie.
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
API obsługuje dane strukturalne i definicje narzędzi. Użyj response_format: {"type": "json_object"} aby wymusić wynik JSON. Możesz również przekazać tools dla wywoływania funkcji, pozwalając modelowi na zwracanie danych strukturalnych dla logiki Twojej aplikacji.
Ta funkcja jest przydatna do ekstrakcji danych lub wywoływania akcji. Model zwraca wywołania narzędzi w standaryzowanym formacie. Możesz następnie wykonać swoje funkcje i przekazać wyniki z powrotem do rozmowy.
Parametry: Temperatura, Top P, Seeds
Kontroluj kreatywność za pomocą temperature i top_p. API seed parameter zapewnia deterministyczne wyniki do testowania. Te parametry podążają za standardowymi konwencjami OpenAI. Ich dostosowanie wpływa na losowość generowanego tekstu.
Ustaw temperature to 0.7 for balanced creativity. Use seed dla odtwarzalnych wyników. API ignoruje nieobsługiwane parametry w sposób nieinwazyjny.
Limity szybkości i ograniczenia
Przydzielono Ci limit 300 żądań na minutę na klucz. Maksymalnie dozwolone są 8 jednoczesnych żądań na klucz. Rozmiar ciała żądania jest ograniczony do 8 MB. Okno kontekstowe wynosi 100 000 tokenów łącznie dla danych wejściowych i wyjściowych. Maksymalna liczba tokenów wyjściowych na żądanie to 16 000.
Przekroczenie tych limitów zwraca błąd 429. Upewnij się, że Twój klient odpowiednio obsługuje ponawianie. Klucz API jest unikalny dla każdego konta; wygenerowanie nowego klucza zastępuje stary.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.veniceaiapipricing.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);