文档下载建议反馈入口

  • 部署 KAT
  • 访问 KAT

安装部署

用户可以在 Windows、MacOS、Linux 平台部署 KAT。本文档介绍如何使用 Docker Compose 整体部署 KAT。

部署 KAT

前提条件

  • 安装open in new window Docker Compose。
  • KAT 默认使用以下端口。确保目标机器的以下端口没有被占用且没有被防火墙拦截。如需使用其他端口,可在安装部署过程中进行修改。
    • 8000:KWDB Agent Server API 服务端口。
    • 8123:KWDB Agent Server Copilot 服务的端口。
    • 3000:KWDB Agent UI 的端口。
    • 3100:KWDB Agent VIS 的端口。
    • 5432:PostgreSQL 数据库端口。
  • 安装用户为 root 用户。root 用户在进行部署时无需输入密码。
  • 联系open in new window KaiwuDB 技术支持人员,获取 KWDB Agent Server 镜像。
  • 联系open in new window KaiwuDB 技术支持人员,获取 KWDB Agent UI 镜像。
  • 联系open in new window KaiwuDB 技术支持人员,获取 KWDB Agent VIS 镜像。
  • (可选)如需以安全模式连接 KaiwuDB 数据库,用户需要生成 CA 证书和密钥、客户端证书和密钥、节点证书和密钥。有关详细信息,参见 kwdb cert 命令参考

步骤

