메인 콘텐츠로 건너뛰기

핵심 개념

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에는 두 가지 주요 유형의 제공자가 있습니다:

  • 스토리지 제공자(Storage Providers). 스토리지 제공자는 Casibase에서 데이터 저장 및 검색을 담당합니다. 다음을 포함한 여러 스토리지 옵션을 지원합니다:

    • 아마존 웹 서비스
    • 애저
    • 로컬 파일 시스템
  • AI 제공자(AI Providers). AI 제공자는 Casibase에서 AI 관련 작업 및 서비스를 처리합니다. 다음을 포함한 다양한 AI 모델 및 기술을 지원합니다:

    • 오픈에이아이
    • 챗GLM
    • 인턴LM

벡터(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 모델 간의 상호작용 커뮤니케이션의 핵심입니다. 세 가지 기본 구성 요소로 이루어져 있습니다:

  • 질문(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에서 제공하며 분당 최대 세 번 호출할 수 있습니다. 임베딩 및 추가 처리를 용이하게 하기 위해 지식 파일 간의 결합을 최소화하는 것이 좋습니다.

Transactions

Transactions track AI token usage and costs through Casdoor integration. Each message generates a transaction record for billing and usage monitoring. See Billing & Usage for details.

Records

Records support data aggregation through a Count field, allowing consolidated logging without storing individual entries. See Records for more information.

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.