我让他先列了一下项目的问题,列了15条,我让他一条条改,我以为15条改完就结束了,结果硬生生跑了18h,不过幸好基本都命中缓存了 1 个帖子 - 1 位参与者 阅读完整话题
比如沉浸式翻译、陪读蛙 你们都接入什么大模型,这两天开销有点大,顶不住。微软、Google 翻译又差点意思,有些没翻译到位
比如沉浸式翻译、陪读蛙 你们都接入什么大模型,这两天开销有点大,顶不住。微软、Google 翻译又差点意思,有些没翻译到位
比如沉浸式翻译、陪读蛙 你们都接入什么大模型,这两天开销有点大,顶不住。微软、Google 翻译又差点意思,有些没翻译到位
比如沉浸式翻译、陪读蛙 你们都接入什么大模型,这两天开销有点大,顶不住。微软、Google 翻译又差点意思,有些没翻译到位
比如沉浸式翻译、陪读蛙 你们都接入什么大模型,这两天开销有点大,顶不住。微软、Google 翻译又差点意思,有些没翻译到位
比如沉浸式翻译、陪读蛙 你们都接入什么大模型,这两天开销有点大,顶不住。微软、Google 翻译又差点意思,有些没翻译到位
比如沉浸式翻译、陪读蛙 你们都接入什么大模型,这两天开销有点大,顶不住。微软、Google 翻译又差点意思,有些没翻译到位
比如沉浸式翻译、陪读蛙 你们都接入什么大模型,这两天开销有点大,顶不住。微软、Google 翻译又差点意思,有些没翻译到位
写在前面 最近自己做的多智能体开源项目,一直反馈小白难上手,需要配置环境什么的,最近和几个小伙伴一起把代码重新进行了整合,允许小白一键下载安装。 想分享下做了什么,同时也问问各位佬,像现在大规模ai类型的智能体应用,为什么是感觉世面上没有成熟的产品,是有什么技术难点吗,还是是成本/收入的问题,感觉目前仅仅活跃在github等社区。 怎么做的 原本的系统需要装Redis,配置python环境,让小白跟着ai如果想跑起来,一个下午就没了。 另外,当时为了开发方便,其实自由模式和剧情模式其实是分开的,玩哪个再拉哪个子进程,但是如果想要打包做客户端的话,这样其实就很麻烦了。 因此,小伙伴想到了构建了个GameEngine,对整体游戏进程进行管理,并且不同模式的Redis要进行隔离,通过api实时与前端交互。 最后剩下的就是用一些打包软件,解决一下压缩编码统一的问题,在客户端打包好就可以开玩了。 总结 总结下来,感觉很多问题在于一开始构建代码的时候想得太少,总感觉能跑就行,这如果是发论文写脚本可以,但是如果是做开源项目,对你项目仅仅稍微感兴趣的人,会立马因为上手门槛走人。而且开源社区本身靠口口相传是很大的一部分流量,因此用户适配感觉要做好,尤其是当项目没有那么的无可替代的时候。 另外,毕竟自己以前没有做过相关的工作,也算是积累经验了。 剩下的一些问题 像楼主的这种pipeline开发项目,如果靠线性的增量更新,可以走多远,第一次做开源有些迷茫。 各位佬还有什么经验,还有什么可以优化体验的地方。 因为贴子发的不多,不知道这种贴子能不能附上链接,各位佬可以看我以前贴子看项目。 1 个帖子 - 1 位参与者 阅读完整话题
力扣 LeetCode 2144. 打折购买糖果的最小开销 - 力扣(LeetCode) 2144. 打折购买糖果的最小开销 - 一家商店正在打折销售糖果。每购买 两个 糖果,商店会 免费 送一个糖果。 免费送的糖果唯一的限制是:它的价格需要小于等于购买的两个糖果价格的 较小值 。 * 比方说,总共有 4 个糖果,价格分别为 1 ,2 ,3 和 4 ,一位顾客买了价格为 2 和 3 的糖果,那么他可以免费获得价格为 1 的糖果,但不能获得价格为 4 的糖果。 给你一个下标从 0 开始的整数数组 cost ,其中 cost[i] 表示第 i 个糖果的价格,请你返回获得... 思路 贪心,从贵到便宜,每三个一组,其中第三个是免费送的。剩余无法成组的直接加到结果里。 代码 class Solution { public int minimumCost(int[] cost) { Arrays.sort(cost); int ans = 0; int i = cost.length - 1; for (; i >= 2; i -= 3) { ans += cost[i] + cost[i - 1]; } for (; i >= 0; i--) { ans += cost[i]; } return ans; } } 补一下前两天的题。 5-30 3161. 物块放置查询 思路 其实第一想法是B+树,但是想了想复杂度,觉得还是算了吧,用线段树好像也可以。 用线段树存储从0到当前坐标的最大空间,用有序集合存储障碍物的坐标。 如果查询的节点在障碍物上,那直接就能获取。如果节点不在障碍物上,那就找到 前一个障碍物 ,获取最大空间,与 节点坐标-前一个障碍物的坐标 取最大值。 代码 class Solution { // 线段树节点 private static class SegmentTreeNode { // 线段左下标 int l; // 线段右下标 int r; // 线段分段下标 int mid; // 线段中的最大间隔 int maxSpace; public SegmentTreeNode(int l, int r) { this.l = l; this.r = r; this.mid = (l + r) >> 1; } } // 线段树 private static class SegmentTree { // 线段树节点数组 private final SegmentTreeNode[] tree; public SegmentTree(int max) { tree = new SegmentTreeNode[2 << (32 - Integer.numberOfLeadingZeros(max))]; build(1, 0, max); } /** * 构造线段树 * @param idx 当前序号 * @param l 左下标 * @param r 右下标 */ private void build(int idx, int l, int r) { var node = new SegmentTreeNode(l, r); tree[idx] = node; // 如果是叶子节点,赋值后直接返回 if (l == r) { return; } // 不是叶子节点,分别构造左子树和右子树 build( idx << 1, l, node.mid); build((idx << 1) + 1, node.mid + 1, r); } /** * 更新某段线段的值 * @param idx 当前节点 * @param l 线段左下标 * @param r 线段右下标 * @param p 要更新的坐标 * @param val 要更新的值 */ private void update(int idx, int l, int r, int p, int val) { var node = tree[idx]; if (l == r) { node.maxSpace = val; return; } // 更新左子树部分 if (node.mid >= p) { update(idx << 1, l, node.mid, p, val); } // 更新右子树部分 else { update((idx << 1) + 1, node.mid + 1, r, p, val); } node.maxSpace = Math.max(tree[idx << 1].maxSpace, tree[(idx << 1) + 1].maxSpace); } private int getMaxSpace(int idx, int r, int p) { var node = tree[idx]; // 端点超过线段右点,直接取最大值 if (p >= r) { return node.maxSpace; } // 端点在线段左半,递归左子树 if (p <= node.mid) { return getMaxSpace(idx << 1, node.mid, p); } // 端点在线段右半,取左子树与递归右子树最大值 return Math.max(tree[idx << 1].maxSpace, getMaxSpace((idx << 1) + 1, r, p)); } } public List<Boolean> getResults(int[][] queries) { int max = 0; for (int[] query : queries) { max = Math.max(max, query[1]); } max++; List<Boolean> ans = new ArrayList<>(); SegmentTree tree = new SegmentTree(max); // 有序集合用于快速取出新障碍物所在点与前后的距离 TreeSet<Integer> set = new TreeSet<>(); set.add(0); set.add(max); for (int[] query : queries) { int r = query[1]; int pre = set.floor(r - 1); if (query[0] == 1) { int next = set.ceiling(r); set.add(r); tree.update(1, 0, max, r, r - pre); tree.update(1, 0, max, next, next - r); } else { int maxSpace = Math.max(tree.getMaxSpace(1, max, pre), r - pre); ans.add(maxSpace >= query[2]); } } return ans; } } 5-31 2126. 摧毁小行星 思路 明显的贪心,先吃小的更合适。 另外要注意, 1 <= asteroids.length <= 10 5 1 <= asteroids[i] <= 10 5 所以最终结果可能超出 int 范围。 代码 class Solution { public boolean asteroidsDestroyed(int mass, int[] asteroids) { Arrays.sort(asteroids); long sum = mass; for (int asteroid : asteroids) { if (sum >= asteroid) { sum += asteroid; } else { return false; } } return true; } } 2 个帖子 - 2 位参与者 阅读完整话题
公司每个月报销 ai 开销,每个月都开了的 cluade max,平常开发用的也不是很多。一直都用不完,有啥好的玩法推荐 去消耗它嘛,感觉闲置在那有点浪费 15 个帖子 - 11 位参与者 阅读完整话题
在梁圣的加持下,开销还是这么大 12 个帖子 - 9 位参与者 阅读完整话题
上个月去北京腾讯总部参观(其实就是被腾讯推销了一下午产品),他们提出一个观点,说是未来token的费用会和水电网费一样成为全民每月开销的一部分,我在群里和群友说了这件事,一个群友破防大骂我了(一看他是中转站卖token的)。今天也是看到claude官网opus4.8的介绍下面提到,他们的神话模型未来几周也会开始向全部客户发布,趁此机会我就想和大佬们聊一聊这个问题,ai真正成为我们生活的一部分,还有那么遥远吗 7 个帖子 - 7 位参与者 阅读完整话题
家乡小县城没有鲜啤店,我产生加盟福鹿家鲜啤店的想法,算了下每个月固定开销23000,但还需要通过一些方法做市场调查,我会去目标开店地蹲点看看人流量怎么样,消费群体以年轻人为主,但不是有人流量就会有消费群体吧,各位开了店的佬友是怎么做市场调研的可以分享分享嘛 5 个帖子 - 4 位参与者 阅读完整话题
你们各种 AI 工具订阅费加起来多少了?
你们各种 AI 工具订阅费加起来多少了?
你们各种 AI 工具订阅费加起来多少了?
你们各种 AI 工具订阅费加起来多少了?
你们各种 AI 工具订阅费加起来多少了?