资讯动态

WeKnora 初始化配置 API 实战指南:知识库模型编排与 Ollama 本地模型管理

发布时间:2026/9/13 19:43:24 来源:尧图企业网站定制
WeKnora 初始化配置 API 实战指南知识库模型编排与 Ollama 本地模型管理【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora初始化配置 API 是 WeKnora 中负责把「模型资源」与「知识库」绑定起来的一套接口集合它既支持为单个知识库配置对话LLM、向量化Embedding、重排序Rerank与多模态VLM四类模型也内置了 Ollama 本地模型的探测、校验与异步下载管理还提供模型连通性测试与知识图谱文本关系提取能力。阅读本文后你将掌握 WeKnora 初始化配置的全部 14 个 REST 端点、其请求/响应结构、底层实现机制异步下载任务、SSRF 防护、密钥脱敏以及对应的 Go SDK 调用方式能够独立完成从本地/远程模型接入到知识库模型配置落库的完整闭环。一、接口总览初始化配置 API 归属于/api/v1基础路径之下涵盖知识库模型配置、Ollama 模型管理、模型连通性测试与文本关系提取四大类功能方法路径描述GET/initialization/config/:kb_id获取知识库初始化配置POST/initialization/initialize/:kb_id初始化知识库模型配置PUT/initialization/config/:kb_id更新知识库模型配置GET/initialization/ollama/status检查 Ollama 状态GET/initialization/ollama/models获取本地 Ollama 模型列表POST/initialization/ollama/models/check检查 Ollama 模型是否可用POST/initialization/ollama/models/download下载 Ollama 模型GET/initialization/ollama/download/progress/:task_id获取下载进度GET/initialization/ollama/download/tasks获取所有下载任务POST/initialization/remote/check检查远程模型 APIPOST/initialization/embedding/test测试嵌入模型POST/initialization/rerank/check检查重排序模型POST/initialization/multimodal/test测试多模态模型POST/initialization/extract/text-relation提取文本关系通用调用约定基础 URL/api/v1例如完整地址为http://localhost:8080/api/v1/initialization/config/kb-00000001。认证方式所有请求需要在 HTTP 请求头携带X-API-Key如X-API-Key: sk-xxxxx建议同时携带X-Request-ID便于问题追踪。错误格式失败时返回统一结构{success: false, error: {code: ..., message: ..., details: ...}}。最权威参考启动服务后访问http://localhost:8080/swagger/index.html仅GIN_MODE ! release时挂载Swagger 文档随代码自动更新与本文档同步维护出现差异时以 Swagger 为准。文档说明见 docs/api/README.md。从源码看这些接口全部由internal/handler/initialization.go中的InitializationHandler实现并通过RegisterInitializationRoutesinternal/router/routes_infra.go注册到路由树中。二、知识库模型配置管理GET / POST / PUT这一组端点解决知识库该用哪些模型的核心问题。WeKnora 的知识库会绑定四类模型对话模型LLM负责知识问答与摘要、嵌入模型Embedding负责向量化检索、重排序模型Rerank负责混合检索精排可选以及多模态视觉模型VLM负责图片理解可选。1. GET/initialization/config/:kb_id—— 获取知识库初始化配置用于查询指定知识库当前绑定的模型配置属于只读操作。请求:curl --location http://localhost:8080/api/v1/initialization/config/kb-00000001 \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json响应原文档简化结构:{ data: { chat_model_id: model-00000001, embedding_model_id: model-00000002, rerank_model_id: model-00000003, multimodal_id: model-00000004 }, success: true }从源码看该端点的实际响应内容远比简化结构丰富。处理器GetCurrentConfigByKBinternal/handler/initialization.go会读取知识库的EmbeddingModelID、SummaryModelID、VLMConfig.ModelID再逐一加载模型详情经buildConfigResponseinternal/handler/initialization.go组装出嵌套的完整配置除llm、embedding、rerank、multimodal槽位外还包括documentSplitting分块配置、nodeExtract图谱抽取配置、questionGeneration问题生成配置与hasFiles知识库是否已有文件等字段大致形态如下{ data: { hasFiles: false, llm: { source: remote, modelName: gpt-4o, baseUrl: https://api.openai.com/v1, credentials: { apiKey: true } }, embedding: { source: remote, modelName: text-embedding-3-small, baseUrl: https://api.openai.com/v1, dimension: 1536, credentials: { apiKey: true } }, rerank: { enabled: true, modelName: rerank-english-v3.0, credentials: { apiKey: true } }, multimodal: { enabled: false }, documentSplitting: { chunkSize: 1000, chunkOverlap: 200, separators: [\n\n, \n, 。, , , ;, ] }, nodeExtract: { enabled: false }, questionGeneration: { enabled: false } }, success: true }安全细节该响应遵循最小暴露原则——对内置模型IsBuiltin或没有查看集成密钥权限的访客角色baseUrl会被置空credentials字段仅返回布尔值表示是否已配置 API Key绝不回传明文密钥。这一行为由 internal/handler/initialization_config_redaction_test.go 中的TestBuildConfigResponse_ViewerOmitsModelBaseURL与TestBuildConfigResponse_AdminKeepsModelBaseURL两个测试用例直接验证。2. POST/initialization/initialize/:kb_id—— 初始化知识库模型配置该端点面向首次接入模型的场景请求中携带模型的来源、名称、Base URL 与 API Key服务端会自动创建或更新模型记录并绑定到知识库同时支持一并配置分块、多模态存储与知识图谱抽取参数。请求:curl --location http://localhost:8080/api/v1/initialization/initialize/kb-00000001 \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json \ --data { chat_model_id: model-00000001, embedding_model_id: model-00000002, rerank_model_id: model-00000003, multimodal_id: model-00000004 }响应:{ success: true }需要说明上述是文档中给出的简化版载荷。从源码看InitializeByKBinternal/handler/initialization.go实际绑定的是InitializationRequest结构internal/handler/initialization.go其核心字段如下{ llm: { source: remote, modelName: gpt-4o, baseUrl: https://api.openai.com/v1, apiKey: sk-xxx }, embedding: { source: remote, modelName: text-embedding-3-small, baseUrl: https://api.openai.com/v1, apiKey: sk-xxx, dimension: 1536 }, rerank: { enabled: true, modelName: rerank-english-v3.0, baseUrl: https://api.cohere.ai/v1, apiKey: sk-xxx }, multimodal: { enabled: false }, documentSplitting: { chunkSize: 1000, chunkOverlap: 200, separators: [\n\n, \n, 。, , , ;, ] }, nodeExtract: { enabled: false }, questionGeneration: { enabled: false, questionCount: 3 } }关键实现流程可验证于InitializeByKB→validateInitializationConfigs→processInitializationModels→applyKnowledgeBaseInitializationSSRF 校验所有用户提供的BaseURLLLM / Embedding / Rerank / VLM都会经过utils.ValidateURLForSSRF检查拒绝内网地址与危险目标见 internal/handler/initialization.go。模型落库processInitializationModels按ModelTypeKnowledgeQA、ModelTypeEmbedding等类型构建模型描述若知识库已有同类型模型则更新UpdateModel否则新建CreateModelEmbedding 模型的dimension会写入EmbeddingParameters见 internal/handler/initialization.go。配置应用applyKnowledgeBaseInitialization将新模型的 ID 写回知识库的SummaryModelIDLLM、EmbeddingModelIDEmbedding、VLMConfig.ModelIDVLM并应用分块与多模态存储配置。多模态约束若启用多模态storageType必须为cos或minio且相关桶/密钥信息必须齐全选用ollama接口类型时服务端会自动拼接OLLAMA_BASE_URL /v1作为 VLM Base URL。图谱抽取约束nodeExtract.enabled为 true 时要求环境变量NEO4J_ENABLEtrue且必须同时提供text、tags、nodes、relations否则返回 400。3. PUT/initialization/config/:kb_id—— 更新知识库模型配置用于在模型已经注册到平台后将知识库重新指向已有的模型 ID适合仅改绑定、不新建模型的场景。请求:curl --location --request PUT http://localhost:8080/api/v1/initialization/config/kb-00000001 \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json \ --data { chat_model_id: model-00000010, embedding_model_id: model-00000002 }响应:{ success: true }源码层面的实际绑定结构为KBModelConfigRequestinternal/handler/initialization.goUpdateKBConfiginternal/handler/initialization.go的要点如下llmModelId为必填binding:requiredembeddingModelId可选禁用 RAG 索引时可不配。Embedding 模型防改保护如果知识库已经存在文件hasFiles则拒绝更换 Embedding 模型返回「知识库中已有文件无法修改Embedding模型」——因为更换向量模型会导致历史分块向量维度失配。分块配置中的strategy、tokenLimit、languages、tableMetadataInstructions使用指针类型用于区分载荷中缺省不修改与显式传空清空/重置两种语义。支持更新vlm_config多模态模型 ID、描述语言、自定义指令与asr_config语音识别模型以及storageBackendId存储后端实例更换存储后端同样受已有文件禁止变更约束。知识图谱与问题生成配置会同步更新questionCount会被收敛到[1, 10]区间缺省为 3。注意Go SDK 中client.UpdateKBConfig被标记为Deprecated因为其载荷形状与KBModelConfigRequest不匹配官方推荐改用client.SetKBModelConfig绑定KBModelConfig{llmModelId, embeddingModelId}详见下文客户端 SDK一节及 client/initialization.go。三、Ollama 本地模型管理Ollama 提供了一套完整的本地模型生命周期管理端点覆盖服务可用性探测 → 本地模型列表 → 指定模型可用性检查 → 异步下载 → 进度查询全链路。实现上InitializationHandler内嵌了OllamaService单例见 internal/models/utils/ollama/ollama.go其 Base URL 通过环境变量OLLAMA_BASE_URL配置默认http://localhost:11434Docker 部署场景默认http://host.docker.internal:11434当OLLAMA_OPTIONALtrue时 Ollama 处于可选模式服务不可达不阻断应用启动。1. GET/initialization/ollama/status—— 检查 Ollama 状态请求:curl --location http://localhost:8080/api/v1/initialization/ollama/status \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json响应:{ data: { available: true }, success: true }从源码CheckOllamaStatusinternal/handler/initialization.go看该端点会调用StartService做心跳探测available为 false 时响应中还附带error与baseUrl便于前端提示服务可用时额外返回version与baseUrl。StartService使用带 10 秒拨号超时的独立 HTTP Client 执行 OllamaHeartbeat避免进程挂死见 internal/models/utils/ollama/ollama.go。2. GET/initialization/ollama/models—— 获取本地 Ollama 模型列表请求:curl --location http://localhost:8080/api/v1/initialization/ollama/models \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json响应:{ data: [ { name: llama3:8b, size: 4661211648, modified_at: 2025-08-10T15:30:0008:00 }, { name: nomic-embed-text:latest, size: 274302976, modified_at: 2025-08-11T09:00:0008:00 } ], success: true }实现上通过OllamaService.ListModelsDetailedinternal/models/utils/ollama/ollama.go返回含名称、字节大小与修改时间的模型列表size单位为字节客户端展示时可换算为 GB。3. POST/initialization/ollama/models/check—— 检查 Ollama 模型是否可用批量检查多个模型是否已在本地安装常用于初始化表单的就绪度校验。请求:curl --location http://localhost:8080/api/v1/initialization/ollama/models/check \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json \ --data { models: [llama3:8b, nomic-embed-text:latest, mistral:7b] }响应:{ data: { llama3:8b: true, nomic-embed-text:latest: true, mistral:7b: false }, success: true }源码CheckOllamaModelsinternal/handler/initialization.go会先确保服务可用再对每个模型调用IsModelAvailable——该方法通过 OllamaList接口比对模型名逐个返回布尔结果。4. POST/initialization/ollama/models/download—— 下载 Ollama 模型提交后立即返回下载任务模型在后台异步拉取。请求:curl --location http://localhost:8080/api/v1/initialization/ollama/models/download \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json \ --data { model: mistral:7b }响应:{ data: { id: task-00000001, modelName: mistral:7b, status: downloading, progress: 0, message: 开始下载, startTime: 2025-08-12T10:00:0008:00 }, success: true }实现机制DownloadOllamaModelinternal/handler/initialization.go若模型已存在直接返回status: completed、progress: 100不重复下载。若已有同名模型的pending/downloading任务返回已有任务信息含taskId避免并发重复拉取。否则以 UUID 创建DownloadTask存入进程内的全局downloadTasksmap由tasksMutex保护并启动协程执行downloadModelAsync任务上下文超时为12 小时。downloadModelAsync→pullModelWithProgress调用 Ollama 官方 Go SDK 的Pull方法通过进度回调把completed/total换算为百分比实时写回任务见 internal/handler/initialization.go。需要注意downloadTasks是进程内存态的任务表服务重启后任务记录会丢失这是设计取舍适用于单实例部署。5. GET/initialization/ollama/download/progress/:task_id—— 获取下载进度请求:curl --location http://localhost:8080/api/v1/initialization/ollama/download/progress/task-00000001 \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json响应:{ data: { id: task-00000001, modelName: mistral:7b, status: downloading, progress: 45.6, message: 正在下载 2.1GB / 4.6GB, startTime: 2025-08-12T10:00:0008:00 }, success: true }任务状态机为pending → downloading → completed | failedcompleted/failed时响应会追加endTime。任务 ID 不存在时返回 404「下载任务不存在」。6. GET/initialization/ollama/download/tasks—— 获取所有下载任务请求:curl --location http://localhost:8080/api/v1/initialization/ollama/download/tasks \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json响应:{ data: [ { id: task-00000001, modelName: mistral:7b, status: completed, progress: 100, message: 下载完成, startTime: 2025-08-12T10:00:0008:00, endTime: 2025-08-12T10:15:0008:00 }, { id: task-00000002, modelName: llama3:70b, status: downloading, progress: 30.2, message: 正在下载 12.5GB / 41.4GB, startTime: 2025-08-12T10:20:0008:00 } ], success: true }四、模型连通性测试这组端点用于提交配置之前先验证连通性。从源码看四个测试端点remote / embedding / rerank / multimodal共享统一的ModelTestRequest结构internal/handler/initialization.go包含source、modelName、baseUrl、apiKey、provider、interfaceType、dimension、customHeaders、extraConfig、appSecret、modelId等字段其中modelId支持基于已存模型复用密钥请求未显式传apiKey/appSecret时fillSecretsFromStoredModelinternal/handler/initialization.go会从数据库中的模型记录补全密钥使测试连接按钮无需前端回传明文 Key 即可工作。所有 Base URL 均执行 SSRF 校验。错误消息会经过classifyConnectionErrorinternal/handler/initialization.go归类为「认证失败请检查API Key」「API端点不存在请检查Base URL」「连接超时」等可读提示并保留上游原始错误以便排查。1. POST/initialization/remote/check—— 检查远程模型 API请求:curl --location http://localhost:8080/api/v1/initialization/remote/check \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json \ --data { api_url: https://api.openai.com/v1, api_key: sk-xxxxx, model: gpt-4o }响应实际实现为availablemessage形态{ data: { available: true, message: 连接正常模型可用 }, success: true }CheckRemoteModelinternal/handler/initialization.go通过checkChatModelConnection使用 chat 模块发起一次最小化调用MaxTokens: 1、关闭思考模式当上游返回 400 时端点可达、鉴权通过仅参数风格差异如max_tokens与max_completion_tokens同样视为可用。2. POST/initialization/embedding/test—— 测试嵌入模型请求:curl --location http://localhost:8080/api/v1/initialization/embedding/test \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json \ --data { api_url: https://api.openai.com/v1, api_key: sk-xxxxx, model: text-embedding-3-small }响应实际实现额外返回向量维度{ data: { available: true, message: 测试成功向量维度1536, dimension: 1536 }, success: true }TestEmbeddingModelinternal/handler/initialization.go会真实执行一次emb.Embed(ctx, hello)调用把返回向量的长度作为维度回填——维度是后续创建索引、校验分块向量对齐的关键参数。特殊处理阿里云多模态 Embedding 模型模型名含vision/multimodal暂不支持会直接返回不可用提示。3. POST/initialization/rerank/check—— 检查重排序模型请求:curl --location http://localhost:8080/api/v1/initialization/rerank/check \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json \ --data { api_url: https://api.cohere.ai/v1, api_key: sk-xxxxx, model: rerank-english-v3.0 }响应实际实现为availablemessage形态{ data: { available: true, message: 重排功能正常返回1个结果 }, success: true }CheckRerankModelinternal/handler/initialization.go通过checkRerankModelConnection执行一次最小重排对ping与pong做相关性打分并要求至少返回 1 条结果对于 LKEAP / Volcengine 等需要 AppSecret 的供应商会使用解密后的appSecret发起请求。4. POST/initialization/multimodal/test—— 测试多模态模型与上述 JSON 端点不同该端点接收multipart/form-data表单需要上传一张测试图片完整字段包括image文件、vlm_model、vlm_base_url、vlm_api_key、vlm_interface_type、storage_typecos/minio、cos_secret_id、cos_secret_key、cos_region、cos_bucket_name、cos_app_id、cos_path_prefix、minio_bucket_name、minio_path_prefix、chunk_size、chunk_overlap、separators。请求:curl --location http://localhost:8080/api/v1/initialization/multimodal/test \ --header X-API-Key: sk-xxxxx \ --form image/path/to/test.png \ --form vlm_modelgpt-4o \ --form vlm_base_urlhttps://api.openai.com/v1 \ --form vlm_api_keysk-xxxxx \ --form vlm_interface_typeopenai \ --form storage_typecos \ --form cos_secret_idxxx \ --form cos_secret_keyxxx \ --form cos_regionap-guangzhou \ --form cos_bucket_namemy-bucket \ --form cos_app_id1250000000响应实际实现返回caption/ocr与处理耗时{ data: { success: true, caption: 图片内容描述, ocr: 图片中的文字, processing_time: 1234 }, success: true }TestMultimodalFunctioninternal/handler/initialization.go的校验逻辑storage_type仅接受cos/minioCOS 必填 SecretID/SecretKey/Region/BucketName/AppIDPathPrefix 可选MinIO 必填 BucketName上传文件仅允许image/*类型且受MAX_FILE_SIZE_MB默认 50MB限制vlm_interface_typeollama时自动拼OLLAMA_BASE_URL /v1。测试链路经由 DocReader 服务的图片解析管线返回markdown/caption/ocr等解析结果。五、知识图谱文本关系提取POST/initialization/extract/text-relation—— 提取文本关系用于在建图前从一段文本中抽取实体Entities与关系Relations结果可回填到知识库的图谱抽取配置中。请求:curl --location http://localhost:8080/api/v1/initialization/extract/text-relation \ --header X-API-Key: sk-xxxxx \ --header Content-Type: application/json \ --data { text: WeKnora 是一个知识管理平台支持多种文档格式的解析和检索。, model_id: model-00000001 }响应:{ data: { entities: [ {name: WeKnora, type: Product}, {name: 知识管理平台, type: Concept} ], relations: [ { source: WeKnora, target: 知识管理平台, relation: is_a } ] }, success: true }源码中的实际结构为TextRelationExtractionRequest{text, tags, model_id}internal/handler/initialization.go即tags关系标签为必填text长度上限5000 字符。实现链路ExtractTextRelations→extractRelationsFromTextinternal/handler/initialization.go通过modelService.GetChatModel按model_id加载对话模型。使用chatpipeline.NewExtractor结合graph_extraction.yaml提示词模板见 config/config.yaml 与 config/prompt_templates/graph_extraction.yaml驱动模型完成实体/关系抽取。抽取完成后调用RemoveUnknownRelation过滤掉无法归入已选标签的关系最终返回nodes与relations。与之配套的初始化端点还有POST /initialization/extract/fabri-tag随机生成一组标签候选池为Content, Culture, Person, Event, Time, Location, Work, Author, Relation, Attribute与POST /initialization/extract/fabri-text按标签生成示例文本用于辅助用户配置图谱抽取。六、路由与权限矩阵从 internal/router/routes_infra.go 的路由注册可以看到初始化接口的 RBAC 设计如下端点JWT 侧最低权限API Key 侧要求KB 维度守卫GET /initialization/config/:kbIdViewerretrieve能力full-access keyKBAccessRead受限 Key 仅可读其范围内知识库POST /initialization/initialize/:kbId与PUT /knowledge-bases/:id同等敏感manage_knowledge_basesOwnedKBOrAdminFromKbIDParamKBAccessWritePUT /initialization/config/:kbId同上manage_knowledge_bases同上GET /initialization/ollama/status、.../models、.../download/progress/:taskId、.../download/tasksViewermanage_modelsfull-access key 可用空间级不绑 KBPOST /initialization/ollama/models/check、.../models/download、/remote/check、/embedding/test、/rerank/check、/asr/check、/multimodal/test、/extract/*Adminmanage_models空间级其中/initialization/*下以:kbId寻址知识库的端点还纳入了跨空间越权防护见 internal/router/rbac.go 的相关注释与 internal/router/router_wiki_test.go 的越权用例确保租户/空间隔离。七、Go 客户端 SDK 调用WeKnora 提供了官方 Go SDKclient包所有初始化端点均有对应方法client/initialization.goSDK 方法对应端点说明GetInitializationConfig(ctx, kbID)GET /initialization/config/:kbId返回脱敏后的KBModelConfigView含retrieval_ready标记InitializeByKB(ctx, kbID, config)POST /initialization/initialize/:kbId载荷为扁平模型 ID 的InitializationConfigSetKBModelConfig(ctx, kbID, cfg)PUT /initialization/config/:kbId推荐用法绑定已注册模型服务端拒绝未知模型 ID 且不允许已有文件的知识库更换 Embedding 模型CheckOllamaStatus(ctx)/ListOllamaModels(ctx)/CheckOllamaModels(ctx, models)/DownloadOllamaModel(ctx, modelName)/GetOllamaDownloadProgress(ctx, taskID)/ListOllamaDownloadTasks(ctx)Ollama 六端点一一对应CheckRemoteModel(ctx, params)/TestEmbeddingModel(ctx, params)/CheckRerankModel(ctx, params)/TestMultimodalFunction(ctx, params)测试类端点params为map[string]stringExtractTextRelations(ctx, params)POST /initialization/extract/text-relation返回原始 JSON值得强调的是KBModelConfigViewclient/initialization.go是刻意设计的只读脱敏视图SDK 在解析 GET 配置响应时只读取source/modelName/dimension/enabled等非敏感字段服务端载荷中的apiKey/baseUrl因未映射进结构体而永远不会经 CLI 泄露这与buildConfigResponse服务端的密钥脱敏形成双重保障。retrieval_ready字段表示知识库是否已绑定 Embedding 模型即能否执行向量化与检索。八、实战建议首次接入优先走POST /initialization/initialize它能一次性完成模型创建与知识库绑定尤其适合需要同时配置分块、多模态存储与图谱抽取的新建知识库。模型已存在时用PUT /initialization/configSDK 用SetKBModelConfig注意修改已有文件的 Embedding 模型会被拒绝属于预期保护行为。Ollama 下载是异步的提交下载后应轮询GET /initialization/ollama/download/progress/:task_id或汇总查看GET /initialization/ollama/download/tasks任务表为进程内存态服务重启后需重新提交。善用测试端点做预检在写入配置前先调用/embedding/test拿到真实向量维度、用/remote/check验证对话模型连通性可显著减少落库后再返工的次数所有 Base URL 都会经过 SSRF 校验内网/保留地址请求会被拒绝。密钥不回传无论 GET 配置还是 SDK 视图明文 API Key 都不会出现在响应中credentials.apiKey布尔值与fillSecretsFromStoredModel的modelId复用机制已覆盖重新验证既有模型的场景。至此WeKnora 初始化配置 API 的四大能力知识库模型编排、Ollama 生命周期管理、模型连通性测试、图谱文本关系提取及其源码级实现均已梳理完毕。更多端点细节可随时查阅随代码自动生成的 Swagger UIhttp://localhost:8080/swagger/index.html与 docs/api/initialization.md。【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价