Kihagyás

Topic Extractor

gpt-4.1

Felhasználja: Data Collection, Suggestion Routing

A kérdések téma alapú címkézése több okból is hasznos lehet:

  • Látjuk számszerűsítve, hogy milyen témákban érkeznek kérdések.

  • Témára specifikus működést tudunk alkalmazni a kérdés feldolgozása során.

Mi a címkézés egy specifikus formájára próbálunk megoldást keresni.

Kétszintű multicímkézés

Adott: A felhasználói \(q\) kérdés és a \(H\) korábbi üzenetváltás, illetve témák egy legfeljebb 2 mélységű \(T\) fája témaleírásokkal ellátva (a 2. szinten az altémák vannak).

Feladat: Meghatározni, hogy \(T\) mely témáiba illik \(q\).

A megvalósítás

Az eszköz teljesen LLM alapú: megkérjük az LLM-et (jelenleg gpt-4.1), hogy \(T\) mely elemeihez tartozhat \(q\), ezzel kapva témák és altémák egy-egy listáját. Ez után ha egy altéma \(T\)-beli szülője nem szerepel a témák között, akkor felvesszük azt is.

A konfigurációs beállítások a backend repo-ban, elsődlegesen a tool-configuration.yml fájlban találhatók, a project.tools.topic-extractor mezőben. A használt OpenAI modellt az eszköz a az application.yml fájl project.openai.models.chat-model mezőjéből örökli. A végrehajtást a TopicExtractorFunctionCallService osztály végzi.

A témák fáját a typetag-tree.yml fájl tartalmazza. Magukat a lehetséges témákat az api repó content-management.yml és pythonservice.yml fájlja definiálja, a components.schemas szekció TypeTag és SubTypeTag mezőiben.

Két helyen definiálva

Változtatás esetén ügyeljünk arra, hogy a két fájl TypeTag és SubTypeTag definíciója szinkronban maradjon.

Topic vs. Type

Jelenleg a kódban TypeTag és SubTypeTag néven szerepelnek a témák. A gyakorlatban „type“, „topic“ és „téma“ néven is hivatkozunk ezen címkékre.