【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向笔记 Task03 大咖项目分享 人话八股文Bakwaan_Buddy项目开发尝试

news2024/11/15 10:15:22

【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向笔记 Task03 人话八股文Bakwaan_Buddy项目开发尝试

Idea:

我们草台班子目前的想法是解决大家计算机学院毕业面临的BUG——不爱背、背不下来八股文,觉得枯燥、烦、工作了用不着,反正就是知识他不进脑子。收藏从未停止,学习从未开始。
如果是外行不知道啥是计算机八股文的话,可以看看下面的这个视频:
《八股文怎么背 一个视频告诉你 还不明白直接掏我》:https://www.bilibili.com/video/BV1w6vQecEjN/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=cdfd0a0810bcc0bcdbcf373dafdf6a82
传送门
数据集来源:
我们定项目主题之前就焦虑了这个问题很久,本来想做英语作文批改AI,但是已经有太多人做过了。计算机八股文这块目前好像还没有很普遍的AI应用,而且数据集也完全不缺——力扣、牛客上的八股文遍地都是,我们还能在收集数据的同时顺便复习计算机专业知识。
我目前想到设计有2个功能,一个是用户输问题,八股文AI用人话来解释,比如说你问多态的知识,大模型就拿动物类别下面的狗和猫来举例。
另一个功能是“随机八股文生成器”,比如说在等地铁啥的,打开AI,点击一个按钮,他就吐一段八股文相关的知识背景和故事。(灵感来源于我学校图书馆的故事机,三个按钮根据需要可以吐出1分钟,3分钟,5分钟的随机故事。那么AI也可以仿照这个设计吐出一段随机八股文来满足利用碎片时间复习的需要。)
但是要让AI稳定地用人话表述八股文这点,很大程度上我感觉要依赖模型本身的能力。如果是和GPT一样全能的话,其实只需要前端做个按钮,每次点击都发给后端,例如“帮我用人话举例子,解释用户输入的这段计算机八股文”之类的提示词也许都行了。
如果AI本身能力不够的话,可能要先拿别的AI做出很多的八股文-人话的数据集例子,喂给这个AI做训练。
为此我还专门查了一个我很好奇的问题:AI做出来的东西能继续喂给AI么?
在这里插入图片描述
虽然Idea好歹是混出来了,但其实我还是很懵逼,不知道我从零基础到完成开发工作【需要做什么】。
然后我又开始到处查资料和问AI。
主办方B站账号:二次元的Datawhale
这有很多以往直播分享的回放。
https://space.bilibili.com/431850986
传送门
《2024 AI夏令营 第四期|【动手学大模型应用全栈开发】大咖分享:LLM项目的分类和原理解析》
https://www.bilibili.com/video/BV12y411e7QR/?spm_id_from=333.999.0.0&vd_source=cdfd0a0810bcc0bcdbcf373dafdf6a82
传送门
在这里插入图片描述
这个视频里面介绍了一些适合小白的项目类型:

Prompt项目:

感觉就是写提示词,比如AI之前不知道小红书文案怎么写,但是下图左边告诉他有emoji和标题党,相当于是把一个新概念很好地传达给了AI,然后AI就达到了目的。下图右边是一个信达雅的翻译调教,比直译要好。
发现很不错的prompt可以固定下来,以后每次访问可以直接调用(?),其实就是各家GPT商店的生态、
在这里插入图片描述
这个我之前没见过,所以有点没懂,是指写好了能让AI一步到位的提示词,然后别人付费查看、复制吗?
没关系,不懂是吧,我把我笔记的这一段都喂AI,让通义千问理解一下我描述的这是在干啥!
果然,跟我脑内预想的差不多。
在这里插入图片描述
我让AI给我列出了一些网址,然后随机点了一个。
在这里插入图片描述
https://promptbase.com/?spm=5176.28103460.0.0.7abc572cKaWrUz
传送门在这里插入图片描述
这个网站就是专门卖AI提示词的,用于MidJourney绘画的较多,用户购买了提示词以后就可以根据作者的示例(绘圈叫Sample,类似于报价参考作品集),生成风格近似的高定图片。在这里插入图片描述
比如我希望做一款港风海报,用来宣传我的小红书,我就可以从这选择合适的特定画风,买下prompt,根据我的需要修改下,然后让MidJourney生成类似风格的作品。
但这个工作我感觉,可能(?)很容易被替代,因为prompt需要的主要工作是打字和组织关键词,刚用AI绘画可能没经验,后面玩久了买多了,修改一下,微调几个形容词,天赋高的也许自己都会写了。
如果之前做过数据标注、AI训练师的话,写好的提示词是这个打螺丝工作的必备技能。不然你让AI生成一些负面答案做数据集(这个正反都有的数据集会给另一个AI学习,让那个AI知道啥该说啥不该说),结果AI每次都只能疯狂道歉的话,那就只有自己绞尽脑汁编了。
在这里插入图片描述

