mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-06 03:00:16 -04:00
# Conflicts: # apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/components/oauth-required-modal.tsx # apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/credential-selector.tsx # apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/components/tools/credential-selector.tsx # apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/integrations/integrations.tsx # apps/sim/blocks/blocks/airtable.ts # apps/sim/blocks/blocks/knowledge.ts # apps/sim/tools/airtable/list_bases.ts # apps/sim/tools/registry.ts # packages/db/migrations/meta/0155_snapshot.json # packages/db/migrations/meta/_journal.json # packages/db/schema.ts
283 lines
11 KiB
Plaintext
283 lines
11 KiB
Plaintext
---
|
|
title: Knowledge
|
|
description: Use vector search
|
|
---
|
|
|
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|
|
|
<BlockInfoCard
|
|
type="knowledge"
|
|
color="#00B0B0"
|
|
/>
|
|
|
|
{/* MANUAL-CONTENT-START:intro */}
|
|
Sim's Knowledge Base is a native feature that enables you to create, manage, and query custom knowledge bases directly within the platform. Using advanced AI embeddings and vector search, the Knowledge Base block allows you to build intelligent search capabilities into your workflows.
|
|
|
|
With the Knowledge Base in Sim, you can:
|
|
|
|
- **Search knowledge**: Perform semantic searches across your custom knowledge bases using AI-powered vector similarity matching
|
|
- **Upload chunks**: Add text chunks with metadata to a knowledge base for indexing
|
|
- **Create documents**: Add new documents to a knowledge base for searchable content
|
|
|
|
In Sim, the Knowledge Base block enables your agents to perform intelligent semantic searches across your organizational knowledge as part of automated workflows. This is ideal for information retrieval, content recommendations, FAQ automation, and grounding agent responses in your own data.
|
|
{/* MANUAL-CONTENT-END */}
|
|
|
|
|
|
## Usage Instructions
|
|
|
|
Integrate Knowledge into the workflow. Perform full CRUD operations on documents, chunks, and tags.
|
|
|
|
|
|
|
|
## Tools
|
|
|
|
### `knowledge_search`
|
|
|
|
Search for similar content in a knowledge base using vector similarity
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base to search in |
|
|
| `query` | string | No | Search query text \(optional when using tag filters\) |
|
|
| `topK` | number | No | Number of most similar results to return \(1-100\) |
|
|
| `tagFilters` | array | No | Array of tag filters with tagName and tagValue properties |
|
|
| `items` | object | No | No description |
|
|
| `properties` | string | No | No description |
|
|
| `tagName` | string | No | No description |
|
|
| `tagValue` | string | No | No description |
|
|
| `tagFilters` | string | No | No description |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `results` | array | Array of search results from the knowledge base |
|
|
| ↳ `documentId` | string | Document ID |
|
|
| ↳ `documentName` | string | Document name |
|
|
| ↳ `content` | string | Content of the result |
|
|
| ↳ `chunkIndex` | number | Index of the chunk within the document |
|
|
| ↳ `similarity` | number | Similarity score of the result |
|
|
| ↳ `metadata` | object | Metadata of the result, including tags |
|
|
| `query` | string | The search query that was executed |
|
|
| `totalResults` | number | Total number of results found |
|
|
| `cost` | object | Cost information for the search operation |
|
|
|
|
### `knowledge_upload_chunk`
|
|
|
|
Upload a new chunk to a document in a knowledge base
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base containing the document |
|
|
| `documentId` | string | Yes | ID of the document to upload the chunk to |
|
|
| `content` | string | Yes | Content of the chunk to upload |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `data` | object | Information about the uploaded chunk |
|
|
| ↳ `chunkId` | string | Chunk ID |
|
|
| ↳ `chunkIndex` | number | Index of the chunk within the document |
|
|
| ↳ `content` | string | Content of the chunk |
|
|
| ↳ `contentLength` | number | Length of the content in characters |
|
|
| ↳ `tokenCount` | number | Number of tokens in the chunk |
|
|
| ↳ `enabled` | boolean | Whether the chunk is enabled |
|
|
| ↳ `createdAt` | string | Creation timestamp |
|
|
| ↳ `updatedAt` | string | Last update timestamp |
|
|
| `message` | string | Success or error message describing the operation result |
|
|
| `documentId` | string | ID of the document the chunk was added to |
|
|
| `documentName` | string | Name of the document the chunk was added to |
|
|
| `cost` | object | Cost information for the upload operation |
|
|
|
|
### `knowledge_create_document`
|
|
|
|
Create a new document in a knowledge base
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base containing the document |
|
|
| `name` | string | Yes | Name of the document |
|
|
| `content` | string | Yes | Content of the document |
|
|
| `documentTags` | object | No | Document tags |
|
|
| `documentTags` | string | No | No description |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `data` | object | Information about the created document |
|
|
| ↳ `documentId` | string | Document ID |
|
|
| ↳ `documentName` | string | Document name |
|
|
| ↳ `type` | string | Document type |
|
|
| ↳ `enabled` | boolean | Whether the document is enabled |
|
|
| ↳ `createdAt` | string | Creation timestamp |
|
|
| ↳ `updatedAt` | string | Last update timestamp |
|
|
| `message` | string | Success or error message describing the operation result |
|
|
| `documentId` | string | ID of the created document |
|
|
|
|
### `knowledge_list_tags`
|
|
|
|
List all tag definitions for a knowledge base
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base to list tags for |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `knowledgeBaseId` | string | ID of the knowledge base |
|
|
| `tags` | array | Array of tag definitions for the knowledge base |
|
|
| ↳ `id` | string | Tag definition ID |
|
|
| ↳ `tagSlot` | string | Internal tag slot \(e.g. tag1, number1\) |
|
|
| ↳ `displayName` | string | Human-readable tag name |
|
|
| ↳ `fieldType` | string | Tag field type \(text, number, date, boolean\) |
|
|
| ↳ `createdAt` | string | Creation timestamp |
|
|
| ↳ `updatedAt` | string | Last update timestamp |
|
|
| `totalTags` | number | Total number of tag definitions |
|
|
|
|
### `knowledge_list_documents`
|
|
|
|
List documents in a knowledge base with optional filtering, search, and pagination
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base to list documents from |
|
|
| `search` | string | No | Search query to filter documents by filename |
|
|
| `enabledFilter` | string | No | Filter by enabled status: "all", "enabled", or "disabled" |
|
|
| `limit` | number | No | Maximum number of documents to return \(default: 50\) |
|
|
| `offset` | number | No | Number of documents to skip for pagination \(default: 0\) |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `knowledgeBaseId` | string | ID of the knowledge base |
|
|
| `documents` | array | Array of documents in the knowledge base |
|
|
| ↳ `id` | string | Document ID |
|
|
| ↳ `filename` | string | Document filename |
|
|
| ↳ `fileSize` | number | File size in bytes |
|
|
| ↳ `mimeType` | string | MIME type of the document |
|
|
| ↳ `enabled` | boolean | Whether the document is enabled |
|
|
| ↳ `processingStatus` | string | Processing status \(pending, processing, completed, failed\) |
|
|
| ↳ `chunkCount` | number | Number of chunks in the document |
|
|
| ↳ `tokenCount` | number | Total token count across chunks |
|
|
| ↳ `uploadedAt` | string | Upload timestamp |
|
|
| ↳ `updatedAt` | string | Last update timestamp |
|
|
| `totalDocuments` | number | Total number of documents matching the filter |
|
|
| `limit` | number | Page size used |
|
|
| `offset` | number | Offset used for pagination |
|
|
|
|
### `knowledge_delete_document`
|
|
|
|
Delete a document from a knowledge base
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base containing the document |
|
|
| `documentId` | string | Yes | ID of the document to delete |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `documentId` | string | ID of the deleted document |
|
|
| `message` | string | Confirmation message |
|
|
|
|
### `knowledge_list_chunks`
|
|
|
|
List chunks for a document in a knowledge base with optional filtering and pagination
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base |
|
|
| `documentId` | string | Yes | ID of the document to list chunks from |
|
|
| `search` | string | No | Search query to filter chunks by content |
|
|
| `enabled` | string | No | Filter by enabled status: "true", "false", or "all" \(default: "all"\) |
|
|
| `limit` | number | No | Maximum number of chunks to return \(1-100, default: 50\) |
|
|
| `offset` | number | No | Number of chunks to skip for pagination \(default: 0\) |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `knowledgeBaseId` | string | ID of the knowledge base |
|
|
| `documentId` | string | ID of the document |
|
|
| `chunks` | array | Array of chunks in the document |
|
|
| ↳ `id` | string | Chunk ID |
|
|
| ↳ `chunkIndex` | number | Index of the chunk within the document |
|
|
| ↳ `content` | string | Chunk text content |
|
|
| ↳ `contentLength` | number | Content length in characters |
|
|
| ↳ `tokenCount` | number | Token count for the chunk |
|
|
| ↳ `enabled` | boolean | Whether the chunk is enabled |
|
|
| ↳ `createdAt` | string | Creation timestamp |
|
|
| ↳ `updatedAt` | string | Last update timestamp |
|
|
| `totalChunks` | number | Total number of chunks matching the filter |
|
|
| `limit` | number | Page size used |
|
|
| `offset` | number | Offset used for pagination |
|
|
|
|
### `knowledge_update_chunk`
|
|
|
|
Update the content or enabled status of a chunk in a knowledge base
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base |
|
|
| `documentId` | string | Yes | ID of the document containing the chunk |
|
|
| `chunkId` | string | Yes | ID of the chunk to update |
|
|
| `content` | string | No | New content for the chunk |
|
|
| `enabled` | boolean | No | Whether the chunk should be enabled or disabled |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `documentId` | string | ID of the parent document |
|
|
| `id` | string | Chunk ID |
|
|
| `chunkIndex` | number | Index of the chunk within the document |
|
|
| `content` | string | Updated chunk content |
|
|
| `contentLength` | number | Content length in characters |
|
|
| `tokenCount` | number | Token count for the chunk |
|
|
| `enabled` | boolean | Whether the chunk is enabled |
|
|
| `updatedAt` | string | Last update timestamp |
|
|
|
|
### `knowledge_delete_chunk`
|
|
|
|
Delete a chunk from a document in a knowledge base
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `knowledgeBaseId` | string | Yes | ID of the knowledge base |
|
|
| `documentId` | string | Yes | ID of the document containing the chunk |
|
|
| `chunkId` | string | Yes | ID of the chunk to delete |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `chunkId` | string | ID of the deleted chunk |
|
|
| `documentId` | string | ID of the parent document |
|
|
| `message` | string | Confirmation message |
|
|
|
|
|