---
title: "更新知识库"
method: PUT
path: "/knowledge-bases/{id}"
tags: ["知识库"]
---

# 更新知识库

`PUT /knowledge-bases/{id}`

更新知识库的名称、描述和配置

## Path parameters

- `id` string, required

## Request body

- InternalHandlerUpdateKnowledgeBaseRequest
  - `config` GithubComTencentWeKnoraInternalTypesKnowledgeBaseConfig
    - `chunking_config` GithubComTencentWeKnoraInternalTypesChunkingConfig
      - `child_chunk_size` integer — ChildChunkSize is the size of child chunks used for embedding (default: 384). Only used when EnableParentChild is true.
      - `chunk_overlap` integer — Chunk overlap
      - `chunk_size` integer — Chunk size
      - `enable_parent_child` boolean — EnableParentChild enables two-level parent-child chunking strategy. When enabled, large parent chunks provide context while small child chunks are used for vector matching. Retrieval matches on child but returns parent content.
      - `languages` string[] — Languages hints the heuristic patterns. Empty = auto-detect from content. Examples: ["de"], ["en", "zh"].
      - `parent_chunk_size` integer — ParentChunkSize is the size of parent chunks (default: 4096). Only used when EnableParentChild is true.
      - `parser_engine_rules` GithubComTencentWeKnoraInternalTypesParserEngineRule[] — ParserEngineRules configures which parser engine to use for each file type. When empty, the builtin engine is used for all types.
        - `engine` string
        - `file_types` string[]
      - `separators` string[] — Separators
      - `strategy` string — Strategy selects the adaptive chunking tier. Empty / "legacy" preserves the historical recursive splitter; "auto" lets a profiler pick between heading-aware, heuristic and recursive tiers; "heading" / "heuristic" / "recursive" pin the tier explicitly.
      - `token_limit` integer — TokenLimit caps chunk size in approximate tokens. 0 = use ChunkSize as a character count.
    - `faq_config` GithubComTencentWeKnoraInternalTypesFAQConfig
      - `index_mode` 'question_only' | 'question_answer'
      - `question_index_mode` 'combined' | 'separate'
    - `image_processing_config` GithubComTencentWeKnoraInternalTypesImageProcessingConfig
      - `model_id` string — Model ID
    - `indexing_strategy` GithubComTencentWeKnoraInternalTypesIndexingStrategy
      - `graph_enabled` boolean — GraphEnabled enables knowledge graph entity/relation extraction
      - `keyword_enabled` boolean — KeywordEnabled enables keyword-based (BM25) search
      - `vector_enabled` boolean — VectorEnabled enables semantic vector embedding and search
      - `wiki_enabled` boolean — WikiEnabled enables automatic wiki page generation from documents
    - `wiki_config` GithubComTencentWeKnoraInternalTypesWikiConfig
      - `extraction_granularity` 'focused' | 'standard' | 'exhaustive'
      - `ingest_batch_size` integer — IngestBatchSize controls how many pending ops a single batch processes before scheduling a follow-up. 0 falls back to the hard-coded default (5). Operators on large KBs (4w+ docs) can raise this to 10–20 to amortize the lock-acquire / index-rebuild overhead across more documents per round.
      - `ingest_map_parallel` integer — IngestMapParallel sets the errgroup limit for the Map phase (per-document extraction + summary + chunk citation). 0 falls back to 10. Bound by the LLM provider's concurrency limit and the worker's outbound HTTP pool.
      - `ingest_reduce_parallel` integer — IngestReduceParallel sets the errgroup limit for the Reduce phase (per-slug page write). 0 falls back to 10. Bound by the same LLM concurrency / HTTP pool considerations as the Map phase, plus DB connection pool size.
      - `max_pages_per_ingest` integer — MaxPagesPerIngest limits pages created/updated per ingest operation (0 = no limit)
      - `synthesis_model_id` string — SynthesisModelID is the LLM model ID used for wiki page generation and updates
  - `description` string
  - `name` string, required

## Response `200`

更新后的知识库

- object

## Other responses

- `400` — 请求参数错误

## Changes

- **2025-12-22** `e625bcd5b8b9` — 1 info
  - the endpoint scheme security `ApiKeyAuth` was added to the API
- **2025-12-16** `edf61e68559d` — 1 info
  - the endpoint scheme security `ApiKeyAuth` was removed from the API

[Change history](https://skmtc.dev/tencentblueking/apis/weknora-api/changes/knowledge-bases/:id/put.md)

---

[API](https://skmtc.dev/tencentblueking/apis/weknora-api.md) · [All operations](https://skmtc.dev/tencentblueking/apis/weknora-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tencentblueking/weknora-api/revisions/d113fcd208b2/schema)
