V2EX CodeCaster 的所有回复 第 1 页 / 共 2 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    CodeCaster    全部回复第 1 页 / 共 2 页
回复总数  36
1  2  
@Seck github 上的 PR 在 close 之后可以被删除么?我之前好像没有找到
强制推送覆盖可以解决么?
@kevinmatt 你说的场景,我理解其实在替换字符串的地方就是一个判断,就相当于是流程分叉了,这个场景在 FEL 中可以定义出来。

你说在你们的实践中,字符串的匹配几乎必不可少,我同意当前的看法,因为当前市面上 langgraph 出来之后告诉大家就是这么连的,然后 Eino 出来仿照 langgraph 也写一个 go 的,langchain4j 仿照写了一个 java 的,大家都是按照这个思路在走,并没有另一个工具告诉大家可以不这么做。而 FEL ,的确是采用了另一种方法,或许这样实践一下,可能可以有不一样的写法。

当然,你提到了多 Agent 动态计划生成,靠纯响应式的确是有点困难,但是 FEL 我们不仅仅使用了响应式,我们还有一个特点就是结合了 BPM ,因为在传统响应式中是不存在条件判断关键字的,就正如上面例子中的“.condition()”关键字,这个关键字可以做到流程的分叉。

我感觉这样就可以实现你说的动态了。

其实,动态的情况正式我们下一步的规划内容。

非常感谢你的讨论提供的观点。
@TimePPT #3 我在看这个之前,各种重启,然后去掉了几个莫名其妙的 token ,自然就好了,我也不知道是哪一步起的作用,还是很感谢
@TimePPT 操作系统 Mac ,终端 Iterm2 ,选择了第一种登录方式之后,浏览器跳转登录授权,然后 iTerm2 弹出登录成功,看到登录的用户名的确是 Pro 的用户名,然后输入指令报错:

```
API Error: 401 {"type":"error","error":{"type":"authentication_error","message":"OAuth authentication is currently not supported."},"request_id":"req_011CTajEmJNeKc3HL37Lf91d"}
```
@Isuxiz #5 我觉得你可能言重了,这篇文章本意是选择了另一种编程范式进行实现,对比一下,并没有表达谁优谁劣,只是想说是不是不同场景用不同方式会更合适。所以我没有想引战,没有想分胜负。

另外,当前的确是针对两个框架在比较,的确 Eino 是通过字符串来连接 ID 的,这个是事实而已。

我觉得讨论没有问题,但是问题上升了可能需要适可而止了。求同存异。感谢支持~
@Isuxiz 感谢你的回复!你说得对,DAG 理论上确实表达能力更强,但我想从另一个角度来看这个问题。

响应式编程本身就是一种编程范式,FEL 使用响应式流来描述。就好比面向过程什么都能写,为什么要面向对象?面向对象并不是没有存在的必要,理论上图灵完备的语言都能实现相同功能,但不同范式解决的是开发效率和代码质量问题。

从实际开发体验看:

响应式流天然支持编译时类型检查,链式调用的上下游类型必须匹配才能编译通过。而 DAG 的节点连接往往依赖字符串 ID ,类型错误要到运行时才能发现。

语法验证:

``` java
// FEL - 编译时就知道类型不匹配
flow.prompt(xxx).generate(model).reduce(stringReducer).someIntMethod() // 编译报错

// DAG - 运行时才发现节点名写错了
graph.AddEdge("node_model", "nod_log") // 拼写错误,运行时才报错
```

然后是认知的问题,我觉得大家的确都学过图,但在日常业务开发中,我们更习惯"数据流转换"的思维模式。响应式编程让代码读起来更像业务描述:"接收请求 → 处理 prompt → 调用模型 → 处理结果"。我不知道大家怎么看?

我们并不反对 DAG 设计,而是认为 **不同的工具应该匹配不同的场景**。就像 SpringMVC 的注解式编程和传统 servlet ,理论能力差不多,但开发体验天差地别。

还是非常感谢你的讨论~
@mightybruce 对于开发 AI Agent ,使用现有的各个 AI 基础框架都可以,比如 LangChain 、Eino 、SpringAI ,我们的框架也提供了一套 Java 的 AI 原语,条条大路通罗马,我们并不是说开发 AI Agent 只能用我们的,用其他优秀的框架也可以的~ 只不过,我们想提供一种新的思路,因为当前的框架构建 AI 流程的过程基本都是通过图的,我们结合了响应式的写法,从写法上不一样,只是这样而已,提供代码示例供大家参考,来讨论一下而已。
我觉得如果这样写简单,本身也是好的
@Aresxue #93 我们的代码仓库准备拆分啦,因为现在 AI 太火了,所以介绍中是提到 AI 的,AI 相关的是另外一个模块,基于 fit 框架长出来的,最近正准备写一篇文章呢。拆库就是为了把底层框架和 AI 相关的模块分离开。

