我做了一个闭源的 AIBot(简称:所有生成式 AI 集成套壳),又正在做一个开源的

135 天前
 maymay5

闭源项目的网站: https://maymay5.com

为啥闭源,因为代码可读性是没有可读性,功能多,分布杂,逻辑绕 实在是没脸开源

开源的版本长这样(还在努力开发中。。。)

Q:开源版本很高级吗?

A:其实也很 low ,只是框架升级到了.net 6 ,后端用了还算标准的依赖注入,中间件等开发模式,ORM 用了较通用的 EF Core

Q:这是新版本的一个较有代表性的前端代码(为什么有代表性,因为 90%的界面内容都是这样的渲染模式),就可以看出我的前端水平等于没有水平,所以我想知道,这样的开源项目,真的会有人想去部署吗???

  function getWorkShopPlugins(type) {
    var name = $('#searchKey').val();
    if (type == 'init') {
        page = 1;
        pageSize = 10;
    }
    if (type == 'loadmore') {
        page++;
    }
    var data = {
        name: name,
        page: page,
        pageSize: pageSize
    };
    $.ajax({
        type: 'Post',
        url: '/WorkShop/GetWorkShopPlugins',
        data: data,
        success: function (res) {
            if (res.success) {
                var html = '';
                for (var i = 0; i < res.data.length; i++) {
                    var item = res.data[i];
                    html += '<div class="col-lg-3 col-md-6 col-sm-12 mb-4 grid-item">';
                    html += '<div class="card h-100">';
                    html += '<img class="card-img-top" style="width: 50px;margin:10px auto;" src="' + item.pavatar + '" alt="插件名称 1">';
                    html += '<div class="card-body">';
                    html += '<h5 class="card-title">' + item.pnickname + '</h5>';
                    html += '<p class="card-text">' + item.pfunctioninfo + '</p>';
                    html += '<p class="card-text"><span>价格:</span><span style="color:#f2c044" class="plugin_price">' + item.pluginprice + '</span></p>';
                    html += '<div class="d-flex justify-content-center">';
                    html += `<a href="#" class="btn btn-primary" style="margin-right:10px;" onclick="insertPlugin(` + item.id + `,'` + item.pluginprice + `')">安装</a>`;
                    html += '<a href="#" class="btn btn-secondary" onclick="seePlugin(' + item.id + ')">查看</a>';
                    html += '</div>';
                    html += '</div>';
                    html += '</div>';
                    html += '</div>';
                }
                if (type == 'loadmore') {
                    $('#masonry-layout').append(html);
                    if (res.data.length < pageSize) {
                        balert('没有更多了', "info", false, 1500);
                        page--;
                    }
                } else
                    $('#masonry-layout').html(html);
                var elem = document.querySelector('#masonry-layout');
                new Masonry(elem, {
                    // 选项
                    itemSelector: '.grid-item',
                    columnWidth: '.grid-item',
                    percentPosition: true
                });
            }
        }
    });
}
2847 次点击
所在节点    分享创造
10 条回复
Jirajine
135 天前
为啥要手动拼接 html 字符串啊,这不是水平的问题,能用这种方式糊出来应用说明你的前端水平不会有问题,用个框架是顺手拈来的事。就算你不喜欢那几个主流框架,推荐试试 lit 或者 apline 这种比较 kiss 的,很适合平替 jquery 。既然你后端都用 dotnet 了,blazor 一把梭也行。
maymay5
135 天前
@Jirajine 感谢,我去了解一下,我一直用 jquery 糊,感觉很直观。blazor 太难看了而且不好更新
SillyGod
135 天前
你这计费为什么不把输入输出分开呢?
(否则,你 32k 那还解释半天)
maymay5
135 天前
@SillyGod 闭源版本的用户 90%都是程序员,对于 api 其实都很了解的,加入解释是因为后来有一部分非程序员用户流入,一直没去弄,因为目前来看我的用户对于这个定价不关心,因为个人中心有计费详情,他们测试一下就能估算出消耗
SillyGod
135 天前
@maymay5
也就是说你 input output 是一个费率来计算的喽?
maymay5
134 天前
@SillyGod 是的,但是 input 计算出 token 后会去掉 80%,其实依旧还是 input 便宜的
SillyGod
134 天前
@maymay5
我最开始的意思的重点在于
“ 为什么你不把 input output 分开算呢? ”
合在一起算才导致“ 解释 xxx + 80%这个算法 ”
SillyGod
134 天前
@SillyGod
本来 OpenAI 的策略就是分开算,你分开算对用户、对开发都很方便,不是很理解为什么非得合起来。(这跟用户懂不懂就没关系了,我懂 oai 的策略反而好奇为什么你不分开算)
maymay5
134 天前
@SillyGod 用这种更绕的计算方式,那就是商务层面的考虑了,因为低价转发 api 迟早是要消失的,输入输出同价,我只需要很轻微的百分比调整就能控制价格,token 消耗百分比上涨 0.5%和价格上涨 0.5 元,用户普遍更接受前者,就像三大运营商的文字游戏
SillyGod
134 天前
@maymay5
hh,果然如此

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1015188

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX