
WeKnora Helm Chart 部署指南在 Kubernetes 上部署 AI 知識庫 RAG 平臺【免費下載鏈接】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/WeKnoraWeKnora 是一個開源的 AI 知識庫 RAG 平臺將文檔解析、向量檢索與 BM25 混合檢索、LLM 對話集成和多租戶加密能力整合為一體。本指南基于倉庫中 helm/README.md 及helm/目錄下的 Chart 源碼系統(tǒng)講解如何使用 Helm 3 在 Kubernetes 集群上一鍵部署 WeKnora 全套組件后端 API、前端 UI、Docreader 文檔解析服務(wù)、PostgreSQL/ParadeDB 與 Redis并深入解析每個配置參數(shù)的作用、模板注入邏輯與生產(chǎn)級安全實踐。讀完本文你將掌握從快速安裝、接入外部 LLM、啟用 Ingress 與可選組件MinIO/Neo4j/Qdrant到升級、卸載與排障的完整運維閉環(huán)。Chart 概覽與組件架構(gòu)helm/是一個標(biāo)準(zhǔn) Helm v2apiVersion: v2Application 類型 Chart當(dāng)前 Chart 版本為0.1.0對應(yīng)應(yīng)用版本appVersion: v0.8.0并要求 Kubernetes 版本不低于 1.25見 helm/Chart.yaml。它把一個完整的 WeKnora 知識庫平臺拆分為以下幾個可獨立啟停的組件Frontend基于 Vue.js 的 Web UIwechatopenai/weknora-ui由 Nginx 提供靜態(tài)資源并反向代理后端AppBackend基于 Go/Gin 的 API 服務(wù)器wechatopenai/weknora-app對外暴露 8080 端口負責(zé)知識庫管理、檢索、會話與 LLM 調(diào)用Docreader文檔解析服務(wù)wechatopenai/weknora-docreader通過 gRPC 協(xié)議默認(rèn)docreader:50051向 App 提供 PDF、DOCX、HTML 等多格式解析能力PostgreSQLParadeDB默認(rèn)使用paradedb/paradedb鏡像在 PostgreSQL 之上提供向量檢索pgvector 類能力與 BM25 全文檢索是默認(rèn)的檢索后端Redis用作流管理Stream Manager與異步任務(wù)隊列Async Queue例如文檔處理任務(wù)、會話流式輸出等。各組件通過集群內(nèi) Service 名互相引用整體流量走向如下來自 helm/README.md 的架構(gòu)示意┌─────────────┐ │ Ingress │ └──────┬──────┘ │ ┌───────────────┴───────────────┐ │ │ ▼ ▼ ┌─────────────┐ ┌─────────────┐ │ Frontend │ │ Backend │ │ (Vue.js) │ │ (Go/Gin) │ └─────────────┘ └──────┬──────┘ │ ┌──────────────────────┼──────────────────────┐ │ │ │ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Docreader │ │ PostgreSQL │ │ Redis │ │ (gRPC) │ │ (ParadeDB) │ │ (Queue) │ └─────────────┘ └─────────────┘ └─────────────┘前置條件Kubernetes 1.25Chart 在Chart.yaml中聲明了kubeVersion: 1.25.0-0的硬性約束Helm 3.10支持 Chart 的模板語法與lookup函數(shù)底層基礎(chǔ)設(shè)施需支持 PV ProvisionerPostgreSQL、Redis、上傳文件數(shù)據(jù)都需要持久化存儲Ingress Controller推薦 nginx-ingress如需從集群外訪問 Web UI需要啟用 Ingress。快速開始一條命令拉起全套組件首次安裝只需提供三個必填 Secret數(shù)據(jù)庫密碼、Redis 密碼、JWT 簽名密鑰helm install weknora ./helm \ --namespace weknora \ --create-namespace \ --set secrets.dbPasswordyour-db-password \ --set secrets.redisPasswordyour-redis-password \ --set secrets.jwtSecretyour-jwt-secret安裝完成后Helm 會在終端輸出 helm/templates/NOTES.txt 渲染的提示信息包括未啟用 Ingress 時使用端口轉(zhuǎn)發(fā)訪問kubectl port-forward svc/frontend -n weknora 8080:80 # 然后打開 http://localhost:8080已部署組件清單含各組件鏡像連接 LLM 的環(huán)境變量示例排障常用命令。注意secrets.dbPassword、secrets.redisPassword、secrets.jwtSecret三個參數(shù)在 helm/templates/secrets.yaml 中通過required函數(shù)強校驗缺失時helm install會直接報錯終止這是 Chart 主動拒絕“裸奔部署”的設(shè)計。安裝場景進階啟用 Ingress 對外暴露helm install weknora ./helm \ --namespace weknora \ --create-namespace \ --set ingress.enabledtrue \ --set ingress.hostweknora.example.com \ --set ingress.tls.enabledtrue \ --set ingress.tls.secretNameweknora-tls \ --set secrets.dbPasswordsecure-password \ --set secrets.redisPasswordsecure-password \ --set secrets.jwtSecret$(openssl rand -base64 32)從 helm/templates/ingress.yaml 可以看到路由規(guī)則的設(shè)計/api前綴路徑路由到名為app的后端 Service必須放在前面因為更具體的路徑優(yōu)先匹配/兜底路由到名為frontend的 Service默認(rèn)攜帶一組對知識庫平臺非常關(guān)鍵的 Nginx 注解定義于 helm/values.yaml 的ingress.annotationsannotations: nginx.ingress.kubernetes.io/proxy-body-size: 100m nginx.ingress.kubernetes.io/proxy-connect-timeout: 60 nginx.ingress.kubernetes.io/proxy-read-timeout: 3600 nginx.ingress.kubernetes.io/proxy-send-timeout: 3600其中proxy-body-size: 100m保證大文件上傳不被 Nginx 攔截proxy-read-timeout/send-timeout: 3600為長耗時的 LLM 流式問答留足通道。接入外部 LLM以 Ollama 為例WeKnora 本身不包含模型推理能力需要對接 LLM 后端。Chart 通過app.extraEnv向 App 容器注入任意環(huán)境變量helm install weknora ./helm \ --namespace weknora \ --create-namespace \ --set app.extraEnv[0].nameOLLAMA_BASE_URL \ --set app.extraEnv[0].valuehttp://ollama.ollama:11434 \ --set app.extraEnv[1].nameINIT_LLM_MODEL_NAME \ --set app.extraEnv[1].valueqwen2.5:7b \ --set secrets.dbPasswordsecure-password \ --set secrets.redisPasswordsecure-password \ --set secrets.jwtSecret$(openssl rand -base64 32)app.extraEnv的注入實現(xiàn)在 helm/templates/app.yaml 末尾{{- with .Values.app.extraEnv }}會將列表原樣渲染為容器的 env 條目。結(jié)合 docker-compose.yml 中OLLAMA_BASE_URL、INIT_LLM_MODEL_NAME等變量的定義可以推斷 WeKnora 的模型層兼容 Ollama本地、OpenAI API 兼容端點、Qwen/DeepSeek 等常見 LLM 服務(wù)安裝后也可在 Web 界面的模型設(shè)置中繼續(xù)補充模型配置。生產(chǎn)環(huán)境安裝使用 values 文件生產(chǎn)部署建議把配置固化為values-production.yaml文件# values-production.yaml global: storageClass: fast-ssd app: replicaCount: 3 resources: requests: cpu: 500m memory: 1Gi limits: cpu: 2 memory: 4Gi postgresql: persistence: size: 100Gi ingress: enabled: true host: weknora.company.com tls: enabled: true secretName: weknora-tls secrets: existingSecret: weknora-secrets # Use pre-created secrethelm install weknora ./helm \ --namespace weknora \ --create-namespace \ -f values-production.yaml該示例綜合了四個生產(chǎn)要點指定高性能存儲類global.storageClass、擴展 App 副本數(shù)并設(shè)置資源上限滾動更新策略maxSurge: 1maxUnavailable: 0見 helm/templates/app.yaml、擴大數(shù)據(jù)庫 PVC 容量、復(fù)用預(yù)創(chuàng)建的 Secret 而非在 values 中明文寫密碼。配置參數(shù)全解以下參數(shù)表完整繼承自 helm/README.md 的 Configuration 章節(jié)并結(jié)合 helm/values.yaml 的默認(rèn)值與注釋進行擴充。Global 全局參數(shù)參數(shù)描述默認(rèn)值global.storageClass所有 PVC 使用的存儲類設(shè)為-表示使用集群默認(rèn)存儲類global.imagePullSecrets私有鏡像倉庫的拉取憑證[]global.podSecurityContextPod 級安全上下文默認(rèn)啟用seccompProfile: RuntimeDefault見 values.yamlglobal.containerSecurityContext容器級安全上下文默認(rèn)allowPrivilegeEscalation: false見 values.yamlServiceAccount參數(shù)描述默認(rèn)值serviceAccount.create是否創(chuàng)建 ServiceAccounttrueserviceAccount.nameServiceAccount 名稱留空自動生成serviceAccount.annotationsServiceAccount 注解{}serviceAccount.name的解析邏輯定義在 helm/templates/_helpers.tpl 的weknora.serviceAccountName中創(chuàng)建時默認(rèn)取 release 全名不創(chuàng)建時回退到default。此外 values.yaml 還提供automountServiceAccountToken默認(rèn)false與labels等未在 README 中列出的控制項。App后端參數(shù)描述默認(rèn)值app.enabled是否啟用后端trueapp.replicaCount副本數(shù)1app.image.repository鏡像倉庫wechatopenai/weknora-appapp.image.tag鏡像標(biāo)簽使用appVersionapp.resources資源請求與限制requests: 100m/256Milimits: 1/1Giapp.env內(nèi)置環(huán)境變量見下文見 values.yamlapp.extraEnv附加環(huán)境變量[]值得展開的是app.env中的一組關(guān)鍵運行參數(shù)均來自 helm/values.yaml環(huán)境變量作用Chart 默認(rèn)值GIN_MODEGin 運行模式release為生產(chǎn)模式releaseRETRIEVE_DRIVER檢索引擎驅(qū)動可選postgres、elasticsearch_v7、elasticsearch_v8、qdrant等postgresSTORAGE_TYPE文件存儲類型可選local、minio、cos、tos、s3等localLOCAL_STORAGE_BASE_DIR本地文件存儲目錄對應(yīng) PVC 掛載點/data/files/data/filesSTREAM_MANAGER_TYPE流管理器類型redisCONCURRENCY_POOL_SIZE文檔處理并發(fā)池大小5AUTO_RECOVER_DIRTY是否自動回收卡在 processing 狀態(tài)的臟任務(wù)trueWEKNORA_SANDBOX_DOCKER_ENABLED是否啟用 Docker 沙箱開啟等同獲得宿主機 root 權(quán)限默認(rèn)關(guān)閉false在 helm/templates/app.yaml 中App 容器還硬編碼了若干與集群內(nèi) Service 強綁定的連接信息理解這些固定值有助于排查問題DB_HOSTpostgres、DB_PORT5432DB_USER/DB_PASSWORD/DB_NAME通過secretKeyRef從 Secret 注入REDIS_ADDRredis:6379、REDIS_DB0、REDIS_PREFIXstream:密碼同樣取自 SecretDOCREADER_ADDRdocreader:50051指向 Docreader 的 gRPC ServiceJWT_SECRET、SYSTEM_AES_KEY均通過secretKeyRef引用 Secret當(dāng)neo4j.enabledtrue時自動注入NEO4J_ENABLEtrue、NEO4J_URIbolt://neo4j:7687及從 Secret 讀取的 Neo4j 憑證。Frontend參數(shù)描述默認(rèn)值frontend.enabled是否啟用前端truefrontend.replicaCount副本數(shù)1frontend.image.repository鏡像倉庫wechatopenai/weknora-uifrontend.image.tag鏡像標(biāo)簽latesthelm/templates/frontend.yaml 會注入APP_HOST默認(rèn)app與APP_PORT默認(rèn)后端 Service 端口 8080兩個環(huán)境變量讓 Nginx 容器知道如何反代后端同時以emptyDir掛載/var/cache/nginx與/var/run滿足 Nginx 對可寫臨時目錄的需求。Service 名固定為frontend被 Ingress 引用。PostgreSQLParadeDB參數(shù)描述默認(rèn)值postgresql.enabled是否啟用 PostgreSQLtruepostgresql.image.repository鏡像倉庫paradedb/paradedbpostgresql.image.tag鏡像標(biāo)簽v0.18.9-pg17postgresql.persistence.enabled是否啟用持久化truepostgresql.persistence.sizePVC 容量10Gihelm/templates/postgres.yaml 中數(shù)據(jù)庫使用Recreate 更新策略避免多副本同時掛載同一數(shù)據(jù)卷造成數(shù)據(jù)損壞POSTGRES_USER/PASSWORD/DB全部取自 Secret數(shù)據(jù)目錄為/var/lib/postgresql/data/pgdata就緒/存活探針均使用pg_isready。Redis參數(shù)描述默認(rèn)值redis.enabled是否啟用 Redistrueredis.image.repository鏡像倉庫redisredis.image.tag鏡像標(biāo)簽7-alpineredis.persistence.enabled是否啟用持久化trueredis.persistence.sizePVC 容量1Gihelm/templates/redis.yaml 使用redis-server --requirepass $(REDIS_PASSWORD) --appendonly yes --dir /data啟動開啟 AOF 持久化密碼來自 Secret探針通過redis-cli -a $REDIS_PASSWORD ping | grep PONG驗證鑒權(quán)后的連通性。Ingress參數(shù)描述默認(rèn)值ingress.enabled是否啟用 Ingressfalseingress.classNameIngressClass 名稱nginxingress.host域名weknora.example.comingress.tls.enabled是否啟用 TLSfalseingress.tls.secretNameTLS 證書 Secret 名稱Secrets參數(shù)描述默認(rèn)值secrets.dbUser數(shù)據(jù)庫用戶名postgressecrets.dbPassword數(shù)據(jù)庫密碼必填secrets.dbName數(shù)據(jù)庫名weknorasecrets.redisPasswordRedis 密碼必填secrets.jwtSecretJWT 簽名密鑰必填secrets.existingSecret使用已有 Secret 而不是自動創(chuàng)建values.yaml 中還有一些 README 未列出的 Secret 細節(jié)值得關(guān)注secrets.redisUsernameRedis 6.0 ACL 用戶名可選secrets.systemAesKey數(shù)據(jù)庫敏感字段 AES-256 加密主密鑰必須恰好為 32 字節(jié)。加密范圍覆蓋租戶 API Key、模型 API Key、向量庫憑證、Web Search Provider 密鑰、WeKnoraCloud AppSecret 等。若留空首次安裝時會隨機生成 32 位值。可選組件對應(yīng) docker-compose profiles參數(shù)描述默認(rèn)值minio.enabled啟用 MinIO 作為 S3 兼容存儲falseneo4j.enabled啟用 Neo4j 知識圖譜GraphRAGfalseqdrant.enabled啟用 Qdrant 向量數(shù)據(jù)庫false這三個開關(guān)與 docker-compose.yml 中的minio、neo4j、qdrantprofile 一一對應(yīng)。啟用細節(jié)MinIO需同時設(shè)置minio.rootPassword以及可選的rootUser默認(rèn)minioadmin持久化默認(rèn) 20GiNeo4j啟用后 Chart 自動向 App 注入NEO4J_ENABLEtrue并創(chuàng)建包含NEO4J_USERNAME/NEO4J_PASSWORD的 Secret 條目此時必須設(shè)置neo4j.password否則required校驗失敗。NEO4J_ENABLE是知識圖譜的唯一開關(guān)舊的ENABLE_GRAPH_RAG已廢棄、Go 主應(yīng)用不再讀取見 helm/templates/app.yaml 與 helm/templates/secrets.yaml 的注釋。Neo4j 鏡像標(biāo)簽為2025.10.1與 docker-compose 保持一致Qdrant作為備選向量庫持久化默認(rèn) 10Gi。啟用后可配合app.extraEnv將RETRIEVE_DRIVER指向 Qdrant。源碼視角模板實現(xiàn)的關(guān)鍵設(shè)計依賴硬編碼的固定 Service 名從 helm/templates/app.yaml、helm/templates/postgres.yaml、helm/templates/redis.yaml、helm/templates/docreader.yaml 的 Service 定義可以看到一個共同設(shè)計Service 名稱被刻意固定為app、postgres、redis、docreader、frontend而不是標(biāo)準(zhǔn)的release-name-組件名命名。模板注釋明確說明這是為了讓 App 容器的DB_HOST、REDIS_ADDR、DOCREADER_ADDR以及前端 Nginx 和 Ingress 的反代目標(biāo)可以穩(wěn)定解析。這意味著在同一 Namespace 內(nèi)多次部署時需要注意 Service 名沖突。Secret 的滾動升級安全helm/templates/secrets.yaml 是模板中最值得研讀的部分之一。它通過 Helm 內(nèi)置的lookup函數(shù)實現(xiàn)“隨機密鑰的冪等生成”{{- $existing : lookup v1 Secret .Release.Namespace $secretName }} {{- $existingSystemKey : }} {{- if and $existing $existing.data }} {{- if index $existing.data SYSTEM_AES_KEY }} {{- $existingSystemKey index $existing.data SYSTEM_AES_KEY | b64dec }} {{- end }} {{- end }} {{- $systemAesKey : .Values.secrets.systemAesKey | default $existingSystemKey | default (randAlphaNum 32) }}其邏輯是優(yōu)先使用用戶顯式設(shè)置的systemAesKey未設(shè)置則回讀集群中已存在的 Secret 里的SYSTEM_AES_KEY并繼續(xù)復(fù)用兩者都為空時才生成新的隨機值。這保證了每次helm upgrade不會重新滾動加密主密鑰——否則舊密鑰加密的數(shù)據(jù)如租戶 API Key將永久無法解密界面上會顯示enc:v1:...密文。命名與標(biāo)簽規(guī)范helm/templates/_helpers.tpl 提供了完整的命名與標(biāo)簽?zāi)0鍂eknora.fullnamerelease 名與 chart 名拼接、截斷 63 字符、weknora.componentLabels統(tǒng)一注入helm.sh/chart、app.kubernetes.io/version、app.kubernetes.io/managed-by、app.kubernetes.io/part-of: weknora與組件級app.kubernetes.io/component標(biāo)簽。排障時可以直接利用這些標(biāo)簽篩選資源例如kubectl get pods -n weknora -l app.kubernetes.io/instanceweknora kubectl logs -n weknora -l app.kubernetes.io/componentapp -f存儲類、鏡像與安全上下文的合并規(guī)則weknora.storageClasshelm/templates/_helpers.tpl約定global.storageClass為空時不寫storageClassName使用集群默認(rèn)存儲類設(shè)為-時顯式寫入空字符串其余情況寫入指定的存儲類名。Pod 安全上下文則遵循“組件覆蓋合并全局默認(rèn)”的規(guī)則app組件可在app.podSecurityContext中覆蓋global.podSecurityContext而 postgres/redis/frontend/docreader 直接使用全局值。安全最佳實踐Secret 管理永遠不要把密鑰提交到 GitChart 提供三種可選方式Helm--set標(biāo)志僅限測試環(huán)境helm install weknora ./helm --set secrets.dbPasswordxxxExternal Secrets Operator生產(chǎn)推薦把云廠商 Secret Manager 同步為集群 Secret 后復(fù)用secrets: existingSecret: weknora-external-secret使用existingSecret時Chart 不再創(chuàng)建自己的 Secrethelm/templates/secrets.yaml 最外層即{{- if not .Values.secrets.existingSecret }}守衛(wèi)要求 Secret 內(nèi)必須包含DB_USER、DB_PASSWORD、DB_NAME、REDIS_USERNAME、REDIS_PASSWORD、JWT_SECRET、SYSTEM_AES_KEY這些鍵各組件模板通過secretKeyRef按鍵名讀取Sealed SecretsGitOps 場景把 Secret 加密成可入庫的 SealedSecretkubeseal secret.yaml sealed-secret.yamlPod 安全Chart 遵循 CNCF 安全最佳實踐定義于 helm/values.yaml 的 global 安全上下文默認(rèn)不啟用runAsNonRoot——因為官方鏡像nginx、postgres、redis默認(rèn)以 root 運行強制非 root 反而導(dǎo)致啟動失敗values.yaml 中對此有專門注釋說明所有容器默認(rèn)allowPrivilegeEscalation: false禁止提權(quán)Pod 默認(rèn)啟用seccompProfile: RuntimeDefaultServiceAccount 默認(rèn)automountServiceAccountToken: false降低容器內(nèi)被竊取 API 憑證的風(fēng)險文件系統(tǒng)寫權(quán)限按需最小化僅 App 容器掛載可寫的/data/filesPVC前端 Nginx 只掛載兩個emptyDir臨時目錄數(shù)據(jù)庫與 Redis 各掛載各自的數(shù)據(jù)卷。升級與卸載升級helm upgrade weknora ./helm \ --namespace weknora \ --reuse-values--reuse-values會保留上一次安裝時通過--set傳入的值避免升級時因未重復(fù)傳參而覆蓋生產(chǎn)配置。由于 Secret 模板具備“l(fā)ookup 復(fù)用舊密鑰”的能力升級不會導(dǎo)致SYSTEM_AES_KEY輪換詳見上文模板解析。卸載helm uninstall weknora --namespace weknora # 可選清理 PVC kubectl delete pvc -n weknora -l app.kubernetes.io/instanceweknoraHelm 默認(rèn)不會刪除 PVC避免誤刪數(shù)據(jù)需要按 release 標(biāo)簽顯式清理持久化數(shù)據(jù)。故障排查指南基礎(chǔ)排查# 查看 Pod 狀態(tài) kubectl get pods -n weknora # 后端日志 kubectl logs -n weknora -l app.kubernetes.io/componentapp -f # 前端日志 kubectl logs -n weknora -l app.kubernetes.io/componentfrontend -f由于模板統(tǒng)一注入了組件標(biāo)簽app.kubernetes.io/component可以精準(zhǔn)篩選app、frontend、docreader、databasePostgreSQL、cacheRedis等組件。常見問題Pod 一直處于 Pending檢查 PVC 是否已綁定kubectl get pvc -n weknora確認(rèn)存儲類存在kubectl get scConnection refused 錯誤等待所有 Pod 變?yōu)?ReadyApp 依賴數(shù)據(jù)庫、Redis、Docreader 全部就緒檢查 Service 端點是否正常kubectl get endpoints -n weknora數(shù)據(jù)庫連接錯誤核對 Secret 中的賬號密碼是否與secrets.*配置一致查看 PostgreSQL 日志kubectl logs -n weknora -l app.kubernetes.io/componentdatabaseLLM 無法調(diào)用通過--set app.extraEnv[...]確認(rèn)OLLAMA_BASE_URL等變量已正確注入可用kubectl exec進入容器env驗證若使用了 Ollama確認(rèn)集群網(wǎng)絡(luò)可以連通 Ollama 的 Service 地址。從 docker-compose 到 Kubernetes 的遷移對照這份 Chart 與倉庫根目錄的 docker-compose.yml 存在清晰的對應(yīng)關(guān)系理解這種映射有助于快速定位“compose 能跑、K8s 不行”的問題docker-compose 服務(wù)Helm 組件說明frontendweknora-uifrontend.*Nginx 反代注入APP_HOST/APP_PORTappweknora-appapp.*后端 API掛載/data/filesdocreaderdocreader.*gRPC 文檔解析探針用grpc_health_probepostgresparadedb/paradedbpostgresql.*默認(rèn)檢索后端注意 compose 用v0.22.2-pg17Chart 默認(rèn)v0.18.9-pg17可按需覆蓋postgresql.image.tagredisredis.*隊列與流管理minio/neo4j/qdrantprofileminio.*/neo4j.*/qdrant.*可選組件默認(rèn)關(guān)閉兩種部署方式共享同一套環(huán)境變量語義如RETRIEVE_DRIVER、STORAGE_TYPE、SYSTEM_AES_KEY因此遷移時可以把成熟的 compose.env經(jīng)驗直接映射為app.extraEnv。結(jié)語WeKnora 的 Helm Chart 是一個組件劃分清晰、生產(chǎn)化考慮周全的部署方案固定 Service 名的“零配置互聯(lián)”設(shè)計降低了上手門檻lookup冪等密鑰保證了升級安全可選的 MinIO/Neo4j/Qdrant 組件讓部署拓撲可以隨知識圖譜、向量檢索等能力需求平滑演進。本文涉及的完整參數(shù)表可直接參考 helm/values.yaml模板實現(xiàn)細節(jié)可查閱 helm/templates/ 下的各個渲染文件若需要進一步了解平臺自身的能力如文檔解析、混合檢索、RBAC 與加密機制可以繼續(xù)閱讀倉庫根目錄的 README.md 與 docs 目錄下的相關(guān)文檔。【免費下載鏈接】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創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考