最底层的框架的确是为了传统软件工程的,fit 框架的第一行代码是 19 年底诞生的,此时 AI 并没有火。

你提到了成熟的 SofaBoot 的模块化,这个的确阿里巴巴出品的非常优秀的框架呢,只不过 fit 背后的思想指导者,正是此前在阿里巴巴中的软件大拿,Sofa 最初设计的时候也是请教了我们框架的设计者的。fit 的前身已经摸索过了相关模块化的路线,最终重新出发,走了插件化的道路,插件化和模块化还是有一些区别的。打个比较简单的比方,模块化,各个模块需要组合在一起,在编译打包一次,有点像不少预制半成品,还是需要有一次简单的烧的过程的,但是插件化,各个插件已经完全烧好了,打包就像一起装盘的过程。

感谢看了一眼我们的项目~
看到上面大家对微服务和单体讨论了很多,有非常多优秀的见解。如果把微服务和单体服务看做两个极端,那么微服务的出现就是为了解决之前单体服务的一些问题的,只不过,微服务架构本身也有自身的问题,因此,我们团队此前也有思考过是否有一种模式,可以让微服务和单体服务兼而有之,于是,我们开源了一款基础框架,fit 。

fit ,其思想正如其名字一样,我们希望每一个插件,作为单体服务的时候可以运行,组合( fit )起来之后依旧可以运行。假如有 N 个插件,那么每一个插件都可以像微服务一样作为一个一个单独的进程启动,对外提供服务,也可以把这 N 个插件,聚合在一起,形成一个单独的进程,启动,就像一个单体服务一样。这个过程中,插件的代码不需要做任何改变。当然,N 个插件可以自由组合形成 M 个进程。

当他们作为微服务互相调用的时候,他们之间的通信是 RPC 调用,存在网络消耗,但是一旦转换成微服务之后,调用可以自动识别变成进程内的内存调用,没有网络开销。这个特性在我们框架中称之为聚散部署。

也就是说,通过我们的框架写出来的代码,不需要经过重构,就可以在微服务和单体之间切换,完全由开发人员在部署阶段自由选择。

我们的框架是今年初开源的,希望大家能够支持一下,如果觉得我们的框架的这个设计思路有帮助,最好帮我们点的 star ,链接: https://github.com/ModelEngine-Group/fit-framework
62 天前
回复了 Ketteiron 创建的主题 程序员 2025 年,我对"单体 vs 微服务"的预测
@ebony0319 我们团队写了一个开源框架,fit ,就是做的这个,在我们框架中,可以按照微服务的方式写一个一个的插件,插件与插件之间没有任何耦合关系,通信全部是接口,每一个插件都可以单独部署,就像微服务一样,也可以聚合在一起部署,形成一个单独的进程,就是单体架构,关键的一点是,这个从微服务到单体,或者从单体到微服务的转换过程,每一个插件是不用修改任何代码的。这个在我们框架中,叫聚散部署,欢迎来我们的开源项目参观点星,链接: https://github.com/ModelEngine-Group/fit-framework
69 天前
回复了 moverinfo 创建的主题 程序员 Open AI 的对接问题
我觉得 @lnbiuc @andyskaura 说的挺对的呀,@moverinfo 你描述调用 OpenAI 发生了 400 错误,那么根据 http 的约定,直观理解就是调用参数存在问题,那么就需要看一下调用参数是什么,你发起的 http 请求,参数可能有 query ,form ,header 等等,的确是需要看一下你的参数情况的呀,我觉得你只是说了对接 OpenAI 有问题,发生 400 错误,但是不提供调用情况,和可能的 400 错误的详细信息,却说信息很充分,这个逻辑不成立呀。

当然,你自己已经通过尝试发现是网络问题了,解决问题了就好。
@moverinfo #41 你好,我发现你的回复都没有点击平台的回复,这样的话,别人都是不知道你回复了的,是没有提示的。我是特意关注了下,找了下之前的留言,才发现你的回复的。首先感谢能够得到回复。

然后,我也很高兴你可过我的项目(因为没有回复,我不确定是不是理解有错),之所以我比较感兴趣,就是因为你的框架也有模块化的特点,但是,模块化 != 插件化。

模块化,我们当前用任意框架写的代码,比如 Spring ,我也可以创建若干个 Module (模块),然后通过一个核心模块的 pom 来组织各个其他模块,这样也是分模块的。因为我看不到你的项目的整体架构图,所以我对此只能先交流来慢慢了解。

插件化,我实现的插件化和模块化的最大区别是没有 pom 的依赖,我不确定你的框架是不是如此。插件与插件之间的交互都通过接口来实现,因此,插件的业务逻辑不随插件的部署状态而改变,意思是,在 FIT 框架下,插件 A 和插件 B 可以作为一个 Mono (单体)服务聚合启动,同进程,此时,他们的通信为本地方法通信,他们也可以分别作为两个微服务分别启动,两个进程,此时他们的通信为 RPC 通信,但是插件的代码是完全不感知的。这个就是 FIT 框架的最大特点,支持插件的聚散部署,在此基础上,我用插件写了一个热插拔的插件,使得整个体系也支持了插件的热插拔。

