【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个人资源目录,欢迎有需要的朋友们借鉴。