Práce s dokončováním textu v Azure OpenAI

Dokončeno

Modely GPT-35-Turbo a GPT-4 jsou jazykové modely optimalizované pro konverzační rozhraní. Modely se chovají jinak než starší modely GPT-3. Předchozí modely byly textové a textové, což znamená, že přijali řetězec výzvy a vrátili dokončení, aby se připojily k příkazovému řádku, jak jste se právě dozvěděli.

Modely GPT-35-Turbo a GPT-4 jsou však konverzační a zprávy ven. Modely očekávají vstup formátovaný v konkrétním formátu přepisu podobném chatu a vrátí dokončení, které představuje modelem napsanou zprávu v chatu.

GPT-35-Turbo a GPT-4 mohou stále přijímat a generovat dokončování textu, ale tam, kde svítí, je chat.

V Azure OpenAI existují dvě různé možnosti pro interakci s těmito typy modelů:

  • Rozhraní API pro dokončování chatu
  • Rozhraní API pro dokončování s využitím jazyka Chat Markup Language (ChatML).

Rozhraní API pro dokončování chatu je nové vyhrazené rozhraní API pro interakci s modely GPT-35-Turbo a GPT-4 a my ho použijeme při práci se zde.

Principy rolí rozhraní API pro dokončování chatu

OpenAI vytrénoval modely GPT-35-Turbo a GPT-4 tak, aby přijímal vstupy formátované jako konverzace. Každý vstup nebo výzva odeslaná do modelu a každá odpověď vrácená modelem se přidá do celkové konverzace v rozhraní API pro dokončování chatu.

Rozhraní API pro dokončování chatu odkazuje na příchozí výzvy a odchozí odpovědi jako zprávy.

Model přijímá pole objektů zpráv s konverzací uspořádanou podle rolí. Existují tři typy rolí: Systém, Uživatel a Asistent.

Role Systému

Systémová role označovaná také jako systémová zpráva je zahrnuta na začátku pole. Tato zpráva obsahuje počáteční pokyny k modelu. V systémové roli můžete zadat různé informace, mezi které patří:

  • Stručný popis asistenta
  • Osobnostní vlastnosti asistenta
  • Pokyny nebo pravidla, která chcete, aby asistent postupoval
  • Data nebo informace potřebné pro model, například relevantní otázky z nejčastějších dotazů

Roli systému můžete přizpůsobit pro váš případ použití nebo zahrnout jenom základní pokyny. Systémová role nebo zpráva je nepovinná, ale doporučuje se alespoň zahrnout základní roli a získat tak nejlepší výsledky.

Role uživatelů a asistentů

Konverzace probíhá mezi uživatelem a asistentem. Uživatel je osoba, která zadává výzvy a pracuje s modelem. Odpovědi z modelu jsou reprezentovány rolí systému.

Zpráva, kterou uživatel odešle do modelu, by měla dodržovat osvědčené postupy pro navrhování výzev, aby získal nejvyšší kvalitu odpovědí.

Příklady výzvy ke zprávě

Tady je několik příkladů různých stylů výzev, které můžete použít s modely GPT-35-Turbo a GPT-4. Příklady jsou jen výchozím bodem a můžete experimentovat s různými výzvami k přizpůsobení chování.

Základní příklad

Pokud chcete, aby se model GPT-35-Turbo choval podobně jako chat.openai.com, můžete použít základní systémovou zprávu, jako je Asistent je velký jazykový model natrénovaný aplikací OpenAI.

V další lekci se dozvíme, jak v další lekci používat sadu .NET SDK rozhraní API pro dokončování chatu. V tomto příkladu budeme držet názvy proměnných.


string systemMessage = "Assistant is a large language model trained by OpenAI";
string userMessage = "Who were the founders of Microsoft?";

Příklad s pokyny

V některých scénářích můžete chtít modelu poskytnout další pokyny, které definují mantinely pro to, co model dokáže udělat.

string systemMessage = """
Assistant is an intelligent chatbot designed to help users answer their tax related questions.
Instructions: 
- Only answer questions related to taxes. 
- If you're unsure of an answer, you can say "I don't know" or "I'm not sure" and recommend users go to the IRS website for more information. 
""";

string userMessage = "When are my taxes due?";

Správa konverzací

Model nemá paměť, takže potřebuje aktualizovaný přepis s každou novou otázkou se všemi otázkami a odpověďmi, jinak ztratí kontext.

To znamená, že budete muset odeslat celou aktualizovanou konverzaci do modelu pokaždé, když s ním budete pracovat, a pak bude možné snadno dosáhnout limitu tokenů pro každý model.

Limit tokenů je gpt-35-turbo 4096 tokenů, zatímco limity tokenů jsou gpt-4gpt-4-32k 8192 a 32768. V opačném případě se zobrazí chyba, musíte zůstat pod těmito limity.

Můžete sledovat počet tokenů a odebrat nejstarší zprávy z pole odeslaného do modelu. Nejlepší je vždy zachovat systémovou zprávu a odebrat jenom asistenta nebo zprávy uživatelů. Nicméně v průběhu času může tato metoda správy konverzace způsobit snížení kvality konverzace jako kontext dřívějších částí konverzace jsou ztraceny.

Případně můžete po dosažení limitu tokenu vyzvat uživatele, aby zahájil novou konverzaci.

Kontrola znalostí

1.

Jaká je důležitost systémové role?