也就是说,FIT 框架的设计是和 Spring 有比较大的区别的,但是和你说的模块化比较接近,正因为这个原因,所以我才想和你再多交流一下。感谢

PS:我看到你的项目之后,先点了一个 Star 支持了一下了
看了 github 的项目,其中有提到模块化,方便交流一下么(方便的话,可以加一下我 wechat:jiyujie )?我这边做了一个插件化的开发框架( https://github.com/ModelEngine-Group/fit-framework ),上层搭载 AI 框架,同在推广求 star 中,感觉可以交流一下技术,感谢
@uselesswater 生态分两块,一块是基于的底层框架,一块是支持的外部模型等。

对于一,目前样例还是基于下面的 FIT 编程框架的(同一个代码仓库,另一个目录),而 FIT 编程框架是一款插件式的编程框架(支持聚散部署),可以去集成 Spring ,也可以独立运行,目前正在做这一块与底层框架的解耦,解耦之后就可以独立运行了。

对于二,目前代码正在做一次大的重构,你如果关注我们的代码仓的话,可以发现,我们现在一直在发里程碑版本( M1 、M2 ,下面还会发一个 M3 ),正式版本版本在等这次重构之后再发( API 不变,始终是流式的),而外部模型,目前人力不太够,因此仅支持了通用的 OpenAI 格式。

至于其他细节问题,欢迎来我们的相关群组讨论,在我们代码仓 readme 中有群组地址。我们这个项目开源了差不多 3 个月吧,现在在持续社区建设中,非常需要大家的 star 和关注。https://github.com/ModelEngine-Group/fit-framework
@yibo2018 你好,首先,我们这两天在紧急将 MCP 支持到框架中来,因为原计划社区路标是 6 月份做的,但是现在看优先级需要不断提升。其次,分析一下你的诉求:

1. “客户的自然语言需求,进行 ai 解析成 json”:标准的通过提示词访问大模型获取你要求的结果的过程,直接通过调用提示词模板,然后调用大模型即可;
2. “结合私有知识库”:代码仓库的知识库检索的例子有,当前恰好发现了一个内部 bug ,导致该例子启动失败了,正在修复中,待社区修复的 PR 合入之后,就可以正常检索;
3. “mcp (高德)”:正如上面所说,MCP 正在作为 feature ,最近紧急添加到下一个版本中,这么火的概念,一定会支持;
4. “rag ”:这个在我们的最后一个例子中有,是可以正常运行的,功能齐备。

综上,从功能点上来看,社区正在做一些演进,修复核心问题和增加 MCP 后,理论就可以支持你的诉求了。

但是,你提到了“ai 可以自动进行这几个步骤,而不是被编程”,这样的解决方案一般更趋近于“Manus”的解决方案,即“动态思维链”,是一个 Agent 级别的解决方案,我们的框架是类似 LangChain 的相对底层的 AI 编程框架,可以通过编程的手段来实现一个类似“Manus”的应用,但是直接达到你说的“不编程”,是做不到的。就好比,使用 LangChain 也需要通过一定的编程来做到。

话说回来,我们的项目群( https://github.com/ModelEngine-Group )中还有一个低代码编排 AI 应用的项目,暂时可以静态编排来完成你的诉求,代码量也不多,可以关注一下( https://github.com/ModelEngine-Group/app-platform )。而动态编排,这个属于社区的路标,需要未来演进。

感谢关注,希望可以点个 Star~有更多问题,可以在代码仓 readme 中找到项目群,进群咨询。
210 天前
回复了 gulao 创建的主题 程序员 GitHub 开源项目提 PR,求推荐!
我们团队今年年初开源了一款 Java 的编程框架,支持聚散部署(微服务和单体应用的无缝切换),有兴趣可以来看看,项目地址: https://github.com/ModelEngine-Group/fit-framework

就算是来改改文档,修修错别字也欢迎!

这个项目里面还包含了一款类似于 LangChain 的 AI 框架,FEL ,欢迎探索。

项目群中还有一个类似 Dify 的 AI 编排框架,项目地址是: https://github.com/ModelEngine-Group/app-platform

也欢迎来关注,各种修改,再小都是帮助!
我们团队搞了高代码的 AI 编程框架( https://github.com/ModelEngine-Group/fit-framework )和低代码的 AI 框架( https://github.com/ModelEngine-Group/app-platform ),才开源没有多久,欢迎尝试,然后也弄了一个简单的官网( http://modelengine-ai.net/),里面有下载部署安装指南。

希望能帮忙 Star 一下,感谢~
我会每次问大模型问题时,最后带一个“谢谢”,希望他以后记得,有一个小碳基还是很有礼貌的。
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5207 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 08:59 PVG 16:59 LAX 00:59 JFK 03:59
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86