Základní informace
- Společnost OpenAI uvedla na trh ChatGPT API, které umožňuje vývojářům integrovat schopnosti ChatGPT do svých aplikací.
- Pro zahájení práce je nezbytný API klíč od OpenAI a vývojové prostředí s nainstalovanými oficiálními knihovnami.
- ChatGPT API lze využít jak pro tvorbu konverzací, tak pro generování textu, čímž se otevírají nové možnosti pro různé aplikace.
Díky vydání svého API zpřístupnila OpenAI možnosti ChatGPT široké veřejnosti. Nyní je snadné začlenit funkce ChatGPT do jakékoli aplikace.
Ať už se chystáte integrovat ChatGPT do stávající aplikace, nebo vyvíjet zcela nové řešení, postupujte podle následujících kroků.
1. Získání API klíče OpenAI
Pro používání ChatGPT API je nutné získat API klíč.
- Zaregistrujte se nebo se přihlaste na oficiální platformě OpenAI.
- Po přihlášení klikněte v levém panelu na záložku API klíče.
- Následně kliknutím na tlačítko „Vytvořit nový tajný klíč“ vygenerujte svůj API klíč.
- Vzhledem k tomu, že klíč nelze znovu zobrazit, zkopírujte ho a uložte na bezpečné místo.
Kód použitý v tomto projektu je dostupný v
úložišti GitHub
a je možné ho využívat zdarma pod licencí MIT.
2. Nastavení vývojového prostředí
Můžete buď přímo využít API endpoint, nebo využít knihovny OpenAI pro Python/JavaScript a začít tvořit aplikace poháněné ChatGPT API. V tomto návodu je použit Python a knihovna openai-python.
Postupujte následovně:
- Vytvořte virtuální prostředí v Pythonu.
- Nainstalujte knihovny openai a python-dotenv pomocí pip:
pip install openai python-dotenv
- V kořenovém adresáři projektu vytvořte soubor .env, kam bezpečně uložíte svůj API klíč.
- V tomto souboru nastavte proměnnou OPENAI_API_KEY na hodnotu vašeho zkopírovaného klíče:
OPENAI_API_KEY="VAŠ_API_KLÍČ"
Dbejte na to, aby váš API klíč nebyl nechtěně sdílen v rámci správy verzí.
Vytvořte v kořenovém adresáři projektu soubor .gitignore a přidejte do něj „.env“, čímž zabráníte sledování souboru s klíčem.
3. Vytváření požadavků na ChatGPT API
OpenAI API využívající modely GPT-3.5 Turbo, GPT-4 a GPT-4 Turbo jsou stejné modely, které pohání ChatGPT. Tyto výkonné modely dokážou porozumět a generovat text i kód v přirozeném jazyce. Model GPT-4 Turbo dokáže navíc zpracovávat i obrazové vstupy, což otevírá dveře k mnoha využitím, včetně analýzy obrázků, dokumentů s obrázky a přepisování textu z obrázků.
Je důležité si uvědomit, že ChatGPT API je obecný termín, který odkazuje na OpenAI API využívající modely GPT, včetně gpt-3.5-turbo, gpt-4 a gpt-4-turbo.
ChatGPT API je primárně optimalizováno pro chat, avšak velmi dobře se hodí i pro úlohy dokončování textu. Ať už potřebujete generovat kód, překládat jazyky nebo vytvářet návrhy dokumentů, toto API si poradí s různými úkoly.
Pro přístup k GPT-4 API je nutné provést úspěšnou platbu ve výši minimálně 1 $. V opačném případě se může objevit chyba typu „Model „gpt-4“ neexistuje nebo k němu nemáte přístup.“
Použití API pro vytváření konverzací
Pro volání API je třeba nakonfigurovat model chatu. Zde je příklad:
from openai import OpenAI
from dotenv import load_dotenvload_dotenv()
client = OpenAI()response = client.chat.completions.create(
model = "gpt-3.5-turbo-0125",
temperature = 0.8,
max_tokens = 3000,
response_format={ "type": "json_object" },
messages = [
{"role": "system", "content": "Jsi vtipný komik, který vypráví tatínkovské vtipy. Výstup by měl být ve formátu JSON."},
{"role": "user", "content": "Napiš tatínkovský vtip týkající se čísel."},
{"role": "assistant", "content": "Otázka: Jak uděláš z čísla 7 sudé číslo? Odpověď: Odeber písmenko 's'."},
{"role": "user", "content": "Napiš jeden vtip o programátorech."}
]
)
ChatGPT API vrátí odpověď v následujícím formátu:
Obsah z odpovědi lze extrahovat jako JSON řetězec pomocí tohoto kódu:
print(response.choices[0].message.content)
Výsledkem spuštění tohoto kódu bude následující výstup:
Tento kód ukazuje, jak volat ChatGPT API pomocí Pythonu. Všimněte si, že model porozuměl kontextu („tatínkovský vtip“) a formě odpovědi (otázka a odpověď) na základě poskytnutých instrukcí.
Nejdůležitější součástí konfigurace je parametr „messages“, který přijímá pole objektů se zprávami. Každý objekt zprávy obsahuje roli a obsah. K dispozici jsou tři typy rolí:
- systém, který nastavuje kontext a chování asistenta.
- uživatel, který zadává asistentovi instrukce. Obvykle to zadává koncový uživatel, ale můžete také poskytnout některé výchozí uživatelské výzvy.
- asistent, který může obsahovat příklady odpovědí.
Pro ovlivnění výstupu můžete dále upravit parametry teploty a max_tokens.
Čím vyšší je teplota, tím náhodnější je výstup a naopak. Pokud chcete, aby byly odpovědi cílenější a deterministické, zvolte nižší hodnotu teploty. Pokud naopak chcete větší kreativitu, použijte vyšší hodnotu. Hodnota teploty se pohybuje mezi 0 a 2.
Podobně jako u ChatGPT, má i API limit na počet slov. Parametrem max_tokens omezíte délku odpovědí. Mějte na paměti, že nastavení příliš nízké hodnoty max_tokens může způsobit problémy, protože výstup se může useknout uprostřed.
V době psaní tohoto článku má model gpt-3.5-turbo limit 4 096 tokenů, zatímco gpt-4 disponuje 8 192 tokeny. Nejnovější modely gpt-3.5-turbo-0125 a gpt-4-turbo-preview mají limity 16 385, respektive 128 000 tokenů.
Na základě velkého zájmu vývojářů zavedla OpenAI JSON režim, který modelu říká, aby vždy vracel objekt JSON. Režim JSON můžete povolit nastavením response_format na { „type“: „json_object“ }. V současnosti je tato funkce dostupná pouze pro nejnovější modely: gpt-3.5-turbo-0125 a gpt-4-turbo-preview.
Model můžete dále konfigurovat pomocí dalších parametrů, které poskytuje OpenAI.
Použití ChatGPT API pro dokončování textu
Kromě konverzačních úloh s více odbočkami si rozhraní Chat Completions API (ChatGPT API) dobře vede i v úkolech dokončování textu. Následující příklad ukazuje, jak lze nakonfigurovat ChatGPT API pro dokončování textu:
from openai import OpenAI
from dotenv import load_dotenvload_dotenv()
client = OpenAI()response = client.chat.completions.create(
model = "gpt-3.5-turbo",
temperature = 0.8,
max_tokens = 3000,
messages = [
{"role": "system", "content": "Jsi básník, který píše básně vyvolávající emoce."},
{"role": "user", "content": "Napiš krátkou báseň pro programátory."}
]
)print(response.choices[0].message.content)
Není ani nutné zadávat systémovou roli a její obsah. Samotné zadání uživatelské výzvy vám postačí.
messages = [
{"role": "user", "content": "Napiš krátkou báseň pro programátory."}
]
Spuštění uvedeného kódu vygeneruje báseň pro programátory, například:
Ceny ChatGPT API
Cena ChatGPT API se vypočítává na základě modelu „cena za 1 000 tokenů“. U požadavků na dokončení chatu se cena určí podle počtu vstupních a výstupních tokenů vrácených z API. Jednoduše řečeno, tokeny se rovnají fragmentům slov, kde 1 000 tokenů odpovídá přibližně 750 slovům.
Model |
Vstup |
Výstup |
gpt-4-0125-preview |
0,01 $ / 1 000 tokenů |
0,03 $ / 1 000 tokenů |
gpt-4-1106-preview |
0,01 $ / 1 000 tokenů |
0,03 $ / 1 000 tokenů |
gpt-4-1106-vision-preview |
0,01 $ / 1 000 tokenů |
0,03 $ / 1 000 tokenů |
gpt-4 |
0,03 $ / 1 000 tokenů |
0,06 $ / 1 000 tokenů |
gpt-4-32k |
0,06 $ / 1 000 tokenů |
0,12 $ / 1 000 tokenů |
gpt-3.5-turbo-0125 |
0,0005 $ / 1 000 tokenů |
0,0015 $ / 1 000 tokenů |
gpt-3.5-turbo-instruct |
0,0015 $ / 1 000 tokenů |
0,0020 $ / 1 000 tokenů |
Je třeba vzít na vědomí, že se ceny mohou v průběhu času měnit s vývojem modelů.
Vytvářejte aplikace nové generace s využitím ChatGPT API
ChatGPT API otevřelo vývojářům po celém světě dveře k vytváření inovativních produktů poháněných silou umělé inteligence.
Tento nástroj můžete využít k vývoji aplikací pro tvorbu příběhů, překladu kódu, generování marketingových textů nebo shrnování dokumentů. Vaše kreativita je jediným limitem pro vytváření aplikací pomocí této technologie.