Skip to content

Chat Service - Advanced Rendering

In this section we will learn how to use specialy formatted strings to create artifacts on the Unique frontend.

Prompt Buttons

Prompt buttons allow the user to easily add follow-up prompts suggested by the agent to their prompt field

#rendering_prompt_buttons
1
2
3
4
prompt_button_string = create_prompt_button_string(button_text="Click me", next_user_message="Next user message")
chat_service.create_assistant_message(
    content=f"Here is a prompt button:\n {prompt_button_string}",
)

The assistant message will look as

alt text

and when clicked the text will appear in the user prompt windown

alt text

Latex Formulas

#rendering_latex_formula
1
2
3
4
5
6
latex_formula_string = create_latex_formula_string(
    latex_expression=r"\int_{a}^{b} f(x) \, dx"
)
chat_service.create_assistant_message(
    content=f"Here is a latex formula: {latex_formula_string}",
)

The formula will appear as alt text

Full Examples

Full Examples Rendering (Click to expand)
# %%
from unique_toolkit import (
    ChatService,
    KnowledgeBaseService,
)
from unique_toolkit.app.dev_util import get_event_generator
from unique_toolkit.app.schemas import ChatEvent
from unique_toolkit.app.unique_settings import UniqueSettings
from unique_toolkit.chat.rendering import (
    create_prompt_button_string,
)

settings = UniqueSettings.from_env_auto_with_sdk_init()
for event in get_event_generator(unique_settings=settings, event_type=ChatEvent):
    # Initialize services from event
    chat_service = ChatService(event)
    kb_service = KnowledgeBaseService.from_event(event)
    prompt_button_string = create_prompt_button_string(
        button_text="Click me", next_user_message="Next user message"
    )
    chat_service.create_assistant_message(
        content=f"Here is a prompt button:\n {prompt_button_string}",
    )
    chat_service.free_user_input()
# %%
from unique_toolkit import (
    ChatService,
    KnowledgeBaseService,
)
from unique_toolkit.app.dev_util import get_event_generator
from unique_toolkit.app.schemas import ChatEvent
from unique_toolkit.app.unique_settings import UniqueSettings
from unique_toolkit.chat.rendering import (
    create_latex_formula_string,
)

settings = UniqueSettings.from_env_auto_with_sdk_init()
for event in get_event_generator(unique_settings=settings, event_type=ChatEvent):
    # Initialize services from event
    chat_service = ChatService(event)
    kb_service = KnowledgeBaseService.from_event(event)
    latex_formula_string = create_latex_formula_string(
        latex_expression=r"\int_{a}^{b} f(x) \, dx"
    )
    chat_service.create_assistant_message(
        content=f"Here is a latex formula: {latex_formula_string}",
    )
    chat_service.free_user_input()