【书生大模型实战营(暑假场)】入门任务二 Git 关卡
入门任务二 Git 关卡
参考:
- 教程
- 任务
注意:
- 项目Github链接
1 闯关任务
1.1 使用 Git 完成破冰介绍
本任务将基于开发机实现,重点在于熟悉Git操作。首先要了解 Git操作的常见四部曲,即:舔 Add,提 Commit,拉 Pull,推 Push,关于这些指令的作用,可以参考本关卡的教程部分,具有非常精炼的介绍。
添(Add 命令:
git add <文件名>
或git add .
作用:将修改过的文件添加到本地暂存区(Staging Area)。这一步是准备阶段,你可以选择性地添加文件,决定哪些修改应该被包括在即将进行的提交中。提(Commit) 命令:
git commit -m '描述信息'
作用:将暂存区中的更改提交到本地仓库。这一步是将你的更改正式记录下来,每次提交都应附带一个清晰的描述信息,说明这次提交的目的或所解决的问题。拉(Pull) 命令:
git pull
作用:从远程仓库拉取最新的内容到本地仓库,并自动尝试合并到当前分支。这一步是同步的重要环节,确保你的工作基于最新的项目状态进行。在多人协作中,定期拉取可以避免将来的合并冲突。推(Push) 命令:
git push
作用:将本地仓库的更改推送到远程仓库。这一步是共享你的工作成果,让团队成员看到你的贡献。
下面,我们在开发机进行具体操作。对照教程内容按步骤操作即可,首先,将目标仓库fork到自己的仓库,并将仓库内容glone到开发机。而后根据个人问卷 ID定哦新的分支并创建破冰文件
git clone https://github.com/MrCatAI/Tutorial.git # 修改为自己frok的仓库
cd Tutorial/
git branch -a
git checkout -b camp3 origin/camp3
git checkout -b camp3_158 # 自定义一个新的分支
touch ./data/Git/task/camp3_158.md #修改为自己的问卷ID
在新建的破冰文件编辑内容后,利用我们学到的 git操作知识将更改提交到分支,并 push 到主要分支即可
git add .
git commit -m "add git_158_introduction" # 提交信息记录
git push origin camp3_158
最终效果如下:
然后,按照要求,将更改提交 PR到 Tutorial,效果如下,
1.2 实践项目:构建个人项目
本项目将学习在Github构建个人仓库,用于提交笔记、心得体会,或分享项目和创意等。
项目链接:LazyCooking
计划如下:
项目简介
“懒人今天做什么吃” 是一款个性化的烹饪指导应用,旨在根据用户当天的食材,推荐便捷但美味且营养的菜谱。通过智能助手的帮助,用户可以轻松地准备健康、美味的餐点,享受更加便捷的烹饪体验。
项目目标
- 提供基于当天食材的便捷菜谱推荐
- 提供详细的烹饪指导
- 提供营养分析和健康建议
- 提供购物清单生成功能
功能特点
-
当天食材输入
- 食材扫描:用户可以通过拍照或手动输入的方式,快速录入当天可用的食材。
- 食材识别:使用图像识别技术,自动识别用户上传的食材。
-
便捷菜谱推荐
- 快捷菜谱库:内置丰富的快捷菜谱库,每个菜谱都经过优化,确保在最短时间内完成。
- 个性化推荐:根据用户的饮食偏好和健康需求,推荐适合当天食材的快捷菜谱。
-
详细的烹饪指导
- 分步指导:提供分步的烹饪指导,包括准备工作、烹饪步骤和注意事项。
- 时间管理:提供烹饪时间的管理和提醒,确保每道菜按时完成。
- 互动问答:用户可以在烹饪过程中向助手提问,获得即时帮助。
-
营养分析和健康建议
- 营养成分分析:分析每道菜的营养成分(如热量、蛋白质、脂肪、碳水化合物等)。
- 健康建议:根据用户的健康需求,提供个性化的饮食建议。
-
购物清单生成
- 自动生成购物清单:根据推荐的菜谱生成购物清单,方便用户补充食材。
- 清单管理:用户可以添加、删除或标记购物清单中的项目。
- 购物建议:根据用户的购物习惯,提供购物建议和促销信息。
技术框架
-
基础模型
- 使用 InternLM 基础模型,结合增量训练和微调(SFT)技术,增强模型对烹饪和营养知识的理解和生成能力。
-
数据收集与预处理
- 数据来源:收集快捷菜谱数据、营养数据、用户反馈数据等。
- 数据清洗:对数据进行清洗和格式化处理,确保数据质量。
-
模型训练与优化
- 增量训练:在现有模型基础上,进行增量训练,提高模型的烹饪指导能力。
- 微调:结合具体的快捷菜谱数据和用户需求,进行模型微调。
-
交互界面开发
- 移动应用:开发适用于 Android 和 iOS 平台的移动应用,提供友好的用户界面。
- WebUI:开发 Web 界面,用户可以通过浏览器访问和使用助手功能。
- 智能家居集成:集成到智能冰箱、智能厨房设备等,提供更加便捷的使用体验。
-
测试与发布
- 功能测试:对各项功能进行全面测试,确保其稳定性和准确性。
- 用户测试:邀请部分用户进行测试,收集反馈并进行优化。
- 正式发布:在应用商店和官方网站上正式发布应用,并进行推广。
实施步骤
-
需求分析
- 与目标用户进行沟通,详细了解他们的需求和偏好。
- 确定项目的具体功能和技术方案。
-
数据收集与预处理
- 编写数据收集脚本,获取所需的快捷菜谱和营养数据。
- 对数据进行清洗和格式化处理,确保数据的准确性和一致性。
-
模型训练与优化
- 使用 InternLM 模型进行增量训练和微调,增强其对烹饪和营养知识的理解。
- 进行初步测试和优化,确保模型的性能。
-
交互界面开发
- 设计和开发移动应用和 WebUI,确保其易用性和美观性。
- 集成到智能家居设备,提供更加便捷的使用体验。
-
测试与发布
- 进行功能测试和用户测试,收集反馈并进行优化。
- 正式发布应用,并进行推广,吸引更多用户使用。
特别鸣谢
- 感谢所有提供数据和反馈的用户。
- 感谢开发团队的辛勤付出和技术支持。
- 感谢所有支持和鼓励我们的人。
- 本项目基于 InternLM 教程构建 InternLM教程。
一起拥抱 LLM 的浪潮吧!
相关文章:

【书生大模型实战营(暑假场)】入门任务二 Git 关卡
入门任务二 Git 关卡 参考: 教程任务 注意: 项目Github链接 1 闯关任务 1.1 使用 Git 完成破冰介绍 本任务将基于开发机实现,重点在于熟悉Git操作。首先要了解 Git操作的常见四部曲,即:舔 Add,提 Co…...

OSPF小实验
根据题目完成下列实验: 拓扑图详细设计如下: 1.基础配置 R1: [R1]interface s4/0/0 [R1-Serial4/0/0]ip address 12.1.1.1 24 [R1]interface LoopBack 0 [R1-LoopBack0]ip address 1.1.1.1 24 R2: [R2]interface s4/0/1 [R2-…...

蛋白质生物学:从序列到结构和疾病 下载并同时打开1LYZ和1H6M的PDB文件(提交图片)。描述这种蛋白质的二级和三级结构。(10分)
Download and open the PDB files of 1LYZ and 1H6M together in one view (submit an image). Describe the secondary and tertiary structure of this protein. (10 marks) 下面给出完整详细的解答: 同时打开1LYZ和1H6M的PDB文件得到: 首先二级结构…...

用VBA在Word中随机打乱单词表,进行分列
一、效果展示(以下是三次随机打乱的结果) 二、代码 Sub 随机分单词到后面的单元格()Dim C1 As CellDim str, str1, aDim shuffledArray() As VariantSet C1 Selection.Range.Tables(1).Cell(1, 1)str C1.Range.textstr mid(str, 3, Len(str) - 4)str…...

UNI-APP_点击,长按,触摸,结束触摸事件
touchstartEventHandle手指触摸动作开始字节跳动小程序不支持touchmoveEventHandle手指触摸后移动字节跳动小程序不支持touchendEventHandle手指触摸动作结束字节跳动小程序不支持touchcancelEventHandle手指触摸动作被打断,如来电提醒,弹窗字节跳动小程…...

【QT】Qt 音视频
Qt 音视频 Qt 音视频1. Qt 音频2. Qt 视频 Qt 音视频 在 Qt 中,音频主要是通过 QSound 类来实现。但是需要注意的是 QSound 类只支持播放 wav 格式的音频文件。也就是说如果想要添加音频效果,那么首先需要将非 wav 格式的音频文件转换为 wav 格式。 通…...

CSP-J 复赛 模拟题6
1.大小写字母互换: 题目描述 由输入给定一个字符串,你的任务是将原字符串中的大写字母转换成其对应的小写字母,还要将原字符串中的小写字母转换成对应的大写字母,其余字符不变。 输出转换之后得到的新字符串。 输入格式 一行…...

拷贝函数的三种调用方式
1.使用一个已经创建完成的对象来初始化一个新对象,就比如有参构造接收了一个属性后拷贝构造copy它后可以将获取的值赋值给自己的属性 记得拷贝后还要再进行赋值才行 2.值传递的方式给函数参数 额外声明一点,因为我们知道struct和class很相似,…...

C语言 | Leetcode C语言题解之第327题区间和的个数
题目: 题解: #define FATHER_NODE(i) (0 (i) ? -1 : ((i) - 1 >> 1)) #define LEFT_NODE(i) (((i) << 1) 1) #define RIGHT_NODE(i) (((i) << 1) 2)/* 优先队列(小根堆)。 */ typedef s…...

统计学:条件概率模型
照片由Edge2Edge Media在Unsplash上拍摄 一、介绍 在概率的许多应用中,不可能直接观察实验的结果;而是观察与结果相关的事件。因此,条件概率模型对于考虑和利用从观察到的事件中获得的信息至关重要。此外,条件概率模型与贝叶斯定理…...

前端工程师学习springboot2.x之配置idea热更新实现高效率开发节奏
目前已经学习springboot实现了增删改查分页查询,每次修改业财或者是代码重启项目都让我觉得很闹心,现在给出idea2021版本自带热更新操作设置,设置过程分享给大家 总结:以上就是配置的全部过程,祝大家写代码快乐…...

文本rerank与图像rerank
1、文本rerank: 这里介绍的是目前比较流行和通用一套方案:先利用特征检索(这里是特征空间上的相似度),召回相关信息,然后对query与召回的相关信息进行rerank(这里是利用cross-encoder网络做一个…...
Docker 在 Windows 系统下的使用指南:数据卷和数据库
Docker 在 Windows 系统下的使用指南:数据卷和数据库 Docker 提供了强大的功能来创建、管理和持久化数据。数据卷是 Docker 中用于存储和管理数据的机制,使得数据能够在容器的生命周期之外持久化。数据库容器可以利用数据卷来持久化数据库文件ÿ…...

[数据集][目标检测]轴承缺陷划痕检测数据集VOC+YOLO格式1166张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1166 标注数量(xml文件个数):1166 标注数量(txt文件个数):1166 标注…...

将本地微服务发布到docker镜像二:
上一篇文章我们介绍了如何将一个简单的springboot服务发布到docker镜像中,这一篇我们将介绍如何将一个复杂的微服务(关联mysql、redis)发布到docker镜像。 我们将使用以下两种不同的方式来实现此功能。 redis、mysql、springboot微服务分开…...

前端构建工具|vite快速入门
认识vite vite组成部分 Vite是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成: 一个开发服务器,它基于 原生 ES 模块 提供了 丰富的内建功能,如速度快到惊人的 模块热更新(HMR)。一…...
拯救PyCharm:击退IDE内存泄漏的策略
拯救PyCharm:击退IDE内存泄漏的策略 PyCharm,作为一款功能强大的集成开发环境(IDE),在处理大型项目或长时间开发过程中,可能会遇到内存泄漏的问题,导致IDE运行缓慢甚至崩溃。本文将提供一系列解…...

在vue3的开发环境中为什么使用vite而不是用webpack
1、vite在开发阶段没有打包过程,直接启动一个服务器 2、请求一个模块到开发服务器 3、开发服务器编译模块,根据页面用所需要的依赖去加载文件 4、加载完成后,开发服务器把编译的结果返回给页面 这使得提高了我们在开发阶段运行的效率 vite是…...
mybatis结合generator进行分页插件PluginAdapter开发
mybatis结合generator生成的代码没有分页的功能,可以尝试自己继承分页插件PluginAdapter,进行开发,实现自己的分页插件这样generator生产的代码 带分页功能了。 MyBatis MySQL自动生成带分页插件 继承PluginAdapter类,实现相关方…...

面试:ArrayList和LinkedList
ArrayList和LinkedList是什么? ArrayList: ArrayList是Java集合框架中的一个类,它实现了List接口,底层基于数组实现。ArrayList的特点是支持动态数组,可以自动扩容,适合顺序访问和随机访问。LinkedList&am…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...