PIG AI 是面向 Java 生态的 LLM 应用开发平台,内置 RAG 引擎、Agent 框架和 50+ 模型接入,提供界面与 API 两种使用方式。Java 开发者可以用它搭建智能客服、智能文档等企业场景。

PIG AI 技术指南文档地址:https://docs.pig4cloud.com/ai

本地体验

以下是体验试用版,试用版未开启各种高级属性(文本清洗、深度抽取等),仅供测试使用。

# Linux 一键安装 Docker 并自动配置国内镜像源
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

# 自动部署和运行 PIG AI,预计需要 5 分钟左右,取决于网络环境
curl https://try.pig4cloud.com/ai.sh | bash
# 关闭清空,停止运行
curl https://try.pig4cloud.com/ai.sh | bash -s stop

系统将自动拉取并启动 PIG AI 所需的全部容器组件。 部署完成后,预计 5 分钟左右,通过浏览器访问:

  • 访问地址:http://服务器IP:38080
  • 默认账号:admin
  • 默认密码:123456

获取源码

查看 https://try.pig4cloud.com/ai.sh 内容,得到 docker compose 配置文件的地址 https://try.pig4cloud.com/docker-compose-aitest-remote.yml

其内容如下:

services:
  pigx-mysql-real:
    environment:
      ROOT_PASSWORD: 123456ROOT 
    restart: always
    container_name: pigx-mysql-real
    image: docker.1ms.run/pig4cloud/seekdb:latest
    networks:
      - spring_cloud_default

  pigx-mysql:
    image: docker.1ms.run/alpine/socat
    container_name: pigx-mysql
    restart: always
    command: TCP-LISTEN:3306,fork,reuseaddr TCP:pigx-mysql-real:2881
    networks:
      - spring_cloud_default
    ports:
      - 33306:3306
    depends_on:
      - pigx-mysql-real

  pigx-gateway:
    container_name: pigx-gateway
    image:  docker.1ms.run/pig4cloud/pigx-gateway:latest
    restart: always
    networks:
      - spring_cloud_default
    depends_on:
      - pigx-mysql

  pigx-ai-ui:
    container_name: pigx-ai-ui
    image:  docker.1ms.run/pig4cloud/pigx-ai-ui:latest
    restart: always
    ports:
      - 38080:80
    networks:
      - spring_cloud_default
    depends_on:
      - pigx-gateway

networks:
  spring_cloud_default:
    name: spring_cloud_default
    driver: bridge

可以看到 pig ai 是使用的单体服务部署的,对应的镜像是 docker.1ms.run/pig4cloud/pigx-gateway:latest。

直接访问 https://try.pig4cloud.com ,可以看到 pigx 微服务版本的 docker-compose 文件。

version: "3"
services:
  pig-mysql:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-mysql:latest
    environment:
      MYSQL_ROOT_HOST: "%"
      MYSQL_ROOT_PASSWORD: root
    restart: always
    container_name: pig-mysql
    ports:
      - 33306:3306
    networks:
      - spring_cloud_default

  pig-redis:
    image: registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis
    ports:
      - 36379:6379
    restart: always
    container_name: pig-redis
    hostname: pig-redis
    networks:
      - spring_cloud_default

  pig-register:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-register:latest
    restart: always
    ports:
      - 8848:8848
      - 9848:9848
      - 8080:8080
    environment:
      MYSQL_HOST: pig-mysql
      REDIS_HOST: pig-redis
    container_name: pig-register
    hostname: pig-register
    networks:
      - spring_cloud_default

  pig-gateway:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-gateway:latest
    restart: always
    ports:
      - 9999:9999
    container_name: pig-gateway
    hostname: pig-gateway
    environment:
      REDIS_HOST: pig-redis
      NACOS_HOST: pig-register
    networks:
      - spring_cloud_default

  pig-auth:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-auth:latest
    restart: always
    container_name: pig-auth
    hostname: pig-auth
    environment:
      REDIS_HOST: pig-redis
      NACOS_HOST: pig-register
    networks:
      - spring_cloud_default

  pig-upms:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-upms:latest
    restart: always
    container_name: pig-upms
    hostname: pig-upms
    environment:
      MYSQL_HOST: pig-mysql
      REDIS_HOST: pig-redis
      NACOS_HOST: pig-register
    networks:
      - spring_cloud_default

  pig-monitor:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-monitor:latest
    restart: always
    ports:
      - 5001:5001
    container_name: pig-monitor
    hostname: pig-monitor
    environment:
      NACOS_HOST: pig-register
    networks:
      - spring_cloud_default

  pig-codegen:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-codegen:latest
    restart: always
    container_name: pig-codegen
    hostname: pig-codegen
    environment:
      MYSQL_HOST: pig-mysql
      REDIS_HOST: pig-redis
      NACOS_HOST: pig-register
    networks:
      - spring_cloud_default

  pig-quartz:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-quartz:latest
    restart: always
    container_name: pig-quartz
    hostname: pig-quartz
    environment:
      MYSQL_HOST: pig-mysql
      REDIS_HOST: pig-redis
      NACOS_HOST: pig-register
    networks:
      - spring_cloud_default

  pig-ui:
    image: registry.cn-hangzhou.aliyuncs.com/pigx/pig-ui:latest
    restart: always
    ports:
      - 80:80
    container_name: pig-ui
    hostname: pig-ui
    networks:
      - spring_cloud_default

