Перейти до основного контенту

Основні концепції

Як користувач 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 зі швидкістю до трьох викликів на хвилину. Ми рекомендуємо мінімізувати зв'язок між файлами знань для полегшення ембеддінгу та подальшої обробки.