随着1flowbase正式发版,我忽然意识到自己已经不能够的像以前那样开发好什么直接往main分支上面去丢了,因为这个开源项目已经开始面向一些朋友跑,他们可能也会进行代码克隆或者跑本地代码,我需要对分支指责进行有意识划分主要做了分支: 1.dev分支:个人开发分支,我基本上有什么新功能我就会直接丢上去,甚至ai没完成一个功能都会主动推送线上,所以这个分支处于薛定谔状态,可用,不可用。 2.beta分支:用来开发体检优化分支,简单来说就是dev分支在开发时候,在beta的工作空间里面做项目测试回归优化,体检之类,简单来说就是,一般不做功能性开发,偶尔也会加一个,看需求 3.main分支,仓库主分支,一般不进行开发,就是开放给外部clone,一般来说只接受beta合并,这样体检优化过没啥问题,才放进来,基本上做日抛 4.latest分支,最后镜像打包,github上面action,检测到版本变化,就会打包发布为docker镜像。 一般来说顺序:dev ->beta ->main ->latest 当然有时候beta体检之后要合并回dev分支看看跑有没有什么问题,然后才重新走上面顺序。 当然啦有人会说这也太麻烦了,特别每次都要合并main和latest分支。我让gpt写了一个脚本,能够将当前分支直接合并到main和laster里面就可以了。 这里面重点是,main分支和latest分支不要再接受其他乱七八糟分支了,单一来源和原则,这样就不需要手动合并了。 当然有佬说,要是pr到main分支怎么办,将main分支合并到dev或者beta上面做一个体检,然后再跑这个顺序 对脚本感兴趣或者项目感兴趣可以看看: 开源推广-1flowbase正式发布-组合发布专属大模型-个人和企业也能做模型上游供应商 开发调优 本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社区和佬友监督: 是 以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出 历时两个月… 不贴脚本了,仓库地址放出来要审核,一些更新我也是弄到这个帖子下面的了 1 个帖子 - 1 位参与者 阅读完整话题
如图: 1flowbase是前端pnpm,后端是rust,然后之前朋友反馈arm的CPU拉不了镜像,然后就让ai优化一下做成支持多平台架构发布镜像了。 然后确实支持多平台CPU了,但是速度巨慢,打一次包要两个小时,下面是gpt分析: 如选择B方案: 打包镜像只需要不到10分钟: 各位如果对于详细技术对应action感兴趣,或者对于1flowbase感兴趣可以去仓库中看看: 开源推广-1flowbase正式发布-组合发布专属大模型-个人和企业也能做模型上游供应商 开发调优 本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社区和佬友监督: 是 以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出 历时两个月… 这个是之前文章了,就不贴仓库了,不然又要审核 1 个帖子 - 1 位参与者 阅读完整话题
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社区和佬友监督: 是 以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出 历时两个月,每天平均蹬了gpt 2到4亿token,现在我宣布,1flowbase终于可以发第一版了,终于可以端上来和各位佬们唠嗑唠嗑了。 为什么要做这个项目? 因为我对于本agent中间过程实在很好奇,Claude code 里面是怎么拼接提示词? 为什么有时候我打一个hi?token就狂涨?我们在给Hermes 或者openclaw里面发送了一个消息,他到底干了多少事? 如果我们要构建Hermes 工程,那么我认为首先我们要能观察到模型在干嘛,然后针对他机制,进行文件,提示词优化,不同提示词之间,tokens消耗是多还是少,一切都一切,目前都没有一个让我满意项目,所以我决定自己手搓。 前后端分离,前端打包成静态文件,后端用rust,数据库使用pg,原本有redis我也干掉了,因为我目标是轻量的单机部署,我希望哪怕是1c1m的小鸡都能跑的起来,但是实际上我也没跑起来过,如果有佬跑起来,如果可以的话,分享一下他的资源情况,我想要看看他消耗如何。 好吧,言归正传,为什么我这么执着看到ai调用整个过程? 因为我认为看到,感知到才是调教ai 第一步,就像是22年毕业当后端实习生那会儿,系统报错总是喜欢疯狂打印日志debug,println(“日志–”)。 我认为本质上软件工程和调教ai Hermes 工程并没有太多本质区别,或者我认为 写代码就是给机器写规则,写提示词构建Hermes 其实是给ai写规则。 当然也有很多佬,会表示,其实现在模型很强大了,直接说就可以了,完全没必要调教。 是的,对于个人来说是这样,但是对于一个商业化项目来说这里涉及 成本,单位经济。 在互联网时代,我们软件开发好之后,丢到线上,代码能跑,基本上就能坐着收钱,所以吕氏春秋有云"互联网逻辑,就是先免费,再收钱。"那个时候大量免费,广告行业蓬勃发展。 但是在ai时代,大模型算力,API成本,改变了这个逻辑,烧钱成本剧增,并且带来一个单位经济问题,成本,正常来说个人和中小企业其实都是调用大模型产商的API,然后你就会发现, ai越强大,价格越贵,效果越好,用户用得越爽,你成本越高,如果没有做好单位经济计算成本计算,那么你就发现一个事情,用户越多,亏得越多。 当然对于openai,anthropic 这些有着资本支撑,这些都不是问题,亏的越多,烧的越多,所有都会狂欢,但是对于我们这些没有资本支持普通ai创业者来说,你就发现,如果要开放ai能力,tokens的单位经济就是一个必须要算账。 但是小模型成本低干不了活,高级模型模型能干活,但是贵。 那么他们可不可以组合起来呢?当然可以了,Claude code 很多本地agent都是这样让低参数模型去总结的。 但是这样有两个问题: 1.只能用一个厂家大模型 2.客户端在用户本地,你每一次更新,其实根本不在你这个服务提供者手中。(我预判一些朋友开始谴责中转掺水问题,但是1flowbase 没有反代。。。我们提供是事无巨细的详细日志和组合) 1flowbase当前第一个版本就是解决这个问题 虚拟模型( Virtual Model ) 虚拟模型就是指,你可以通过工作流编排组合你agent大模型供应商,对于本地agent工具如Claude code ,codex,openclaw, Hermes ,aionui,来说他们是无感,他们接入大模型接口就像上游大模型一样。 可以这样编排工作流 串行 手动组合Deepseek V4 多模态 让LLM顺序执行,比如说你在Deepseek v4前面套一个Gemini 作为视图,这样用户甩一个图片过去,让Gemini 看完图之后,总结将文字信息和用户问题发给Deepseek,让Deepseek 像多模型一样干活。 手动控制不同厂家模型同一个任务不同工作节点环节 我们知道,每一个家大模型都是各有所长,并且长上下文有腐烂问题, 那么我们是不是可以,发一个任务,gpt先干完后端和功能,然后再给Gemini 美化前端页面 智能路由: 还是上面例子, 我们可以不可以先让一个LLM分析当前这个任务应该给哪一个节点,然后再分发到对应节点,比如说后端实现给gpt,前端ui美化分发给Gemini。 使用教程 你可以在大模型供应商里面配置你的模型,目前支持国外御三家和Deepseek: 然偶在工作流编排的LLM节点选择你配置模型: 然后直接发布为你openai/anthropic的兼容API 接口 然后你就可以将这个模型放到css中: 当然你可能会好奇,是不是模型id随便写都可以。 当然不是,你如果不配置,怎么知道模型上下文和压缩上限呢? 你需要在开始节点中配置对外提供模型信息: 这样openai协议可以直接拉到模型上下文这些,anthropic 也可以知道上下文情况和协议情况。 然后你就可以直接在Claude code 对话使用 然后你就可以在日志中看到详细信息: 注意:"—下面美化内容"其实我手动组合回答: 并且不仅仅回答,而是所有消息,比如说你可以看到Claude code 是如何拼接系统提示词: 我们可以明显看到,Claude code 真的会向anthropic 服务器发送版本号这些信息。 如果是一个复杂任务,我们有详细回调日志: 可以看清楚每一步消耗 我们还有报表,统计每一个应用token消耗情况 基本上好多都塞进去,因为我绝对界面可以慢慢调,但是数据一定要全,一言就能看到自己想要关注指标和数据。 这就是虚拟模型,可以任意组合分发发布对应为对应大模型接口,让个人和非大模型基座企业也能发布自己专属大模型。 发布大模型不在仅仅是openai,anthropic 这些基座模型权利,个人和企业能上桌吃饭了。 其他功能 这些就是全部了吗?当然不是,因为我们愿景不仅仅如此,我要做的是: 目前还在做功能,低代码,你可以在工作流中将对话或者其他中间产物存入数据库,然后快速创建页面查看。 定时任务:定时将最近聊天记录抽出来,整理归纳,甚至每天早上发一份日报告诉你昨天做了什么?有哪些可以改进,哪些要继续维持? 我们要构建是一流基础,所以你对于1flowbase 有什么改进建议意见,欢迎留言,私信,issue,当然也可以先点一个star观望一下。 项目地址: github.com GitHub - taichuy/1flowbase: Open-source AI gateway for publishing multi-model... Open-source AI gateway for publishing multi-model workflows as OpenAI/Claude-compatible virtual model endpoints. 最后: 祝各位佬,儿童节快乐,今天是周一,也许很多佬已经将头发梳成大人模型在上班了,但是衷心希望你,有那么一段时间,可以什么都不想,做自己开心事情就好了,就像儿时的你一样 2 个帖子 - 2 位参与者 阅读完整话题
最近尝试一下使用rust去开发一个项目,1flowbase做后端,不得不说,rust的作为后端开发有很大优势,只要保证数据一致性和状态一致性,没报错啥都不用管了,但是在做插件扩展版块实践开发时候,发现一个事情,rust的似乎并不适合作为插件开发语言,语言,见图: 首先是插件包打包数量暴增,linux,Windows ,mac,不同芯片架构,一个插件包用rust写就要发六个包 然后是体积,写node这种跨平台至于一个简单脚本,所以体积只有6kb,但是rust编译的是可执行文件直接要分发2mb的左右,这个膨胀就很厉害了。 所以我个人觉得写插件包这种可能node或者python比较合适一点,不知道各位佬的看法是什么? 2 个帖子 - 2 位参与者 阅读完整话题