【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向笔记 Task01 DeepSeek简易AI助手

【Datawhale AI夏令营第四期】 魔搭-大模型应用开发方向

Task01

正处于拿毕业证求职和实习离职期间的过渡期,想着闲着也是闲着,索性拉上本科同学队友报名参加AI比赛,想方设法卷个项目经验出来。

Task1的任务主要是体验从0开始搭建一个AI对话助手+自我介绍组队。任务难度很简单,哪怕是啥也不懂,跟着教程照抄都会。如果平时就很熟悉Anaconda虚拟环境那一套的话,五分钟完事不在话下。

我参加这个比赛最高的期望自然是能做出一个实在的AI应用,能为自己的简历增加项目经验,如果确实能力有限达不到这个程度,能跟业内的同好交流一二分享经验,见识见识也是好的。

AI大模型这块我之前只用DeepSeek(没错,也是实习期间请教技术老师薅的羊毛)在Jupyter里面实现过很简单的交互对话,部署上线、前后端、产品设计这些没有实践过,但最大的问题是没有什么好的想法,不知道要做什么好。看能不能有缘遇到一位有想法需要实践的大佬合作,帮助大佬做点基础编码、资料搜集等的辅助工作积累经验。

最近为了就业在学之前很欠缺的JAVA SpringBoot框架,后面还打算把Vue与安卓开发的短板也补上。希望这些知识在这个夏令营中能派上一些用场吧。
(基于夏令营要求本篇笔记是按Task展示,后续会合并为一整篇长文)

DeepSeek简单对话助手尝试:

DeepSeek官网: https://www.deepseek.com/
传送门
官方文档: https://platform.deepseek.com/api-docs/zh-cn/
传送门
在这里插入图片描述
在这里插入图片描述
这段代码实现了一个简单的AI互动助手,可以根据需要切换语境和提示词与其对话。
AI输出示例1: 不同语境切换对话:
在这里插入图片描述
AI输出示例2: 统一语境下连续对话:
在这里插入图片描述
完整代码:

pip install openai# python3
# 请先安装 OpenAI SDK:`pip3 install openai`
from openai import OpenAI# 定义API密钥和基础URL
api_key = "输入自己在官网申请的API"
base_url = "https://api.deepseek.com"# 创建OpenAI客户端实例
client = OpenAI(api_key=api_key, base_url=base_url)# 提示用户输入自定义语境,如果没有输入则使用默认值
system_message = input("请输入自定义语境内容(默认为'You are a helpful assistant'):")
if not system_message:system_message = "You are a helpful assistant"# 持续对话循环
while True:# 提示用户输入自定义提示词,如果没有输入则退出循环user_message = input("请输入您的自定义提示词(默认为'Hello')或按'q'退出对话:")if not user_message:user_message = "Hello"elif user_message.lower() == 'q':print("退出对话。")break# 创建chat.completions请求response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "system", "content": system_message},{"role": "user", "content": user_message},],stream=False)# 打印返回的消息内容print("AI回复:", response.choices[0].message.content)# 检查是否需要切换语境change_context = input("需要切换语境吗?输入'y'以切换,或直接按回车继续:")if change_context.lower() == 'y':system_message = input("请输入新的自定义语境内容:")if not system_message:print("输入为空,保持当前语境。")continue

跟市面上现有的AI助手相比,还差一个好看的UI界面、前端网页,包括历史聊天记录存储,如果用户多了还要考虑用户信息存储等。不过市面上已经有很多现成的AI工具了,比如通义千问,讯飞星火等,我目前也没有实现的思路和想法,就暂时不想做已经有很多人做得更好的事情了。

这个DeepSeek简易AI助手的jupyter notebook文件我会传到CSDN个人资源目录,欢迎有需要的朋友们借鉴。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot统一功能处理——统一数据返回格式

目录 一、简单使用 二、存在的问题描述 三、优点 一、简单使用 统一的数据返回格式使用 ControllerAdvice 和 ResponseBodyAdvice 的方式实现 ControllerAdvice 表示控制器通知类。 添加类 ResponseAdvice , 实现 ResponseBodyAdvice 接口,并在类上添加 …

使用 Matplotlib 绘制折线图

使用 Matplotlib 绘制折线图 数据可视化是数据分析的重要组成部分,通过图表,我们可以更直观地理解数据背后的趋势和模式。Matplotlib 是 Python 最基础也是最常用的绘图库之一,非常适合初学者。本文将带你从零开始,逐步创建和自定…

VisionPro二次开发学习笔记2-使用C#从图像数据库文件获取图像

使用C#从图像数据库文件获取图像 图像文件对象使您可以从图像文件获取图像,以及将获取的图像保存到图像文件中以备后用。VisionPro为图像文件对象提供了几种类,具体取决于您要使用的图像格式: 对CDB / IDB文件使用CogImageFileCDB对象将Cog…

谈对象系列:C++类和对象

文章目录 一、类的定义1.1类定义的格式类的两种定义方法结构体: 1.2访问限定符1.3类域 二、实例化2.1变量的声明和定义2.2类的大小计算空类的大小(面试): 三、this指针小考题 一、类的定义 1.1类定义的格式 使用class关键字&…

使用开源 LLM 充当 LangChain 智能体

太长不看版 开源 LLM 现已达到一定的性能水平,可堪作为智能体工作流的推理引擎。在我们的测试基准上,Mixtral 甚至已超越 GPT-3.5,而且我们还可以通过微调轻松地进一步提高其性能。 引言 经由因果语言建模任务训练出的大语言模型&#xff…

