Saltar al contenido principal

Conceptos fundamentales

Como usuario de Casibase, debe estar familiarizado al menos con 4 conceptos fundamentales: Provider (Proveedor), Storage (Almacenamiento), Chat (Conversación) y Vector (Vector).

Proveedores (Providers)

Los proveedores son el pilar central de Casibase, proporcionando servicios fundamentales e integrándose con sistemas externos. La definición de la clase Provider es la siguiente:

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"`
}
consejo

Hay dos tipos principales de proveedores en Casibase:

  • Proveedores de almacenamiento (Storage Providers). Los proveedores de almacenamiento son responsables del almacenamiento y recuperación de datos en Casibase. Admiten diversas opciones de almacenamiento, incluyendo:

    • AWS
    • Azure
    • Sistema de archivos local
  • Proveedores de IA (AI Providers). Los proveedores de IA son responsables de procesar tareas y servicios relacionados con la IA en Casibase. Admiten diversos modelos y tecnologías de IA, incluyendo:

    • OpenAI
    • ChatGLM
    • InternLM

Vectores (Vectors)

Los vectores en Casibase representan representaciones numéricas de diferentes tipos de datos. Estos vectores permiten un procesamiento y análisis eficientes de la información. Los tipos de vectores disponibles incluyen:

  • Vectores de texto
  • Vectores de imagen
  • ... (otros tipos de vectores)

La definición de la clase Vector es la siguiente:

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"`
}

Conversaciones (Chats)

Las conversaciones son el núcleo de la interacción entre usuarios y modelos de IA en Casibase. Se componen de tres elementos fundamentales:

  • Pregunta (Question): La entrada o consulta del usuario, buscando información o ayuda.
  • Consulta (Query Prompt): Versión formateada de la pregunta del usuario, preparada para el procesamiento por el modelo de IA.
  • Respuesta (Answer): Respuesta generada por la IA a la pregunta del usuario, proporcionando información relevante o soluciones.

La definición de la clase Chat es la siguiente:

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"`
}

Incrustación (Embedding)

La incrustación es el proceso de convertir varios tipos de datos (como texto e imágenes) en representaciones vectoriales densas. Este paso es crucial para el procesamiento y análisis eficientes de datos en Casibase.

consejo
  • A través de la incrustación, las preguntas en las conversaciones y los archivos de conocimiento en el almacenamiento se convertirán en vectores para el siguiente paso de búsqueda de conocimiento.

  • El método de incrustación predeterminado en Casibase es proporcionado por OpenAI y puede ser llamado un máximo de tres veces por minuto. Recomendamos minimizar el acoplamiento entre archivos de conocimiento para facilitar la incrustación y el procesamiento posterior.

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.