Hauptmenü

Nutzung von Azure OpenAI durch KIX

Begonnen von sapl, 04.07.2025 16:13:06

⏪ vorheriges - nächstes ⏩

sapl

Hallo Community,

inspiriert durch den Vortrag auf der kixConf 2025 zur KI-Integration habe ich einen kleinen Prototyp zur einfachen Abindung von KIX an Azure OpenAI erstellt.

Vorab: Meine Dev-Zeit ist sehr lange her... Der Code ist auf Github zu finden, wie bei allen OpenSource-Projekten sind Pull Requests gerne gesehen. ;-)

Was macht es:
Es übergibt ein Ticket mit allen Artikeln an die KI und schreibt das Ergebnis in ein dynamisches Feld. 

Funktionsaufbau:
Der Service wird von KIX aus über einen Webhook getriggert. Hierbei wird die Ticket-ID und ein KI-Prompt über,geben.
Der Service ruft daraufhin alle Daten des Tickets über die KIX-REST-API ab und leitet diese mit dem Prompt an einen Azure OpenAI-Service weiter. Das Ergebnis der KI-Antwort wird nach Abschluss durch den Service in ein dynamisches Feld des Tickets geschrieben. Dieser asynchrone Ansatz wurde gewählt, da die Antwortzeiten (je nach KI-Modell) teils sehr lange dauern. Bei O4-mini auch gerne mal mehrere Minuten.

Was bringt das:
Wir nutzen dies aktuell für zwei Use-Cases, jeweils interner IT-Support.
  • Zusammenfassen von langen Tickets mit vielen Artikeln
  • Ersteinschätzung und Lösungsvorschläge bei neuen Tickets

Grundsätzilch ließe es sich aber auch einsetzen um Tickets automatisch zu klassifizieren oder Ähnliches. Ausgangspunkt ist immer das Rückschreiben in ein dynamisches Feld, was dann weitergehende Aktionen in KIX auslösen kann.

Warum Azure OpenAI:
Zwischen OpenAI und lokal betriebenen LLMs ist dies für uns der beste Kompromiss hinsichtlich Datenschutz, verarbeitung in Europa, etc. :)
Das muss aber jeder für sich selbst wissen. Grundsätzlich ist angedacht, den Code für lokale LLM und OpenAI-kompatible APIs zu erweitern.


Ausprobieren:
Wer möchte findet den SourceCode auf Github:  splumhoff/kix-ai-gateway
Alternativ steht ein Docker-Container bereit:  splumhoff/kix-ai-gateway - Docker Image | Docker Hub

Wenn der Container (oder der nodeJS-Service) läuft ist es recht einfach:
  • Erstellen eines dynamischen Feldes am Ticket (z.B. AITicketSummary)
  • Erstellen einer Aktion mit einem Webhook.

Bei dem Webhook wird die Ticketnummer in der URL sowie der Prompt mitgegeben.
Wir haben dies bei uns über zwei Aktions gelöst. Die erste (KI-zusammenfassung anfordern) löst den Webhook aus. Die zweite zeigt einfach das dynamische Feld in einem Formular an.

Schreibt bei Fragen oder Anmerkungen gerne.

Grüße,
Sapl

kix_menu.png
kix_summary.png

kix_webserviceconfig.png