AI asistent v Open WebUI
Update: Optimálnější řešení s pomocí Claude Code a Agent Skills popisuji v novém článku.
Množství příspěvků na mém blogu utěšeně roste a začíná dávat smysl je seskupovat pomocí tagů. Zároveň si říkám, že vymýšlení tagů je přesně úkol pro nějaký jazykový model: předhodit mu text článku a nechat si tagy vygenerovat, alespoň jako návrh. Z pohledu konzistentnosti by bylo zároveň dobré modelu poskytnout i seznam již existujících tagů, aby se jich držel a negeneroval nové varianty téhož (např. ai-tutor, ai-tutors, ai-tutoring apod.).
Toto se dá jistě vyřešit pomocí jednoduchého skriptu do příkazové řádky, nicméně mě napadlo vytvořit si takového asistenta v Open WebUI, které slouží jako webové rozhraní pro náš univerzitní AI Sandbox. Asistenti (podobní GPTs v ChatGPT; v Open WebUI nesou označení Models) mohou volat nástroje (Tools) implementované jako třídy v programovacím jazyce Python. Níže je příklad nástroje pro získání aktuálního data a času:
import datetime
class Tools:
def __init__(self):
pass
def get_current_time(self) -> str:
"""Get the current time in a more human-readable format."""
now = datetime.now()
current_time = now.strftime("%I:%M:%S %p") # Using 12-hour format with AM/PM
current_date = now.strftime("%A, %B %d, %Y") # Full weekday, month name, day, and year
return f"Current Date and Time = {current_date}, {current_time}"
Asistent si pak může dostupné nástroje volat sám.