Kernkonzepte
Als Casibase-Benutzer sollten Sie mit mindestens 4 Kernkonzepten vertraut sein: Provider
, Storage
(Speicher), Chat
und Vector
(Vektor).
Provider
Provider sind die Grundpfeiler von Casibase, die grundlegende Dienste bereitstellen und mit externen Systemen integrieren. Die Definition der Provider-Klasse lautet wie folgt:
type Provider struct {
Owner string `xorm:"varchar(100) notnull pk" json:"owner"`
Name string `xorm:"varchar(100) notnull pk" json:"name"`
CreatedTime string `xorm:"varchar(100)" json:"createdTime"`
DisplayName string `xorm:"varchar(100)" json:"displayName"`
Category string `xorm:"varchar(100)" json:"category"`
Type string `xorm:"varchar(100)" json:"type"`
ClientId string `xorm:"varchar(100)" json:"clientId"`
ClientSecret string `xorm:"varchar(2000)" json:"clientSecret"`
ProviderUrl string `xorm:"varchar(200)" json:"providerUrl"`
}
In Casibase gibt es zwei Haupttypen von Providern:
Storage Provider. Storage Provider sind für die Speicherung und den Abruf von Daten in Casibase verantwortlich. Es unterstützt verschiedene Speicheroptionen, darunter:
- AWS
- Azure
- Lokales Dateisystem
AI Provider. AI Provider sind für die Verarbeitung von KI-bezogenen Aufgaben und Diensten in Casibase verantwortlich. Es unterstützt verschiedene KI-Modelle und -Technologien, darunter:
- OpenAI
- ChatGLM
- InternLM
Vektoren
Vektoren in Casibase repräsentieren numerische Darstellungen verschiedener Datentypen. Diese Vektoren ermöglichen eine effiziente Verarbeitung und Analyse von Informationen. Verfügbare Vektortypen umfassen:
- Textvektoren
- Bildvektoren
- ... (andere Vektortypen)
Die Definition der Vector-Klasse lautet wie folgt:
type Vector struct {
Owner string `xorm:"varchar(100) notnull pk" json:"owner"`
Name string `xorm:"varchar(100) notnull pk" json:"name"`
CreatedTime string `xorm:"varchar(100)" json:"createdTime"`
DisplayName string `xorm:"varchar(100)" json:"displayName"`
Store string `xorm:"varchar(100)" json:"store"`
File string `xorm:"varchar(100)" json:"file"`
Text string `xorm:"mediumtext" json:"text"`
Data []float64 `xorm:"mediumtext" json:"data"`
}
Chat
Chats sind der Kern der interaktiven Kommunikation zwischen Benutzern und KI-Modellen in Casibase. Sie bestehen aus drei grundlegenden Komponenten:
- Frage (Question): Die Eingabe oder Anfrage des Benutzers, der Informationen oder Hilfe sucht.
- Abfrage-Prompt (Query Prompt): Eine formatierte Version der Benutzerfrage, die für die Verarbeitung durch das KI-Modell vorbereitet wird.
- Antwort (Answer): Die vom KI generierte Antwort auf die Benutzerfrage, die relevante Informationen oder Lösungen bietet.
Die Definition der Chat-Klasse lautet wie folgt:
type Chat struct {
Owner string `xorm:"varchar(100) notnull pk" json:"owner"`
Name string `xorm:"varchar(100) notnull pk" json:"name"`
CreatedTime string `xorm:"varchar(100)" json:"createdTime"`
UpdatedTime string `xorm:"varchar(100)" json:"updatedTime"`
DisplayName string `xorm:"varchar(100)" json:"displayName"`
Category string `xorm:"varchar(100)" json:"category"`
Type string `xorm:"varchar(100)" json:"type"`
User1 string `xorm:"varchar(100)" json:"user1"`
User2 string `xorm:"varchar(100)" json:"user2"`
Users []string `xorm:"varchar(100)" json:"users"`
MessageCount int `json:"messageCount"`
}
Einbettung
Embedding ist der Prozess der Umwandlung verschiedener Datentypen (wie Text und Bilder) in dichte Vektordarstellungen. Dieser Schritt ist entscheidend für die effiziente Datenverarbeitung und -analyse in Casibase.
Durch Embedding werden Fragen in Chats und Wissensdateien im Speicher in Vektoren umgewandelt, die für die nachfolgende Wissenssuche verwendet werden.
Die Standard-Embedding-Methode von Casibase wird von OpenAI bereitgestellt und kann bis zu dreimal pro Minute aufgerufen werden. Wir empfehlen, die Kopplung zwischen Wissensdateien zu minimieren, um das Embedding und die weitere Verarbeitung zu erleichtern.