通义千问给的所有prompt售卖链接

目前市场上确实存在一些平台或社区,允许用户分享和交易预先编写好的提示(Prompts)。这些平台通常围绕着特定的AI模型或应用领域展开。虽然专门针对Prompt交易的“商店”可能不是非常普遍,但有一些地方可以找到相关的资源和服务。以下是一些例子:
Hugging Face Hub:
网址: https://huggingface.co/
描述: Hugging Face是一个非常活跃的社区,提供了大量的预训练模型以及相关的工具。虽然它主要侧重于模型本身,但也有一些关于如何使用模型的示例和教程,其中包括了不同的提示(Prompts)。
PromptBase:
网址: https://promptbase.com/
描述: PromptBase 是一个专门针对AI提示的市场,用户可以买卖各种类型的提示,适用于不同的应用场景和目的。这是一个比较直接的例子,符合你所说的“商店”。
PromptHero:
网址: https://prompthero.com/
描述: PromptHero 提供了一个平台,让用户可以探索、创建和分享各种各样的提示。它也包括了一个社区部分,用户可以在其中交流和学习如何更有效地使用AI。
GitHub:
网址: https://github.com/
描述: 虽然GitHub不是一个专门的商店,但许多开发者会在此分享他们的AI项目代码,包括使用特定提示的示例。你可以在GitHub上搜索相关的仓库来获取灵感。
Reddit:
网址: https://www.reddit.com/
描述: Reddit上有多个社区(subreddits)专注于AI和机器学习,比如r/MachineLearning、r/AI和r/NLP。这些社区经常讨论如何使用AI模型,并且有时会分享有用的提示。
Stack Overflow:
网址: https://stackoverflow.com/
描述: Stack Overflow是一个技术问答网站,用户可以在上面提问和回答与编程相关的问题。虽然它不是一个商店,但在那里可以找到有关如何使用特定AI模型的提示的讨论。

Prompt加上传统开发:

论文看不过来?没关系,大模型来翻译总结。
在这里插入图片描述
前端很复杂,核心类其实并不多:我看起来感觉是调用了OpenAI,隐藏了人工写一大堆提示词的费劲,直接默认做在程序里面,这样AI一打开就知道自己该干啥了。还有一些其他文件来处理论文的pdf转文本、拆分成合适的长度等基础处理。
我感觉我们的草台班子要是能做出来的话大概率也是这种,内嵌提示词的套壳应用。
在这里插入图片描述

ChatXXX系列:

方式1:用户输入转写为SQL语句,然后操控上传的SQL文件(存在服务器的数据库里面)。本质上就是大模型把人话变成了SQL。
方式2:用户输入变成可以直接操作表格的代码文件(比如Pandas库)然后运行。
我感觉这和JAVA的SprintBoot前后端的神奇过程有点像,IDEA那个软件跟Navicat配合,又能读又能写还能执行SQL语句,没想到AI也是这么AMAZING。
在这里插入图片描述
PPT是一种文件格式,可以通过代码来操控。
在这里插入图片描述
如果要处理的数据很多,超出token的限制怎么办?
一个方法是裁剪长文本为较短的文本,分段总结以后再进行汇总(会丢失很多语义信息);另一个方法是通过Embedding的方式。
一个老师提供的新手入门项目:
在这里插入图片描述
两个效果不错的Embedding模型:OpenAI的和智源的BGE。但他们都是通用的,面对医疗、法律等专业情景可能效果不佳。专业领域建议还是训练自己的Embedding模型。
在这里插入图片描述在这里插入图片描述
后面听大佬答疑的时候感觉大佬好强,啥都知道啥都会,经验还这么丰富,我就是一条酸菜鱼,又酸又菜又多余。

