FIT Framework:Java 企业级 AI 开发框架的架构全貌、构建流程与快速上手
人工智能大模型AI 应用后端AI AgentRAG流程编排微服务【免费下载链接】fit-frameworkFIT: 企业级AI开发框架提供多语言函数引擎FIT、流式编排引擎WaterFlow及Java生态的LangChain替代方案FEL。原生/Spring双模运行支持插件热插拔与智能聚散部署无缝统一大模型与业务系统。项目地址https://gitcode.com/ModelEngine/fit-framework点击查看免费下载FIT Frameworkv3.7.0-SNAPSHOT是一个 Java 企业级 AI 开发框架由多语言函数引擎 FIT、流式编排引擎 WaterFlow 以及面向 Java 生态的 LangChain 替代方案 FEL 三大核心组成支持原生与 Spring 双模运行、插件热插拔与“智能聚散”部署。本文基于仓库根目录的 README结合 构建脚本、FIT 运行时、FEL 样例工程 等仓库内容系统讲解它的三大核心架构、设计哲学、环境配置、构建启动全流程以及 AI 编程沙箱等开发工具帮助你在本仓库中完成从编译构建到启动第一个应用的全过程。一、项目定位与三大核心架构仓库根 pom.xml 显示当前工程以org.fitframework:parent:3.7.0-SNAPSHOT作为聚合父 POM包含examples示例与framework框架本体两大模块README 中的徽章表明其运行于 MIT 协议、面向 JDK 17 / JDK 21。README 将 FIT 的架构划分为三个维度FIT Core语言无界算力随需多语言函数计算底座Java/Python/C支持插件化热插拔提供智能聚散部署——代码无需修改即可在单体应用与分布式服务之间切换运行时自动路由本地调用或远程调用。WaterFlow Engine流式智能万物可编排统一 BPM 式图形化编排与响应式声明式 API 双模驱动业务逻辑可按节点动态拼接覆盖从毫秒级微流程到跨系统长事务的场景。FELFIT Expression for LLM为 Java 开发者提供基于标准化原语封装大模型、知识库与工具链的方案让 AI 能力以工程化方式融入 Java 技术栈。1.1 FIT Core插件化、聚散部署与类加载隔离framework/fit/java/README.md 对 FIT 函数平台给出四条核心能力定义多语言融合编程在多种语言中采用统一的接口描述标准分别实现并相互调用插件化开发插件在不依赖其他插件的前提下调用其他插件提供的服务聚散部署插件既可以单插件独立进程运行也可以多插件共享进程运行共享内存即使插件分散为多进程部署也可以以内存访问效率访问共享数据。从源码结构看这些能力都有对应的模块承载framework/fit/java/下包含fit-iocIoC 容器、fit-apiAPI 定义、fit-plugin插件架构、fit-conf配置、fit-runtime运行时、fit-launcher启动程序等子模块README 中列出的《工具集设计》《API 设计》《IoC 容器设计》《配置架构设计》《插件架构设计》《运行时设计》《启动程序设计》等设计文档与这些模块一一对应。“聚散部署”在运行时层面有直接的代码证据。fit-runtime 的入口 提供FitStarter.start(...)静态方法启动应用其runtime包下按部署形态划分了aggregated聚合运行时、direct直连运行时、discrete离散运行时与shared共享类加载四类实现例如DiscreteFitRuntime、AggregatedFitRuntime等对应 README 所说“单体应用与分布式服务一键切换”的底层支撑。启动器模块 fit-launcher 则通过AbstractClassLoader、FrameworkClassLoader、SharedClassLoader构建类加载结构。fit-runtime 的 README 解释了为何要这样组织类加载为了确保框架与插件之间的类隔离避免三方包版本冲突FIT 框架与每个插件使用独立的ClassLoader而框架与插件间可能通过Genericable通信要求接口在双方呈现为同一个类因此SharedClassLoader统一加载fit-api、fit-util及所有Genericable定义FrameworkClassLoader与每个插件的PluginClassLoader均双亲委派至它。这套机制正是“资源自管理插件依赖自动注入”的实现基础。1.2 WaterFlow水流式流程编排引擎waterflow-core 的 README 说明 WaterFlow 是一个水流式流程编排引擎核心特点是支持有界流与无界流处理任意节点可单独灌入数据节点入参水流与出参水流支持 M:N 关系。最小入门示例是ProcessFlowInteger flow Flows.Integercreate() .map(i - i 2) .map(i - i.toString()) .close(r - r.getAll().stream().forEach(i - System.out.println(i.getData()))); flow.offer(new Integer[] {1, 2, 3, 4, 5});它提供了一套完整的声明式节点操作 API这也是 FEL 上层流程编排的“语法基础”操作作用just生成只处理不转换数据的节点map一对一数据转换节点flatMap一对多转换节点用Flows.flux产出新流reduce数据聚合节点支持带初始值与不带初始值两种形式close添加终止节点并返回流对象可指定结束回调conditions开启条件节点配合match分支与others默认分支produce通用 m→n 处理节点入参ListO出参ListRblock阻塞节点需外部调用block.resume()恢复流转window/buffer按条件窗口聚合数据常与reduce/buffer组合keyBy按 key 打标分组供后续节点分组处理parallel/fork/join平行分支开启、创建分支、汇聚需要注意的两条使用限制编排流程须保证无死循环否则数据会持续在循环节点上流转数据流转线程池上限 100每个节点最大同时处理 16 个批次超出的批次排队等待。此外README 还介绍了核心的FlowSessionCache会话缓存机制按flowId - sessionId层级组织缓存负责nextToSessions、flatMapSourceWindows、matchWindows等资源的管理与自动释放确保同一批数据在节点间使用相同会话汇聚、会话结束时自动清理避免内存泄漏。offer是向流投递数据的操作流的运行是异步的offer返回的是本次运行的实例 ID。1.3 FEL用 Java 原语编排大模型应用FEL 面向 Java 生态提供标准化原语模型、模板、记忆、输出解析器、检索增强生成、智能体仓库中保留了两个有代表性的端到端样例README 正文中的两段代码即取自它们。RAGretrieve样例对应 RetrievalExampleController其核心流程是一个“查询改写 向量检索 结果综合”的子流程AiProcessFlowTip, Content retrieveFlow AiFlows.Tipcreate() .runnableParallel(history(), passThrough()) .conditions() .match(tip - !tip.freeze().get(DEFAULT_HISTORY_KEY).text().isEmpty(), node - node.prompt(Prompts.human(REWRITE_PROMPT)) .generate(chatFlowModel) .map(ChatMessage::text)) .others(node - node.map(tip - tip.freeze().get(query).text())) .retrieve(new DefaultVectorRetriever(vectorStore, SearchOption.custom().topK(1).build())) .synthesize(docs - Content.from(docs.stream().map(Document::text).collect(Collectors.joining(\n\n)))) .close();逐行理解runnableParallel(history(), passThrough())将对话历史与原始查询并行放入上下文Tipconditions().match(...)分支判断历史是否为空——非空时用REWRITE_PROMPT调用chatFlowModel改写检索词others分支则直接取query随后retrieve(...)用DefaultVectorRetriever按topK(1)从向量库召回文档synthesize(...)将文档文本拼合为Content。完整控制器中还包含索引构建流程indexFlowload(new JsonFileSource(...)).index(vectorStore)以及最终 RAG 主流程promptgenerate可结合 05. 检索增强生成 阅读。Agent 样例对应 AgentExampleControllerAiProcessFlowString, ChatMessage agentFlow AiFlows.Stringcreate() .map(query - Tip.fromArray(query)) .prompt(Prompts.human({{0}})) .delegate(agent) .close();流程将用户查询包装为Tip经prompt组织提示词后delegate(agent)交给智能体接管——示例中的DefaultAgent由ChatFlowModel与ToolExecuteService构造调用时通过.bind(ChatOption...tools(toolInfos).build())动态绑定工具列表。两段示例的共同入口是 AiFlows除create()建立流程头结点外还提供mono(D)、flux(D...)、source(Emitter)三个数据前置流构造方法。从源码看AiFlows.create()内部先调用 WaterFlow 的Flows.create()生成Start节点再包装出AiProcessFlow——这正是 FEL 建立在 WaterFlow 流编排能力之上的直接证据。二、设计哲学约定优于配置README 强调 FIT 通过“智能约定”大幅减少胶水代码具体体现在三点部署无感化聚散模式自动识别开发者只需声明业务关系无需手工标注远程/本地调用协议透明化HTTP/gRPC/共享内存等通信方式由框架按上下文智能选择资源自管理插件依赖自动注入服务发现与熔断机制内置实现。其目标是让 80% 的通用场景实现零配置同时保留 20% 复杂场景的深度定制能力。这种“契约式”设计与上文 1.1 节的类加载结构、运行时形态划分aggregated/direct/discrete相互呼应框架把部署拓扑与通信细节封装在运行时层业务代码只面向接口Genericable编程从而获得“从单机原型到云原生集群”的架构弹性。README 将其定位为面向 Java 生态的 AI 全栈方案让 Java 开发者无需切换技术栈即可构建现代 AI 应用。三、环境配置开发环境要求README「环境配置」一节项目要求编辑器IntelliJ IDEA推荐JDKJava 17README 徽章同时标注支持 JDK 21代码格式化导入 CodeFormatterFromIdea.xmlMaven推荐 3.8.8Node.js18仅全局构建 Sandbox CLI 时需要补充两个仓库中可确认的细节build.sh在找不到npm时会打印警告并跳过 Sandbox CLI 构建“Install Node.js 18 and re-run”因此纯 Java 构建不强制要求 Node 环境AI 编程沙箱 则声明仅支持 macOS依赖 Colima且需要 Homebrew 与 Node.js 18。四、构建、产物与启动4.1 三种构建命令# 仅构建 Java 框架 mvn clean install # 全局构建Java 框架 Sandbox CLI默认跳过测试 ./build.sh # 全局构建含测试 ./build.sh --with-test阅读 build.sh 可以看到全局构建分两个阶段Maven 阶段mvn clean install无参数时追加-DskipTestsSandbox CLI 阶段进入docker/sandbox执行npm install --no-fund --no-audit npm run buildesbuild 将 TypeScript 源码打包为单文件dist/sandbox.cjs随后把产物拷贝到build/bin/sandbox.cjs并生成build/bin/sandbox可执行入口require(./sandbox.cjs)。4.2 输出目录build/ ├── bin/ │ ├── fit # FIT 启动命令 │ └── sandbox # AI 编程沙箱命令build.sh 构建时生成 ├── fit-discrete-launcher-*.jar ├── lib/ ├── plugins/ └── ...4.3 配置环境变量并创建插件目录README 给出的运行方式是“框架目录 插件目录”分离先用 Maven 编译打包./framework/fit/java将build目录内容存储到本地fitframework目录该目录即 FIT 核心框架目录配置FIT环境变量值指向 FIT 核心框架目录如/demo/fitframework使fit命令可执行新建任意目录作为插件目录存放插件在插件目录下执行启动命令./build/bin/fit start两条必须注意的限制环境变量的配置方式与路径分隔符需按所在操作系统调整fit命令无法在包含 FIT 框架的目录中执行只能在新建的动态插件目录下执行。编译出的fit、sandbox命令可通过别名或加入PATH简化输入。在 IDE 内直接开发时FIT 快速开始 给出的是另一条等价路径项目中引入fit-starter、fit-plugins-starter-web、fit-api依赖用FitStarter.start(DemoApplication.class, args)启动并通过ComponentGetMapping编写控制器直接在 IDE 运行main方法或运行可执行 JAR。五、快速开始路线图README 将学习路径划分为三条主线分别对应三大核心且examples模块中均有配套可运行工程5.1 FIT 函数框架入门文档FIT 快速开始核心概念 基础应用系统学习构建基础 Web 应用 至 工程目录最佳实践 共 7 篇快速入门以及 插件、IoC 容器和 Bean 至 附加功能组件 共 12 篇用户指导手册涵盖 AOP、Conf 配置、Web MVC、Genericable 远程/本地调用、数据访问、流式功能、类加载等配套示例examples/fit-example 提供从 01-simple-web-app 到 08-nacos-complicated-apps 的 8 个递进工程examples/fel-spring-example 则展示 Spring Boot 双模运行形态。5.2 WaterFlow 流调度引擎入门文档WaterFlow 快速开始声明式语法与 hello world系统学习Waterflow 快速入门指南含前置准备、第一个示例与 8 篇常见示例与 WaterFlow 用户指导手册。5.3 FEL 标准原语入门文档FEL 快速开始从模型、模板、记忆、输出解析器到检索增强生成、智能体六步构建端到端大模型应用用户手册FEL 用户指导手册AI 流程、提示词、模型、输入输出工具、记忆、RAG、原语、工具调用、智能体共 9 篇配套示例examples/fel-example 的 01-model 到 06-agent 与上述六篇入门指南一一对应本文第一节引用的 RAG 与 Agent 样例代码即出自其中。六、开发工具AI 编程沙箱macOSREADME 介绍了一个基于Colima Docker Git Worktree的隔离开发环境将 Claude Code、Codex 等 AI 编程工具运行在容器内支持多容器并发每个容器工作在独立分支上互不干扰即使 AI 执行了破坏性命令影响范围也仅限该容器的 worktree。常用命令sandbox create feat-xxx # 创建沙箱 sandbox exec feat-xxx # 进入沙箱 sandbox ls # 查看所有沙箱 sandbox rm feat-xxx # 清理沙箱详见 AI 编程沙箱文档。从仓库结构可确认CLI 源码位于 docker/sandbox/src命令实现拆分为create.ts、enter.ts、ls.ts、rebuild.ts、rm.ts、vm.ts等文件经 esbuild 打包后由build.sh输出为全局可用的sandbox命令沙箱要求在 fit-framework 的 git 仓库目录内运行依赖 git worktree 与仓库内 Dockerfile。七、文档体系与贡献项目完整文档位于docs/目录除上述三份框架指南外还有一个基于本框架开发的大模型应用编排平台Model Engine的商业化应用案例Model Engine 技术白皮书按概述、系统架构、FIT 函数平台、Waterflow 流调度平台逐层展开可作为三大核心在真实产品中的落点参照。参与贡献前请阅读 CONTRIBUTING.md分支管理、标签管理、提交规则、代码审查并导入 CodeFormatterFromIdea.xml 保持代码风格统一仓库还内置了 git-hooks/check-utf8-encoding.sh 等钩子脚本约束提交质量。八、小结架构FIT Core 提供多语言函数、插件热插拔与聚散部署对应fit-runtime的 aggregated/direct/discrete 运行时与共享类加载机制WaterFlow 提供声明式流编排Flows节点 API FlowSessionCache会话管理FEL 在其之上以大模型原语模型/模板/记忆/RAG/智能体构建 AI 应用三者以AiFlows为交汇点。上手mvn clean install或./build.sh构建 → 配置FIT环境变量 → 在插件目录执行./build/bin/fit startIDE 内开发则走FitStarter.start(...)路径。学习三条文档主线FIT / WaterFlow / FEL 的 quick-start-guide 与 user-guide-book加 Model Engine 白皮书配合examples下的可运行工程即可从基础 Web 应用一路走到智能体与 RAG 应用。赞分享人工智能大模型AI 应用后端AI AgentRAG流程编排微服务【免费下载链接】fit-frameworkFIT: 企业级AI开发框架提供多语言函数引擎FIT、流式编排引擎WaterFlow及Java生态的LangChain替代方案FEL。原生/Spring双模运行支持插件热插拔与智能聚散部署无缝统一大模型与业务系统。项目地址https://gitcode.com/ModelEngine/fit-framework点击查看免费下载相关推荐企业级开发框架芋道源码架构设计指南与快速上手教程企业级开发框架芋道源码架构设计指南与快速上手教程 企业级框架如何平衡扩展性与开发效率芋道源码作为一款成熟的Spring Boot应用框架通过模块化设计与分后端企业应用FIT框架Java企业级AI开发框架使用指南FIT框架Java企业级AI开发框架使用指南 1. 项目介绍 FIT框架是一个Java企业级AI开发框架旨在为开发者提供一套完整的解决方案以构建现代AI应后端人工智能大模型流程编排2025年最值得入手的企业级AI开发框架FIT-Framework全攻略2025年最值得入手的企业级AI开发框架FIT Framework全攻略 你是否正面临这些AI开发痛点 还在为大模型应用开发中的多语言整合焦头烂额 为复杂人工智能大模型AI 应用后端AI AgentRAG流程编排微服务上一篇mistral.rs Rust 入门实战基于 ISQ 量化的文本生成与 Chat 请求下一篇es-toolkit without 函数深度解析从数组中安全剔除指定值的完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考