Основні концепції
Як користувач Casibase, ви повинні принаймні бути знайомі з 4 основними концепціями: Provider
(Провайдер), Storage
(Сховище), Chat
(Чат) і Vector
(Вектор).
Провайдери (Providers)
Провайдери є основою Casibase, забезпечуючи основні послуги та інтеграцію з зовнішніми системами. Визначення класу Provider наведено наступним чином:
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"`
}
В Casibase є два основні типи провайдерів:
Провайдери сховища. Провайдери сховища забезпечують зберігання та доступ до даних у Casibase. Він підтримує різні варіанти сховища, включаючи:
- AWS
- Azure
- Локальна файлова система
AI Провайдери. Провайдери штучного інтелекту відповідають за виконання завдань і послуг, пов'язаних зі штучним інтелектом, у Casibase. Він підтримує декілька моделей ШІ та технологій, включаючи:
- OpenAI
- ChatGLM
- InternLM
Вектори (Vectors)
Вектори у Casibase представляють собою числові представлення різних типів даних. Ці вектори забезпечують ефективну обробку та аналіз інформації. Деякі з доступних типів векторів:
- Текстові вектори
- Вектори зображень
- ... (інші типи векторів)
Визначення класу Vector наступне:
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"`
}
Чати (Chats)
Чати лежать в основі інтерактивного спілкування між користувачами та моделями ШІ у Casibase. Вони складаються з трьох основних компонентів:
- Запитання (Question): Введення або запит користувача, що шукає інформацію або допомогу.
- Запит-підказка (Query Prompt): Форматована версія запитання користувача, підготовлена для обробки моделлю ШІ.
- Відповідь (Answer): Відповідь, згенерована ШІ на запитання користувача, що надає релевантну інформацію або рішення.
Визначення класу Chat наступне:
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"`
}
Вбудовування (Embedding)
Ембеддінг - це процес перетворення різних типів даних, таких як текст та зображення, на щільні векторні представлення. Цей крок є надзвичайно важливим для забезпечення ефективної обробки даних та аналізу в Casibase.
Через вбудовування, запитання в чаті та файли знань у сховищі будуть перетворені на вектори для наступного кроку пошуку знань.
За замовчуванням метод ембеддінгу Casibase надається OpenAI зі швидкістю до трьох викликів на хвилину. Ми рекомендуємо мінімізувати зв'язок між файлами знань для полегшення ембеддінгу та подальшої обробки.