另外还找到了北大卢老师的视频,介绍了非常丰富的注意事项和细节问题,但我这个新手看得实在很头大,因为我不知道该怎么上手,没啥概念。
《【大模型训练】如何从零做一个大模型应用-大模型项目整体规划 技术选型 案例分析等超实用的大模型应用开发流程》:
https://www.bilibili.com/video/BV1SM4m1S7yz/?spm_id_from=333.337.search-card.all.click&vd_source=cdfd0a0810bcc0bcdbcf373dafdf6a82
传送门在这里插入图片描述
《如何从零搭建一个属于自己的大语言模型?训练自己的LLM最佳指南来了!保姆级教程,小白一看就会!》:
https://www.bilibili.com/video/BV1zm421G7eL/?spm_id_from=333.337.search-card.all.click&vd_source=cdfd0a0810bcc0bcdbcf373dafdf6a82
OpenAI这个Playgroud功能不错啊,无需编程,可以在线测试模型功能,查看其回复。
在这里插入图片描述
《不要浪费钱买课了,喂饭式教你训练大模型llama3》:介绍了挺多工具,但我对该如何写代码开始上手感觉还是很懵逼。
https://www.bilibili.com/video/BV17i421C7xD/?spm_id_from=333.788.recommend_more_video.1&vd_source=cdfd0a0810bcc0bcdbcf373dafdf6a82
我是万万没想到,弱智吧训练出来的模型居然是质量最高的。
在这里插入图片描述
最后我决定把我的技术方案和现有资料告诉通义千问,让千问帮我想想我应该怎么做。
在这里插入图片描述
甚至还贴心地给出了代码还有学习建议:

import streamlit as st
import requests

# 大模型API的配置
API_URL = "https://your-api-url.com"
API_KEY = "your-api-key"

def get_explanation(prompt):
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json",
    }
    data = {"inputs": prompt}
    response = requests.post(API_URL, headers=headers, json=data)
    return response.json()["result"]

def generate_random_text():
    # 这里可以添加一个函数来生成随机的主题或问题
    random_prompt = "请解释一下多态的概念"
    return get_explanation(random_prompt)

st.title("八股文助手")

# 用户提问
user_question = st.text_input("请输入您的问题:")
if user_question:
    explanation = get_explanation(user_question)
    st.write(explanation)

# 随机八股文生成器
if st.button("生成随机八股文"):
    random_text = generate_random_text()
    st.write(random_text)

在这里插入图片描述
甚至还可以给我的草台班子大模型应用起名字!
在这里插入图片描述
因为还不知道主办方对要用的模型有什么要求,我就先拿自己之前玩过的DeepSeek试了一下,通义千问真的相当贴心,不但根据我输入的需求搞定了代码细节问题,还很周到地告诉了我该如何运行代码!
在这里插入图片描述
效果那叫一个相当不错!!
在这里插入图片描述
甚至还送了我一张工作环境图,笑死。
在这里插入图片描述
但是为什么他这前端好看是好看,但是我一需要他办事就报错呢??
在这里插入图片描述
原来是DeepSeek和OpenAI调用的参数不太一样,按这个写法找不到对应的模型!我给了他一段其他DeepSeek的代码让AI修改,这次对味了!

终于是好不容易跑起来了!先来一段随机八股文试试:
在这里插入图片描述

