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

news2024/11/29 2:53:40

【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
传送门
另外我还发现了一个不错的C++八股文帖子:
《C++八股文面经总结,收藏起来慢慢背!》:
https://zhuanlan.zhihu.com/p/669950607
传送门
数据集来源:
我们定项目主题之前就焦虑了这个问题很久,本来想做英语作文批改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/2060067.html

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

相关文章

triton之flaggems的point-wise分析

一 流程 1 代码分析 1.1 parameter_ref_for_wrapper 对应 二 拾遗 报错 1 缺少@triton.jit File "/opt/conda/envs/py38/lib/python3.8/site-packages/Open_triton/utils/dynamic_index_put.py", line 676, in decorator num_inputs = len(fn.arg_name…

提高谷歌引擎搜索排名一连串儿丝滑小连招

在运营独立网站时,最令人沮丧的事情莫过于网站未能获得谷歌的高排名,尽管付出了诸多努力。由于互联网上内容繁多,找到在谷歌上获得排名的确切方法几乎是不可能的。谷歌有多个排名因素,但这些因素并非孤立存在,而是由多…

java如何判断一个列表中是否存在大于1000的数字

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

帆软报表设计器函数相关问题

官方漏洞声明:安全漏洞声明- FineReport帮助文档 - 全面的报表使用教程和学习资料 最近出的两个漏洞,官方已修复,问题有些相似,都是通过设计器函数来构造rce。尤其第二个sql注入造成RCE的漏洞还是挺有意思的,记录一下…

地表最强Ai视频创作工具?Pika保姆级注册使用指南

大家好!我是YUAN。 今天,我要带大家探索一个全新的领域——AI视频生成。Pika Labs以其独特的魅力和强大的功能,成为了众多创作者的新宠。准备好了吗?让我们一起探索Pika Labs的无限可能。 一、Pika Labs是什么? Pika …

fl studio24.1.1中文完整版,直接安装激活!免费分享

🎉 FL Studio 24.1.1 中文版本,音乐制作人的福音! 嗨,亲爱的音乐制作爱好者们!👋 如果你对音乐创作有着无限的热爱,那你绝对不能错过 FL Studio 24.1.1 中文版本这款神器。它不仅是一个音乐制作…

跟着 iLogtail 学习高质量软件建设

作者:余韬 本文根据 iLogtail PMC 成员余韬 2024 年 6 月 26 日在 DBAPlus 社群的公开直播《云上千万级可观测 Agent SRE 实践》整理而成。 引言 近年来,关于可靠性工程这一话题的热议不断升温,这主要归因于当前形势的显著变化。 首先&…

如何备份电脑所有数据?四个方法实现一键备份所有数据

备份电脑所有数据是一个重要的步骤,可以确保在数据丢失或损坏时能够迅速恢复。以下是一些备份电脑所有数据的方法,对于有重要数据的企业来说非常实用。 一、使用外置存储设备 选择设备:首先,选择一个容量足够大的外置存储设备&am…

肿瘤免疫治疗队列转录组及单细胞数据下载-TIGER

目录 转录组数据 ​编辑单细胞数据 TIGER不仅提供了多种在线分析,还提供了多个肿瘤免疫治疗队列转录组及单细胞数据下载。 TIGER:肿瘤免疫治疗(转录组单细胞免疫)_肿瘤免疫治疗基因表达资源tiger-CSDN博客 转录组数据 TIGER: Tumor Immu…

构建全面的用户增长蓝图

在竞争日益激烈的SaaS市场中,用户增长已成为企业持续繁荣的关键驱动力。为了实现这一目标,企业不仅需要制定高效的用户增长策略,还需要借助先进的工具和技术来加速这一过程。 1. 明确目标市场与用户画像 首先,SaaS企业需要深入了…

PNG转BMP要怎么操作?分享四种不同的转换方案

PNG转BMP要怎么操作?PNG和BMP是两种常见的图像格式,PNG格式以其无损压缩和支持透明度而闻名,而BMP格式则是一种未经压缩的位图格式,常用于操作系统和应用程序内部。有时出于兼容性或特定需求的原因,你可能需要将 PNG 文…

【全网最真实测评】随身WiFi值得入手吗?自费入手华为、中兴、格行、上赞4款随身WiFi,内含国产4款热门随身WiFi推荐!(最实用、最高性价比!)

随身WiFi的风越吹越大,市场乱象也更变本加厉。作为一名资深随身WiFi使用者,接触过太多的随身WiFi产品,越是了解这个行业黑幕,就越对无良商家夸大宣传、虚标限速,甚至售卖二手产品的行为深恶痛绝! 本篇测评涉…

搭建高可用的微信小程序服务(Alibaba Cloud Linux 3)

本文介绍如何在阿里云云服务器ECS上基于Alibaba Cloud Linux 3操作系统搭建高可用的微信小程序服务端,并在本地开发一个名为ECS小助手的简单微信小程序。通过远程调用部署在ECS上的服务端,实现在小程序中输入框输入ECS实例ID查询实例详细信息的功能。 步…

Java使用Map+函数式接口实现策略模式

一、项目背景 在项目中,我们处理了各种类型的通知消息。在没有采用策略模式之前,代码中充斥了大量的 if-else 语句,这不仅让整个项目显得杂乱无章,还增加了后续维护的难度。为了解决这一问题,我们采用了 Map 和函数式…

Vue事件处理:v-on 指令

1、v-on 指令 在 Vue.js 中,事件处理是一个很重要的环节,可以使用 v-on 指令对 DOM 事件进行监听。该指令通常在模板中直接使用,在触发事件时执行相应的 JavaScript 代码。在 HTML 元素中使用 v-on 指令时,v-on 后面可以是所有的…

动态内存管理申请调整和释放

动态内存管理存放在内存中的堆区中 动态内存分配的函数:malloc、calloc、realloc、free 动态内存分配 malloc函数(内存申请空间)无初始化free函数(动态内存释放)calloc函数(内存空间申请)初始化…

【MADRL】基于MADRL的单调价值函数分解(QMIX)算法

本篇文章是博主强化学习RL领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在强化学习专栏&#xff1…

30道python自动化测试面试题与答案汇总!

Python是不可或缺的语言,它的优美与简洁令人无法自拔,下面这篇文章主要给大家介绍了关于30道python自动化测试面试题与答案汇总的相关资料,需要的朋友可以参考下 1、什么项目适合做自动化测试? 关键字:不变的、重复的、规范的 1)任务测试明…

硬核剧透!安全领域专家及领军人物共话生态标准 | 2024 龙蜥大会=

2024 龙蜥操作系统大会由中国计算机学会开源发展委员会、中关村科学城委员会、海淀区委网信办、中国开源软件推进联盟指导,龙蜥社区主办,阿里云、中兴通讯、Intel、浪潮信息、Arm、中科方德等 24 家理事单位共同承办,主题为“进化重构赴未来”…

别再混淆了!一文带你理清前置机、跳板机与堡垒机的区别

本文详细介绍前置机、跳板机和堡垒机在网络安全和IT基础设施中各自扮演着重要角色,它们虽然有一定的相似性,但在功能和用途上存在显著差异。以下是对三者的详细解析: 前置机 概念 前置机是一种中间设备,通常位于客户端和服务器…