コア概念
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には2つの主要なプロバイダタイプがあります:
ストレージプロバイダー ストレージプロバイダーはCasibase内のデータのストレージと検索を容易にします。 以下を含む様々なストレージオプションをサポートしています:
- AWS
- Azure
- ローカルファイルシステム
AIプロバイダー AIプロバイダーはCasibaseでAI関連のタスクやサービスを処理する責任があります。 以下を含む複数のAIモデルと技術をサポートしています:
- 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のユーザーとAIモデルのインタラクティブなコミュニケーションの中心にあります。 それらは3つの重要なコンポーネントで構成されています:
- 質問(Question):情報やヘルプを求めるユーザーの入力またはクエリ。
- クエリプロンプト(Query Prompt):AIモデルによる処理のために準備されたユーザーの質問のフォーマット版。
- 回答(Answer):ユーザーの質問に対するAI生成の応答で、関連情報やソリューションを提供します。
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によって毎分最大3回の呼び出し率で提供されます。 埋め込みやさらなる処理を容易にするために、ナレッジファイル間の結合を最小限に抑えることをお勧めします。
Scans
Scans represent network and security scanning operations executed against infrastructure assets. The Scan object enables automated discovery, security auditing, and system assessment through integrated scan providers.
Each scan targets a specific asset (such as a virtual machine) or IP address, executes using a configured scan provider (like Nmap or OS Patch), and captures results in both raw and structured formats. Scans integrate with the asset inventory to automatically resolve target addresses and maintain historical scanning records for security analysis.