然后我们指定一下面试问题,比如问一个之前我翻车的,C#值类型和引用类型有什么区别?在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前端有不少BUG,啥卡顿、显示不了历史记录、出不来消息对话界面都小事,关键是我有希望混个成果交差了先!!!
然后就是优化的过程了:比如加了个按钮“换一换”,用户要是看完了不满意,可以重新生成一条看。
在这里插入图片描述
在这里插入图片描述
然后新的结果就出来啦!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后再加一个需求,告诉用户《别吵,我在思考!》
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
还挺敬业,哪怕是跟他闲聊,都不忘记宣传自己的本职工作,真是天选牛马。
在这里插入图片描述
前端这一块我的主张是“少即是多”,主打一个干练实用,美观大方,简洁舒适,不要整那么多花里胡哨的东西。
混了个大概功能以后下一步是不是就该考虑部署的流程了?我之前完全没有经验,问了一下通义千问,最后我想大概会将就Streamlit吧,到时候看看教程里面的步骤是怎么样。而且我现在用的模型是DeepSeek的,应该还要把模型换成主办方要求的模型。
在这里插入图片描述
今天详细看了一下Task03的内容,看规定了是要用浪潮大模型,意料之中,抽空得看看模型如何迁移过去,应该这少不了要通义千问帮忙。这部分内容应该会在下一次打卡之前换好……吧?(画饼)
另外本来今天还想给这个草台app加个Kimi.AI那样的联想问题功能(就是会在答案下方生成几个拓展问题),但是总是达不到预期的效果,决定先搁置这个功能。
在这里插入图片描述
群里的助教老师基于部署给了些参考链接,还没来得及仔细看:
关于源大模型的部署,self-llm里面提供了fastapi和vllm。fastapi搭建更快,比较推荐。vllm的话虽然性能好一些,但是环境配置比较复杂。
https://github.com/datawhalechina/self-llm/tree/master/models/Yuan2.0
更大的模型可以先用yuan2.0 m32,24g即可运行【魔搭的a10 实际只有22g】
https://github.com/datawhalechina/self-llm/tree/master/models/Yuan2.0-M32

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2047256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python酷库之旅-第三方库Pandas(085)

目录 一、用法精讲 356、pandas.Series.str.isnumeric方法 356-1、语法 356-2、参数 356-3、功能 356-4、返回值 356-5、说明 356-6、用法 356-6-1、数据准备 356-6-2、代码示例 356-6-3、结果输出 357、pandas.Series.str.isdecimal方法 357-1、语法 357-2、参数…

RabbitMQ的核心概念

RabbitMQ是一个消息中间件,也是一个生产者消费者模型,负责接收,存储和转发消息。 核心概念 Producer 生产者,是RabbitMQ Server的客户端,向RabbitMQ发送消息。 Consumer 消费者,是RabbitMQ Server的客…

Ps:首选项 - 单位与标尺

Ps菜单:编辑/首选项 Edit/Preferences 快捷键:Ctrl K Photoshop 首选项中的“单位与标尺” Units & Rulers选项卡允许用户根据工作需求定制 Photoshop 的测量单位和标尺显示方式。这对于保持工作的一致性和精确性,尤其是在跨设备或跨平台…

mybatis plus 查询部分源码分析,typehandler怎么实现的?FastjsonTypehandler 查询问题怎么解决?