如需使用 YAML 文件部署 KAT,遵循以下步骤。

  1. 创建一个目录。然后在该目录下创建 docker-compose.yml 配置文件并配置相关参数。

    配置文件示例:

    services:
      postgres:
        image: postgres:16.13-alpine3.22 # 如无法拉取该版本,可替换为 postgres:16-alpine
        container_name: kat-postgres
        restart: unless-stopped
        environment:
          POSTGRES_USER: katadmin
          POSTGRES_PASSWORD: kat_2026
          POSTGRES_DB: katdb
        ports:
          - "5432:5432"
        volumes:
          - /your/local/path/data/postgres:/var/lib/postgresql/data
        healthcheck:
          test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
          interval: 5s
          timeout: 5s
          retries: 5
    
      kat-server:
        image: "$kat-server"
        container_name: kat-server
        restart: unless-stopped
        depends_on:
          postgres:
            condition: service_healthy
        environment:
          LOG_LEVEL: "your_log_level"
          DATABASE_URL: "katadmin:kat_2026@localhost:5432/katdb"
          LANGCHAIN_TRACING: "false"
          LANGSMITH_PROJECT: "your_langchain_project_name"
          LANGSMITH_ENDPOINT: "https://api.smith.langchain.com"
          LANGSMITH_API_KEY: "your_langchain_api_key"
          KNOWLEDGE_API_URL: "your_knowledge_api_url"
          KNOWLEDGE_BASE_SERVER_HOST: "localhost"
          KNOWLEDGE_BASE_SERVER_PORT: "8002"
          KWDB_MCP_SERVER_HOST: "localhost"
          KWDB_MCP_SERVER_PORT: "8003"
          CERTS_BASE_DIR: "/app/data/certs"
          AUTH_ENABLED: "false"
          KWDB_CMD_MCP_SERVER_SSE_READ_TIMEOUT: "3600"
          TRUSTED_HOSTS: "your_trusted_hosts" 
          FRONTEND_ORIGIN: "your_frontend_origin_url"
        network_mode: host
        volumes:
          - /your/local/path/data/:/app/data/
          - /your/local/path/certs:/app/data/certs # 如需以安全模式连接 KaiwuDB 数据库。
          - /your/local/path/kwdb-mcp-server:/user/local/bin/kwdb-mcp-server # (可选)挂载 KWDB MCP Server 二进制安装包。
        command: ["/app/entrypoint.sh"]
    
      kat-ui:
        image: "$kat-ui"
        container_name: kat-ui
        restart: unless-stopped
        network_mode: host
        environment:
          COPILOT_URL: http://localhost:8123
          BACKEND_URL: http://localhost:8000
          AUTH_ENABLED: "false"
    
      kat-vis:
        image: "$kat-vis"
        container_name: kat-vis
        restart: unless-stopped
        # MacOS 系统不能使用 host 模式
        network_mode: host
        #ports:
        #  - "3100:3100"
        environment:
          RENDERED_IMAGE_HOST_PATH: http://localhost:3100/charts
        volumes:
          - /your/local/path/data/charts:/tmp/kat-vis-charts
    

    参数说明:

    • postgres.environment:PostgreSQL 数据库的环境变量。
      • POSTGRES_USER:PostgreSQL 用户名,默认为 katadmin
      • POSTGRES_PASSWORD:PostgreSQL 用户密码,默认为 kat_2026。生产环境建议修改为强密码。
      • POSTGRES_DB:KAT 元数据库名称,默认为 katdb
    • postgres.ports:PostgreSQL 服务的端口映射配置。
    • postgres.volumes:PostgreSQL 数据目录的映射路径。
    • postgres.healthcheck:PostgreSQL 服务的健康检查配置。kat-server 在 PostgreSQL 健康检查通过后启动。
    • kat-server.restart:KWDB Agent Server 的重启方式。
    • kat-server.depends_on:配置 kat-serverpostgres 服务健康检查通过后启动。
    • kat-server.environment:KWDB Agent Server 支持的环境变量。用户可根据实际环境按需修改以下环境变量。
      • LOG_LEVEL:日志级别,支持设置为 ERRORWARNINFO、或 DEBUG 选项。
      • DATABASE_URL:KAT 元数据库的连接信息,格式为 用户名:密码@主机:端口/数据库名。该参数取值需要与 postgres.environmentPOSTGRES_USERPOSTGRES_PASSWORDPOSTGRES_DB 的取值保持一致。
      • LANGCHAIN_TRACING:配置是否开启 LangChain 链路追踪。支持设置为 truefalse
      • LANGSMITH_PROJECT:待追踪的项目名称。
      • LANGSMITH_ENDPOINT:LangSmith 收集过程数据的 API 地址。默认设置为 https://api.smith.langchain.com
      • LANGSMITH_API_KEY:LangSmith API 密钥。
      • KNOWLEDGE_API_URL:KaiwuDB 知识库的 API 地址,默认设置为 http://117.73.9.174:8001/proxy/knowledge
      • KNOWLEDGE_BASE_SERVER_HOST:知识库 MCP Server 的主机地址,默认为 localhost
      • KNOWLEDGE_BASE_SERVER_PORT:知识库 MCP Server 的端口,默认为 8002
      • KWDB_MCP_SERVER_HOST:KWDB MCP Server 的主机地址,默认为 localhost
      • KWDB_MCP_SERVER_PORT:KWDB MCP Server 的端口,默认为 8003
      • CERTS_BASE_DIR:证书文件目录,默认为 /app/data/certs
      • AUTH_ENABLED:是否启用认证功能。目前只支持设置为 false
      • KWDB_CMD_MCP_SERVER_SSE_READ_TIMEOUT:KWDB CMD MCP Server 的 SSE 读取超时时间(秒),推荐设置为 3600
      • TRUSTED_HOSTS:可信主机列表,多个主机用英文逗号分隔。生产环境建议配置为实际域名,例如 your-domain.com,www.your-domain.com。如果服务器没有域名,填写 IP 地址和 localhost,例如 localhost,127.0.0.1,<主机IP>
      • FRONTEND_ORIGIN:前端页面的访问地址。生产环境建议配置为实际域名,例如 http://your-domain.com:3000。如果服务器没有域名,填写实际 IP 地址,例如 http://<主机IP>:3000
    • kat-server.network_mode: 配置 KWDB Agent Server 的网络访问模式。支持设置为 host,表示 KWDB Agent Server 容器直接使用宿主机的网络配置,而无需创建独立的虚拟网络环境。
    • kat-server.volumes:数据库的映射目录。
    • kat-server.command:容器启动后,默认执行的命令。
    • kat-ui.image:KWDB Agent UI 的镜像名称。
    • kat-ui.container_name:自定义 KWDB Agent UI 的容器名称。
    • kat-ui.restart:KWDB Agent UI 的重启方式。
    • kat-ui.network_mode: 配置 KWDB Agent UI 的网络访问模式。该参数取值需要与 kat-server.network_mode 参数的取值保持一致。
    • kat-ui.environment:KWDB Agent UI 支持的环境变量。用户可根据实际环境按需修改以下环境变量。
      • COPILOT_URL:KWDB Agent Server Copilot 服务的地址。
      • BACKEND_URL:KWDB Agent Server API 服务的地址。
      • AUTH_ENABLED:是否启用认证功能。目前只支持设置为 false
    • kat-vis.image:KWDB Agent VIS 的镜像名称。
    • kat-vis.container_name:自定义 KWDB Agent VIS 的容器名称。
    • kat-vis.restart:KWDB Agent VIS 的重启方式。
    • kat-vis.network_mode:配置 KWDB Agent VIS 的网络访问模式。该参数取值需要与 kat-server.network_mode 参数的取值保持一致。
    • kat-vis.ports:可选参数,KWDB Agent VIS 服务的端口映射配置。
    • kat-vis.environment:KWDB Agent VIS 支持的环境变量。用户可根据实际环境按需修改以下环境变量。
      • RENDERED_IMAGE_HOST_PATH:生成的图片的 URL 前缀。
    • kat-vis.volumes:KWDB Agent VIS 服务的映射目录。
  2. 启动 KAT。

    docker compose up -d
    
  3. (可选)停止 KAT。

    docker compose down
    

访问 KAT

说明

对于 Chrome 浏览器,建议使用 Chrome 110 及以上版本的浏览器。

成功启动 KAT 后,用户即可通过 http://localhost:3000/ 访问 KAT。