OpenAI SDK
Klienci OpenAI w Pythonie i TypeScript, identyfikatory żądań i strumieniowanie.
Test zaliczony
2026-10-10. lokalne testy tekstu i strumieniowania. Wersje: Python 3.28.0; TypeScript 7.32.0.
Użyj SDK OpenAI, aby wywołać POST /v1/chat/completions. SDK wybiera format API, a identyfikator modelu wskazuje model, o który prosisz bramkę.
Zanim zaczniesz
Przejdź szybki start. Potrzebujesz środków na koncie, klucza bramki i identyfikatora skopiowanego z Marketplace. Zainstaluj Pythona lub Node.js, a następnie dodaj SDK do projektu.
python -m pip install openai==3.28.0Ustaw klucz i zastąp przykładowy model wybranym identyfikatorem. Nie zapisuj klucza w kodzie.
export UNUSED_API_KEY='sk-unused-...'
export UNUSED_MODEL='claude-sonnet-5-5'Wyślij żądanie
Zapisz wybrany przykład w projekcie. Bazowy URL zawiera /v1; użyj chat.completions.create, ponieważ bramka nie udostępnia Responses.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["UNUSED_API_KEY"],
base_url="https://unused.market/v1",
)
raw = client.chat.completions.with_raw_response.create(
model=os.environ["UNUSED_MODEL"],
messages=[{"role": "user", "content": "Say hello in one sentence."}],
max_tokens=64,
)
result = raw.parse()
print(result.choices[0].message.content)
print("x-request-id:", raw.headers.get("x-request-id"))
print("x-unused-listing:", raw.headers.get("x-unused-listing"))Uruchom plik w tym samym terminalu, w którym ustawisz zmienne.
python openai-example.pynpx tsx openai.mtsZobaczysz wygenerowany tekst, x-request-id i x-unused-listing wybranej oferty. Otwórz Analytics → Requests i znajdź nowe żądanie po czasie oraz modelu. Zachowaj identyfikator żądania na wypadek zgłoszenia problemu.
Odbierz odpowiedź strumieniowo
Zapisz plik ze strumieniowaniem i uruchom go tym samym poleceniem Pythona lub TypeScript, podając jego nazwę.
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["UNUSED_API_KEY"], base_url="https://unused.market/v1")
stream = client.chat.completions.create(
model=os.environ["UNUSED_MODEL"],
messages=[{"role": "user", "content": "Say hello in one sentence."}],
max_tokens=64,
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="", flush=True)
if chunk.usage:
print("\nusage:", chunk.usage)
print()Strumień może zakończyć się błędem już po przesłaniu tekstu. Obsłuż tę sytuację w aplikacji; bramka nie przenosi rozpoczętego strumienia do innej oferty.
Ograniczenia i rozwiązywanie problemów
Chat Completions odrzuca n inne niż 1, logprobs, top_logprobs, logit_bias, pola audio i wyjście w formacie innym niż tekst. Wybierz model i ofertę obsługujące funkcje używane w żądaniu.
| Objaw | Co sprawdzić |
|---|---|
| Błąd uwierzytelniania | W UNUSED_API_KEY podaj klucz unused.market. |
| Nie znaleziono endpointu | Sprawdź format bazowego URL powyżej. |
| Brak dostępnej oferty | Sprawdź Marketplace, Routing i modele dozwolone dla klucza. |
| Błąd kredytów lub budżetu klucza | Sprawdź Credits i miesięczny limit klucza; w razie potrzeby zmniejsz budżet odpowiedzi. |
Źródła i weryfikacja
Sprawdzono 2026-10-10: Python 3.28.0; TypeScript 7.32.0. Oficjalna dokumentacja SDK OpenAI. Lokalne testy obejmują tekst i strumieniowanie; nie potwierdzają obsługi wszystkich dostawców ani pełnej pracy agenta.