我们在使用mysql的json字段的时候有时为了方便,最好是查询的时候直接反序列化为对象比较好,这时候我们就用到了typehandler这个属性 首先mybatis plus 会初始化一系列的 typeHandler,并且扫描用户设置的typeHandler路径(mybatis-plus: type-…

Flutter-->AAPT: error: resource android:attr/lStar not found.

更新Flutter 3.24.0之后, 打包出现AAPT: error: resource android:attr/lStar not found.问题, 这里出一个我的解决方案. 更新Flutter 3.24.0之后, Android编译sdk需要使用34, 否则就会出现很多问题… 由于很多库都不可能及时更新适配到Android sdk 34, 所以可以等pub get将子…

硅谷物理服务器有哪些关键优势和特点

硅谷的物理服务器设施全球知名,为各类企业提供了卓越的IT基础设施支持。下面将逐一探讨硅谷物理服务器的关键优势和特点,rak小编为您整理发布硅谷物理服务器有哪些关键优势和特点。 1. 卓越的性能 高性能计算能力:硅谷的物理服务器采用最新一…

Authentik:开源身份提供商

Authentik 是一个开源身份提供商,旨在实现最大的灵活性和适应性。 它可轻松集成到现有环境中并支持新协议。 它是一个全面的解决方案,用于在您的应用程序中实现注册、帐户恢复等功能,无需手动管理这些任务。 Authentik 可以无缝集成到现有…

arcgis打开不同tif格式编码的栅格数据

1、如下图,将文件包包解压打开,看到【2020年GDP数据】。 2、点击进入【2020年GDP数据】文件夹如下图所示。接着去打开arcgis软件。 3、按照步骤来,在arcgis【目录】里面添加【文件夹】然后选中你刚刚解压的【GDP文件夹数据】,最…

21 注意力机制—自注意力

目录 1.自注意力和位置编码跟CNN,RNN对比位置编码(position encoding)1、和 CNN / RNN 不同,自注意力并没有记录位置信息2、为了使用序列的顺序信息,通过在输入表示中添加位置编码将位置信息注入到输入里3、P 的元素具体计算如下:位置编码矩阵绝对位置信息相对位置信息总…

Linux运维篇-yum命令报错 /lib64/libcurl.so.4相关

目录 项目场景:问题描述原因分析:解决方案: 项目场景: centos7,8,同样也适用openEuer,Kylin等redhat系的国产化操作系统 问题描述 在使用yum命令时报错: 主要报错信息为&#xff1…

诈骗未成功是否构成犯罪?

诈骗未成功不一定构成犯罪。在刑法上,构成诈骗罪需要满足特定的构成要件,包括有非法占有的目的、实施了虚构事实或隐瞒真相的行为、对方因此陷入错误认识并处分财产、行为人或第三方取得财产、被害人遭受财产损失。如果诈骗行为未能成功,即被…

[C#]基于winform结合photocartoon算法实现人物卡通化源码实现

【官方框架】 https://github.com/minivision-ai/photo2cartoon 简介 人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。我们的思路是,从大量照片/卡通数据中习得照片到卡通画的映射…

HDRP管线下的开放世界游戏与跨平台优化,《仙剑世界》万字分享

《仙剑世界》作为仙剑 IP 系列的最新⻓篇⼒作,从故事和剧情上延续了仙剑的精髓。在仙剑 33 年的世界观下,《仙剑世界》打造出了⼀个由浪漫唯美的江南全景、磅礴恢弘的蜀⼭、神秘苗疆等区域构成的 384 平⽅公⾥完整的⽆缝开放⼤世界。以东⽅题材为起点&am…

Java入门-接口:JDK8开始接口新增方法,接口的多继承,接口注意事项

(一)新增接口注意事项: 接口A: package interface_jdk8;public interface A {//1.新增默认方法:必须使用defalut修饰,默认会被public修饰//注意:这种默认方法可以带方法体/*实例方法&#xff1…

openssh升级到9.8

升级步骤 1、查看版本 [rootlocalhost openssh-8.8p1]# ssh -V OpenSSH_8.8p1, OpenSSL 1.0.2k-fips 26 Jan 20172、下载安装包 cd /usr/local/src wget https://www.zlib.net/zlib-1.3.1.tar.gz wget https://www.openssl.org/source/openssl-3.2.1.tar.gz wget https://cdn.…

在小程序添加公司官网访问

在小程序添加公司官网访问 有时候由于业务需要,在小程序上加入自己公司官网的访问地址,点击后跳转到官网。 本文详细讲解整个过程。 一、小程序管理台配置 进入小程序管理台 开发管理-》业务域名 加入你的公司官网域名,具体如下图所示&…

2024新型数字政府综合解决方案(八)

新型数字政府综合解决方案结合人工智能、大数据、区块链与云计算等先进技术,旨在构建一个智能、高效、透明的政务服务体系,通过全面整合各部门的信息资源,实现数据的实时共享与高效管理,从而大幅提升政府应对复杂社会问题的能力&a…

LookupError: Resource averaged_perceptron_tagger not found.解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

如何选择较为安全的第三方依赖版本?

如何选择较为安全的第三方依赖版本? 本文概览1.1 前言1.1.1 学会看第三方开源库的版本发布说明1.1.2 尽可能使用 starer 匹配的第三方开源库1.1.3 参考Maven 中心仓库的安全警告信息 本文概览 本篇博文分享如何选择较为安全的第三方依赖版本的方法。 1.1 前言 众…

学习Flutter时需要了解的背景知识

关键词:Flutter、移动UI框架、跨平台、Widget、高效开发、自定义Widget、热重载、性能优化 摘要:Flutter是Google推出的开源移动UI框架,旨在支持高效构建高质量的原生应用,同时兼容iOS和Android平台。它通过热重载技术实现高效开发…