networks:
  spring_cloud_default:
    name: spring_cloud_default
    driver: bridge

如何获取 pigx ai 源码呢?

docker create --name pigx-gateway docker.1ms.run/pig4cloud/pigx-gateway:latest

# 导出镜像内容
docker export pigx-gateway > pigx-gateway.tar

# 解压文件
mkdir pigx-gateway
tar -zxvf pigx-gateway.tar -C pigx-gateway

# 解压 jar
cd pigx-gateway/pigx-boot
jar -xvf app.jar

# 查看 pigx 版本
ls BOOT-INF/lib/|grep pigx

输出内容如下:

pigx-aigc-api-5.12.0.jar
pigx-aigc-biz-5.12.0.jar
pigx-app-server-api-5.12.0.jar
pigx-app-server-biz-5.12.0.jar
pigx-auth-5.12.0.jar
pigx-codegen-5.12.0.jar
pigx-common-audit-5.12.0.jar
pigx-common-core-5.12.0.jar
pigx-common-data-5.12.0.jar
pigx-common-datasource-5.12.0.jar
pigx-common-encrypt-api-5.12.0.jar
pigx-common-excel-5.12.0.jar
pigx-common-feign-5.12.0.jar
pigx-common-gateway-5.12.0.jar
pigx-common-gray-5.12.0.jar
pigx-common-idempotent-5.12.0.jar
pigx-common-log-5.12.0.jar
pigx-common-milvus-5.12.0.jar
pigx-common-neo4j-5.12.0.jar
pigx-common-oss-5.12.0.jar
pigx-common-security-5.12.0.jar
pigx-common-seekdb-5.12.0.jar
pigx-common-sensitive-5.12.0.jar
pigx-common-sentinel-5.12.0.jar
pigx-common-sequence-5.12.0.jar
pigx-common-sse-5.12.0.jar
pigx-common-swagger-5.12.0.jar
pigx-common-xss-5.12.0.jar
pigx-daemon-quartz-5.12.0.jar
pigx-flow-api-5.12.0.jar
pigx-flow-biz-5.12.0.jar
pigx-mp-platform-5.12.0.jar
pigx-pay-platform-5.12.0.jar
pigx-upms-api-5.12.0.jar
pigx-upms-biz-5.12.0.jar

可以看到目前pigx 的版本为 5.12.0,该版本对 AI 模块进行了系统级重构升级:

  • pigx-knowledge 模块更名为 pigx-aigc ,模块拆分为 API 与 BIZ 两个子模块。从单一 RAG 知识库能力,升级为完整的 AIGC 智能应用平台。

  • 新增了 pigx-common-seekdb 模块。

接下来就可以使用反编译工具查看 pigx 相关 jar 包的源码了。具体如何操作,本文不做介绍。

如果你想获得最新的 pigx 的源代码,以下是我从互联网上能找到相对较新版本的源码:

新功能特性

该版本对 Claude Code 能力进行了深度集成,实现了 Java 应用与 Claude Code 的无缝联动。通过外置应用即可调度 Claude Code 的能力,并在此基础上构建可复用的通用 Agent。

新功能特性:

  • AI 代码评审。 新增代码评审功能,支持自动评审、历史记录和报告生成。内置敏感信息脱敏。
  • AI 智能巡检。 新增日志巡检功能模块,支持任务管理、历史追踪和实时巡检,结合 AI 分析系统健康状况。
  • AI Skills 支持。
    • 新增 AI Skills 模块,支持技能管理、技能聊天与文件管理。
    • 集成 Claude Code CLI 执行技能,内置沙箱机制控制运行环境。
  • RAG 增强。
    • 新增 SeekDB 向量库支持,一套 MySQL 支持存储业务数据和向量数据
    • Milvus 和 SeekDB 支持稀疏搜索与混合搜索,大幅度提升召回精度
    • MinerU 和 PaddleOCR 支持在线配置 API Key,不用改配置文件重启
    • 新增 PaddleOCR 异步文档解析,大批量文档处理不阻塞主流程
    • 新增 embedding 调用记录,方便追踪用量
    • 文档解析模型配置支持动态管理,新增文本文件解析,标签条件查询按数据集动态加载
  • AI 对话增强。
    • 新增信息图生成(INFOGRAPHIC_CHAT),在对话中直接生成图表
    • AI 海报新增默认模板,二维码上传改为可选
    • 新增敏感词检测开关
    • AI 模型供应商选择支持分组管理,新增多模态向量支持
    • 批量新增模型时增加 API Key 校验和 CSV 解析
    • LLM 节点新增联网搜索能力
    • AI 节点新增流式输出控制,改进流式内容发送逻辑
    • 新增 CURL 和 SDK 调用代码示例
    • 各节点支持会话 ID 前缀,方便多会话并行

依赖升级:

  • 升级 Spring Boot 至 3.5.11
  • 升级 LangChain4j 至 1.11.0
  • 升级 Spring AI 至 1.1.2
  • 升级 MyBatis-Plus 至 3.5.16