Konfiguration des KI-Assistenten für Webclient
Installationshinweise
PLANTA-KI-Assistent steht in einem separaten Container zur Verfügung und muss zuvor installiert werden.
Konfigurationsgrundlagen
Es gibt verschiedene Möglichkeiten, die Konfiguration anzuwenden, und zwar in der folgenden Reihenfolge, von der niedrigsten zur höchsten Priorität. Wenn eine Variable an mehr als einer Stelle definiert ist, gilt die mit der höchsten Priorität:
appsettings.json: Hauptkonfiguration (Default), es wird nicht empfohlen diese zu ändern
appsettings.[Environment].json: Umgebung (z.B. Herstellung) spezifische Konfiguration
Umgebungsvariablen: an einer beliebigen Stelle im Host-Betriebssystem gesetzt (z.B. mit der -e flag in einem Docker-Container weitergegeben)
Beispielformat für eine Einstellung in einer Umgebungsvariablen, zum Trennen von Abschnitten verwenden Sie __:
ConfluenceSettings__BaseUrl=https://help.planta.de
Einstellungen
Confluence-Einstellungen
Werden benötigt, um den Kontext für den KI-Assistenten upzudaten.
Schlüssel | Beschreibung | Beispielwert |
|---|---|---|
BaseUrl | Basis-URL für die Confluence-API | |
ApiToken | API-Token für die Confluence-API | token |
OpenAI-Einstellungen
Schlüssel | Beschreibung | Beispielwert |
|---|---|---|
ApiKey | API-Schlüssel für OpenAI | key |
Assistent-Einstellungen
Schlüssel | Beschreibung | Beispielwert |
|---|---|---|
ID | ID des zu verwendenen Open AI-Assistenten | asst_7UPm2TZbgwbvefdenCa2h |
VectorStoreId | Vector-Store-ID, der Store in dem der Confluence-Kontext gespeichert ist | vs_i8DeIabvrefdsQMUcfT1Rm0B |
Streaming | Flag mit der Streaming ermöglicht wird | true |
Authentifizierungs-Einstellungen
Schlüssel | Beschreibung | Beispielwert |
|---|---|---|
ApiKey | API-Schlüssel zur Authentifizierung, dieser Schlüssel wird benötigt wenn die API verwendet wird um Confluence-Kontext upzudaten. | apikey123 |
ReviewLink-Einstellungen
Wird vom Assistenten verwendet, um den Benutzer nach einem Gespräch zu einer Bewertung aufzufordern.
Warnhinweis
Diese Einstellung ist nur für den internen Gebrauch bestimmt und sollte vom Kunden nicht geändert werden.
Schlüssel | Beschreibung | Beispielwert |
|---|---|---|
ReviewMessage | Nachricht für ReviewLinks | Gerne können Sie uns auf den folgenden Plattformen bewerten: |
ReviewLinks | Liste von ReviewLinks | [{"name": "Linkedin", "link": "https://de.linkedin.com/company/planta-projektmanagement-systeme-gmbh ", "icon": "/icons/LI-Logo.png"}, {"name": "Trusted", "link": "https://trusted.de/planta-project-bewertung ", "icon": "/icons/trusted_logo.png"}] |
Logging
Ports konfigurieren
Der Port kann mit der standardmäßigen aspnet core configuration konfiguriert werden. Der Standard-Port ist 5000.
Example
{
"ConfluenceSettings": {
"BaseUrl": "https://help.planta.de",
"ApiToken": "token"
},
"OpenAISettings": {
"ApiKey": "key"
},
"AssistantSettings": {
"Id": "asst_7UPmbafdawegonCa2h",
"VectorStoreId": "vs_i8DavbdfRreeqrfLQMUgh1Rm0B",
"Streaming": true
},
"AuthenticationSettings": {
"ApiKey": "apikey123"
},
"ReviewLinkSettings": {
"ReviewMessage": "Gerne können Sie uns auf folgenden Plattformen bewerten:",
"ReviewLinks":[{
"name": "Linkedin",
"link": "https://de.linkedin.com/company/planta-projektmanagement-systeme-gmbh",
"icon": "/icons/LI-Logo.png"},
{
"name": "Trusted",
"link": "https://trusted.de/planta-project-bewertung",
"icon": "/icons/trusted_logo.png"}]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
Endpoint-Dokumentation
POST/embeddings/Create
Dieser Endpunkt wird verwendet, um Einbettungen zu erstellen, indem veraltete Seiten aus Confluence aktualisiert und abgerufen, in Dateien konvertiert und in OpenAI hochgeladen werden.
Anfragen
URL:
/embeddings/CreateMethode:
POSTAuthorisierung: Benötigt API-Key-Authentifizierung mittels
Bearer-Token.
Request-Body
Der Request-Body sollte ein JSON-Objekt mit folgenden Eigenschaften sein:
property | Art | Beschreibung |
|---|---|---|
| string | Schlüssel des Confluence-Spaces. |
| string | Die Sprache in der die Seiten angezeigt werden. |
Beispiel:
{
"SpaceKey": "exampleSpace",
"Language": "en"
}
Antworten
200 OK: Die Einbettungen wurden erfolgreich erstellt.
400 Bad Request: Der Request-Body ist ungültig oder fehlt.
Beispiel
Anfrage:
POST /embeddings/Create HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"SpaceKey": "exampleSpace",
"Language": "de"
}
Antwort:
HTTP/1.1 200 OK
Antwort (ungültige Anfrage):
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": "Invalid request body"
}