API codex OpenAI: Szybki start z Python
Ten przewodnik pokazuje, jak korzystać z LLM bez cenzury ze standardowymi SDK OpenAI poprzez nasze API kompatybilne z OpenAI. Możesz zacząć wysyłać żądania natychmiast, aktualizując URL bazowy i klucz API.
Zainstaluj oficjalne SDK
Użyj oficjalnego SDK, aby zapewnić kompatybilność z naszym API proxy OpenAI. Podejście to działa z każdą standardową biblioteką obsługującą protokół OpenAI.
- Zainstaluj pakiet za pomocą preferowanego menedżera pakietów.
- Upewnij się, instalację poprzez zaimportowanie biblioteki.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);
Ustaw swój URL bazowy i klucz
Wskaż klienta na punkt końcowy bramki openai, aby uzyskać dostęp do modelu AI bez cenzury. Zmień domyślny adres bazowy na nasz konkretny punkt końcowy.
- Ustaw klucz API w zmiennych środowiskowych.
- Skonfiguruj podstawowy adres URL na
https://api.openaicodexapi.com/v1.
To rozwiązanie zapewnia poprawne kierowanie żądań na nasze serwery bez modyfikowania istniejącej struktury kodu.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'
Wyślij swoje pierwsze żądanie
Wyślij proste uzupełnienie tekstu, aby przetestować połączenie. Użyj identyfikatora modelu uncensored dla żądania.
- Zdefiniuj treść wiadomości.
- Wykonaj żądanie.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);Odpowiedź zwraca wygenerowany tekst bezpośrednio.
Włącz Strumieniowanie i Tryb JSON
Strumieniuj odpowiedzi, aby zmniejszyć opóźnienia lub wymuś tryb JSON dla danych strukturalnych. Ustaw stream=true dla dostarczania tokenów w czasie rzeczywistym.
- Użyj
response_formatdla wyjścia JSON. - Obsłuż fragmenty w swoim kodzie.
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)curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'Strumieniowanie pomaga szybko wyświetlać częściowe wyniki.
Obsługa narzędzi i wywoływania funkcji
Zdefiniuj narzędzia w żądaniu, aby włączyć wywoływanie funkcji. Określ definicje narzędzi i pozwól modelowi zdecydować, kiedy ich użyć.
- Zdefiniuj schemat funkcji.
- Przeanalizuj wywołania narzędzi w odpowiedzi.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);Ta funkcja umożliwia integrację z systemami zewnętrznymi.
Limity, Błędy i Okno Kontekstu
Monitoruj swoje zużycie, aby uniknąć limitów lub błędów. Okno kontekstowe obsługuje łącznie 100 000 tokenów.
- Obsługuj błędy 401 dla nieprawidłowych kluczy.
- Obsłuż błędy 402 spowodowane niewystarczającymi środkami.
- Obsłuż błędy 429 dla limitów szybkości.
curl https://api.openaicodexapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Explain how prepaid billing works for this API."}]
}'from openai import OpenAI
client = OpenAI(base_url="https://api.openaicodexapi.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)import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicodexapi.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);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)FAQ
Czym jest API OpenAI Codex?
To API LLM bez cenzury, które jest zgodne z protokołem OpenAI. Możesz używać go ze standardowymi SDK, aktualizując podstawowy adres URL.
Jak radzić sobie z błędami?
Typowe błędy obejmują 401 dla nieprawidłowych kluczy, 402 dla braku kredytu oraz 429 dla limitów szybkości. Sprawdź saldo konta i ważność klucza.
Jaki jest rozmiar okna kontekstowego?
Okno kontekstowe wynosi 100,000 tokenów dla promptu i uzupełnienia łącznie. Maksymalna liczba tokenów wyjściowych to 16,000 na żądanie.
Pobierz swój klucz API
Zarejestruj się, skopiuj klucz i zaktualizuj URL bazowy. To wszystko.