Categories:
AI configuration by OB
The following information applies to both Spain and Brazil; there will not be separate blocks for each OB.
Introduction
LLMs UCs are configured and located within the aura-config-provision repository. See the TV LLM Conversational Search Preset (notice that in the url, the field [ob] needs to be replaced by [es] or [br])
LLM use cases have been designed to provide a fallback mechanism for user requests that are not currently understood, i.e. return a ‘None’ intent, or when no content is found in the video platform related to it, offering a second chance for classification and response generation.
Intent
The Conversational Search use case has different invocation points:
- From triage: when the LLM identifies that the user’s intention is to perform an open search or to get an advanced recommendation (“Recomiéndame algo para ver”, “Quiero ver algo divertido”, “Ponme con el recomendador”)
- Fallback for the TV Search deterministic use case and for the TV LLM Search UC for user’s requests with 0 results or KO.
Once the user’s request is classified under intent.conversational.search, the user will enter into a conversation with the LLM Conversational Search agent. During this conversation, the agent will attempt to refine the user’s search criteria to try to lead the user to content that is available on the platform according to the available thematic categories also called tags (e.g., “Amor imposible”, “Persecuciones”, “Psicópatas”).
The conversation can be ended through various means:
- By breaking intents:
- ES:
intent.tv.display(contents & channels) andintent.navigation.section_show(sections, apps…) - BR:
intent.tv.display(channels),intent.tv.app_open(apps/third party platforms) andintent.navigation.section_show(sections)
-
By breaking command:
EXIT(“Salir”, “Abandonar”, “Quiero irme ya”, “Eu quero sair daqui”, “Terminei”) -
When the user clicks on one of the contents that appears on the screen in response to their request
LLM output format
In the output format, the identified categories, their score, and the text for the user will be included without exceeding the 115-character limit. The number of tags will vary depending on different cases:
- Returning 0 when it is identified that the user wants to leave the conversation (breaking command)
- Returning 1 when the category mentioned by the user matches one from the available list
- Returning 3 for cases such as:
- No categories are identified in the user’s request
- The user wants to see the full list of categories or any recommendation in general
The list of thematic categories is configured within the field tags in the preset (in args) with a format of comma-separated items enclosed in square brackets ([tag1, tag2, tag3, tag4…]).
Examples:
| Input | Output |
|---|---|
| “Suficiente, quiero salir” | {"name": "llm_conversational_search", "arguments": {"command": "EXIT"} |
| “Me apetece ver algo de amor” | {"name": "llm_conversational_search", "arguments": {"text": "Aquí tienes algo sobre la temática: Amor", "command": "", "tags":[{ "tag": "Amor", "score": 0.98 }]}} |
| “Me gustaría ver contenido de aviones” | {"name": "llm_conversational_search", "arguments": {"text": "No he encontrado nada relacionado pero puedes explorar categorías como: Épico, Bélico o Crimen fallido", "command": "", "tags":[{ "tag": "Épico", "score": 0.98 }, { "tag": "Bélico", "score": 0.92 }, { "tag": "Crimen fallido", "score": 0.89}]}} |
| “¿Qué categorías tienes disponibles?” | {"name": "llm_conversational_search", "arguments": {"text": "Estas son algunas de las categorías que puedes explorar: Amor, Crisis de pareja o Reencuentros amorosos","command": "", "tags":[{ "tag": "Amor", "score": 0.93 }, { "tag": "Crisis de pareja", "score": 0.87 }, { "tag": "Reencuentros amorosos", "score": 0.77 }]}} |