【电控笔记z56】ADRC回路设计(与smo比较)

用在IPM ADRC 估测反电动势 参数变动 : 内部扰动 SMO : 有高频成分 需要低通滤波器滤去 - 需要补偿延迟 两轴同步旋转坐标下做adrc adrc适合去做变化速度比较低的扰动 ADRC : 估测高速变化的扰动 , 需要修改估测器 电机模型 Ld不等于Lq 式7如下蓝色框图 eso等效成一个纯积分…

Stable Diffusion绘画 | 提示词格式

推荐格式 提升画质的提示词与画风的提示词,对整体画面影响较大,建议在首行填写 画质词画风词画面主体描述环境、场景、灯光、构图Lora负面词 画质词 常规画质词: (masterpiece:1.2),best quality,highres,extremely detailed CG,perfect…

Jenkins部署java项目

文章目录 引言I Jenkins 配置系统配置Maven 配置添加gitea凭据II 新建部署任务(maven)构建触发器构建环境Post StepsIII Jar包部署为linux系统服务创建systemd服务创建jar启动脚本IV java激活指定环境的Profile文件命令行指定配置指定环境下的nacos配置Dockerfile指定具体环境…

kmp算法(c++)

kmp算法的简单介绍 从主串中快速找到与要找的串的相同位置 如果使用暴力算法去求解这个问题,时间复杂度为O(i*j) > 很大 kmp算法则是对这类问题的优化 因整理过于麻烦,,详细的介绍可以参照这篇博客,,花时间看完就明…

第二十一节、敌人追击状态的转换

一、物理检测中的Boxcast 1、检测敌人Bool 当不知道一个函数的返回值是什么的时候 定义一个var变量 就知道了 二、状态切换 1、switch用法 2、新的语法糖写法

【MySQL】数据基本的增删改查操作

新增数据(Create) 在MySQL中,增加数据的操作主要使用 INSERT 语句。下面我们将分为两部分:单行数据插入和多行数据插入。 一、单行数据插入 全列插入: 当你要插入一行数据到表中并且要提供所有列的值时,可…

jmeter-beanshell学习16-自定义函数

之前写了一个从文件获取指定数据,用的时候发现不太好用,写了一大段,只能取出一个数,再想取另一个数,再粘一大段。太不好看了,就想到了函数。查了一下确实可以写。 public int test(a,b){return ab; } ctes…

剖析HTML 元素——WEB开发系列02

HTML元素是构成HTML文档结构的基本单位,定义了页面上的不同部分和内容。HTML元素可以包含不同类型的内容,如文本、图片、链接、表格等,每种元素都有其特定的用途和语义。通过组合和嵌套不同的HTML元素,可以创建复杂的网页结构和布…

java之如何爬取本地数据(利用正则表达式)

public class RegexDemo4 {public static void main(String[] args) {String s"程序员学习java,""电话:181512516758,18512508907" "或者联系邮箱:boniuitcast.cn,""座机电话&…

脱胎于 S 语言的R语言,Ross Ihaka 和 Robert Gentleman 和社区的力量让 R 在学术界与研究机构放光彩

R语言从一门用于统计学教学的编程语言,发展成为全球数据科学领域的重要工具,离不开其强大的功能、丰富的社区资源和开源精神。这些都离不开Ross Ihaka 和 Robert Gentleman 和 社区的力量。 在1990年代初,新西兰奥克兰大学的统计学教授Ross I…

6.3.面向对象技术-设计模式

设计模式 设计模式创建型模型速记口诀 结构型设计模式速记口诀 行为型设计模式速记口诀 练习题 设计模式 上午2-4分,记忆点很多 要具体了解推荐看书籍《大话设计模式》 架构模式:软件设计中的高层决策,例如C/S结构就属于架构模式&#xff0…

Dopple Labs 选择 Zilliz Cloud 作为安全高效的向量数据库

一直以来,我都十分赞同采用通用的标准来评估机器学习领域的技术。向量数据库领域也是如此。Zilliz 发布的性能测试对我有着很大的帮助。 ——Sam Butler Dopple.AI 机器学习总监 01.Dopple AI简介 Dopple Labs Inc. 是 Dopple.AI 的原厂,通过提供创新…

关于进程间通信的练习

1> 使用有名管道实现,一个进程用于给另一个进程发消息,另一个进程收到消息后,展示到终端上,并且将消息保存到文件上 一份 create.c #include<myhead.h>int main(int argc, const char *argv[]) {//创建一个管道文件if(mkfifo("./linux",0664)-1){perror(&qu…

RabbitMQ docker安装

后台配置文件 rabbitmq:image: rabbitmq:latestcontainer_name: rabbitmqports:- "5672:5672" # RabbitMQ server port- "15672:15672" # RabbitMQ management console portenvironment:RABBITMQ_DEFAULT_USER: adminRABBITMQ_DEFAULT_PASS: admin 若要打…

磁盘无法访问的危机与解救:数之寻软件的数据恢复之旅

在数字时代&#xff0c;磁盘作为数据存储的核心&#xff0c;承载着我们的工作文档、珍贵照片、个人视频等无价之宝。然而&#xff0c;当您试图访问某个磁盘时&#xff0c;却遭遇了“磁盘无法访问”的提示&#xff0c;这无疑是一场突如其来的数据危机。本文将深入探讨磁盘无法访…