Tutoriál použití Chat GPT API

CahtGPT API Promt Engeneering

Na tomto místě se dozvíte:

Chat GPT API OpenAI je revoluční nástroj pro vytváření konverzační umělé inteligence. Využívá zpracování přirozeného jazyka (NLP) k pochopení a generování lidských odpovědí, takže je ideální pro vytváření chatbotů, virtuálních asistentů a dalších konverzačních aplikací. Toto jsou informace z webu Open.AI:

Úvod

V tomto tutoriálu pro rychlý start vytvoříte jednoduchou ukázkovou aplikaci. Během toho se naučíte klíčové koncepty a techniky, které jsou zásadní pro použití API pro jakýkoli úkol, včetně:

  • Generování obsahu
  • Shrnutí
  • Klasifikace, kategorizace a analýza sentimentu
  • Extrakce dat
  • Překlad
  • a mnoho dalšího

Výzva (Promt)
Napište slogan pro obchod se zmrzlinou.

Dokončení
Naservírujeme úsměvy s každým kopečkem!

Model zpracuje vaši textovou výzvu a snaží se předpovědět, co bude s největší pravděpodobností následovat.

1.  Začněte pokynem

Představte si, že chcete vytvořit generátor jmen domácích mazlíčků. Vymýšlet jména od začátku je těžké!

Nejprve budete potřebovat výzvu, která objasní, co chcete. Začněme návodem. Odešlete tuto výzvu k vygenerování prvního dokončení.

Není špatné! Nyní zkuste svůj pokyn upřesnit.

Jak vidíte, přidání jednoduchého přídavného jména do naší výzvy změní výsledné dokončení. Návrh výzvy je v podstatě způsob, jakým „naprogramujete“ model.

2. Přidejte několik příkladů

Vytvořit dobré pokyny je důležité pro dosažení dobrých výsledků, ale někdy to nestačí. Zkusme udělat váš návod ještě složitější.

Toto dokončení není úplně to, co chceme. Tato jména jsou docela obecná a zdá se, že model nezachytil koňskou část našich pokynů. Podívejme se, jestli se nám to podaří přivést k nějakým relevantním návrhům.

V mnoha případech je užitečné ukázat a říct model, co chcete. Přidání příkladů do výzvy může pomoci sdělit vzory nebo nuance. Zkuste odeslat tuto žádost, která obsahuje několik příkladů.

Pěkný! Přidání příkladů výstupu, který bychom očekávali pro daný vstup, pomohlo modelu poznat typy názvů, které jsme hledali.

3. Upravte svá nastavení

Rychlý návrh není jediným nástrojem, který máte k dispozici. Úpravou nastavení můžete také ovládat dokončení. Jedno z nejdůležitějších nastavení se nazývá teplota. Anglicky temperature

Možná jste si všimli, že pokud jste ve výše uvedených příkladech odeslali stejnou výzvu vícekrát, model by vždy vrátil identická nebo velmi podobná dokončení. Je to proto, že vaše teplota byla nastavena na 0.

Zkuste znovu odeslat stejnou výzvu několikrát s teplotou nastavenou na 1.

Nebo jiný příklad.

Vidíš, co se stalo? Když je teplota nad 0, odeslání stejné výzvy má za následek pokaždé jiná dokončení.

Pamatujte, že model předpovídá, který text bude s největší pravděpodobností následovat text předcházející. Teplota je hodnota mezi 0 a 1, která vám v podstatě umožňuje řídit, jak jistý by měl být model při vytváření těchto předpovědí. Snížení teploty znamená méně rizik a dokončení bude přesnější a determinističtější. Zvýšení teploty bude mít za následek rozmanitější dokončení.

Pro generátor jmen domácích mazlíčků je lepší možnost generovat spoustu nápadů na jména. Mírná teplota 0,6 by měla fungovat dobře.

4. Sestavte si aplikaci

Setup (NODE.JS)

Pokud nemáte nainstalovaný Node.js, nainstalujte jej odtud. Poté si stáhněte kód klonováním tohoto úložiště.

Pokud nechcete používat git, můžete si kód alternativně stáhnout pomocí tohoto souboru zip.

Spuštěním následujících příkazů v adresáři projektu nainstalujte závislosti a spusťte aplikaci.
Přidejte svůj klíč API

Přejděte do adresáře projektu a vytvořte kopii vzorového souboru proměnných prostředí.

cd openai-quickstart-node
cp .env.example .env

Zkopírujte svůj tajný klíč API a nastavte jej jako OPENAI_API_KEY v nově vytvořeném souboru .env. Pokud jste ještě nevytvořili tajný klíč, můžete tak učinit níže.

v současné době nemáte žádné klíče API. Níže prosím vytvořte jeden.
+

Důležitá poznámka: Při použití Javascriptu by všechna volání API měla být prováděna pouze na straně serveru, protože volání v kódu prohlížeče na straně klienta odhalí váš klíč API.

Spusťte aplikaci

Spuštěním následujících příkazů v adresáři projektu nainstalujte závislosti a spusťte aplikaci.

npm install
npm run dev

Otevřete ve svém prohlížeči http://localhost:3000 a měli byste vidět generátor jmen domácích mazlíčků! 

Pochopte kód

Otevřete soubor create.js ve složce openai-quickstart-node/pages/api. V dolní části uvidíte funkci, která generuje výzvu, kterou jsme použili výše. Protože uživatelé budou zadávat typ zvířete, jakým je jejich mazlíček, dynamicky zamění část výzvy, která zvíře specifikuje.

function generatePrompt(animal) {
const capitalizedAnimal = animal[0].toUpperCase() + animal.slice(1).toLowerCase();
return `Suggest three names for an animal that is a superhero.

Animal: Cat
Names: Captain Sharpclaw, Agent Fluffball, The Incredible Feline
Animal: Dog
Names: Ruff the Protector, Wonder Canine, Sir Barks-a-Lot
Animal: ${capitalizedAnimal}
Names:`;
}

Na řádku 9 v create.js uvidíte kód, který odešle skutečný požadavek API. Jak je uvedeno výše, používá koncový bod dokončení s teplotou 0,6.

const completion = await openai.createCompletion({
model: „text-davinci-003“,
prompt: generatePrompt(req.body.animal),
temperature: 0.6,
});

A to je vše! Nyní byste měli plně rozumět tomu, jak váš (superhrdinský) generátor jmen domácích mazlíčků používá OpenAI API!

Závěr

Tyto koncepty a techniky vám pomohou vytvořit si vlastní aplikaci. To znamená, že tento jednoduchý příklad ukazuje jen zlomek toho, co je možné! Koncový bod dokončení je dostatečně flexibilní, aby vyřešil prakticky jakýkoli úkol zpracování jazyka, včetně generování obsahu, sumarizace, sémantického vyhledávání, označování témat, analýzy sentimentu a ještě mnohem více.

Jedním omezením, které je třeba mít na paměti, je, že u většiny modelů může jeden požadavek API zpracovat pouze 2 048 tokenů (zhruba 1 500 slov) mezi výzvou a dokončením.

U pokročilejších úloh si možná budete přát, abyste mohli poskytnout více příkladů nebo kontextu, než se vejde do jediné výzvy. Rozhraní API pro jemné ladění je skvělou volbou pro pokročilejší úkoly, jako je tento. Jemné ladění vám umožní poskytnout stovky nebo dokonce tisíce příkladů pro přizpůsobení modelu pro váš konkrétní případ použití.

Další kroky

Chcete-li se inspirovat a dozvědět se více o navrhování výzev pro různé úkoly: