一、整体目标
掌握从零到一打造多模态AI-Agent大模型应用—“Legend OS”
功能包括:
-
不套壳,实现利用本地多模态大模型,而不用类似OpenAI或其它大模型API接口;
-
实现与大模型的文字、语音对话;
-
实现RAG,支持文档解析(PDF等)、音频解析(mp3等)、图片(JPG、PNG等);
二、本节目标
-
搭建本地Ubuntu开发环境;
-
安装VSCode开发工具并汉化;
-
安装VSCode实时代码预测插件;
-
了解人工智能开发低码工具 Stream lit;
-
10分钟实现一个简单智能对话机器人;
三、路径
-
搭建Windows本地Ubuntu开发环境:
-
①安装WSL2和Ubuntu;
-
②安装代码编辑器 VSCode、安装中文插件、AI代码补全;
-
③Ubuntu安装conda,并创建legend虚拟环境;
-
④Ubuntu安装Ollama,并下载Qwen:7b-chat大模型;
-
⑤以上部分内容,请参考【AI超车—B计划】中相关内容,本笔记中不再赘述;
-
-
创建LegendOS项目,以及app.py文件;
-
安装项目依赖类库:Streamlit、Ollama;
-
使用Ollama和Streamlit实现一个简单智能对话机器人,并实现智能对话:
四、笔记
1、创建Python虚拟环境
①cd到 ~ 目录下
②创建一个名叫 “legend” 的 python 3.10 版本的虚拟环境
conda create -n legend python=3.10
下载过程:
③激活 legend 虚拟环境
conda activate legend
④反激活legend虚拟环境
conda deactivate
2、下载并安装VSCode
①VScode官网:点我直达
②点击:【Download for Windows】
③安装VSCode
一路“下一步”安装成功即可:
④安装中文插件
点击左下角齿轮图标,点击“拓展”
然后搜索Chinese
3、安装AI代码补全插件
搜 lingma ,也就是阿里开发的“灵码”,灵码官网:点我直达
需要通过阿里云账号的 Key 和 Secret 进行登录:
4、人工智能低码开发平台Streamlit
一个开源的 Python 库,无需深厚的 Web 开发经验,通过简单的 Python 脚本快速创建具有高度交互性的 Web 应用程序,Streamlit官网( 点我直达):
-
实时预览:在编写代码的同时,Streamlit 能够自动重载应用程序,即时展现所有更改效果。
-
自动布局:自动调整界面布局以适应不同屏幕和设备,简化了 UI 设计工作。
-
强大的数据可视化:轻松创建包括图表、地图、图像在内的多种数据可视化元素。
-
丰富的交互组件:内置滑块、下拉菜单等多种交互控件,增强用户体验。
-
会话状态管理:支持会话状态功能,可以维护用户的会话信息,实现个性化交互体验。
5、ollama+streamlit 实现一个简单的智能对话机器人仅需10分钟30行代码
①激活虚拟环境 legend
conda activate legend
②安装依赖 ollama 和 streamlit:
pip install ollama streamlit
③新建app.py,粘贴以下代码进去app.py:
import ollama
import streamlit as st
# 创建一个Streamlit应用程序标题
st.title("Legend OS智能私人助理")
#初始化对话记录
if "msgs" not in st.session_state:
st.session_state["msgs"] = []
# 显示之前的对话记录
for msg in st.session_state["msgs"]:
with st.chat_message(msg["role"]):
st.markdown(msg["content"])
# 提示用户输入问题
prompt = st.chat_input("请输入您的问题")
# 如果用户输入了问题,则进行对话
if prompt:
# 将用户输入添加到对话记录中
st.session_state["msgs"].append({"role": "user", "content": prompt})
# 显示用户的消息
with st.chat_message("user"):
st.markdown(prompt)
# 生成并显示助手的回复
with st.chat_message("assistant"):
# 使用ollama大模型平台与AI模型进行对话(非流式)
response = ollama.chat(
model="qwen:7b-chat",
messages=st.session_state["msgs"],
stream=False,
)
# 解析并显示助手的回复内容
msg = response["message"]["content"]
st.markdown(msg)
# 更新对话记录以包含助手的回复
st.session_state["msgs"].append({"role": "assistant", "content": msg})
什么是AI超车计划?
是“产品江湖”社区发起的AI学习计划,由沐逸@产品江湖(微信号:legend_pmdiss)老师主理,旨在帮助大家在AI时代找到自己的位置和价值。
计划包含:
A计划【不掉队】-- 快速了解各种AI应用的使用,如Kimi、各种GPT,让自己不掉队!
B计划【赶得上】-- 快速了解现有开源的AI开发工具,如dify、Coze,以了解如何迅速构建AI应用,让自己赶得上!
C计划【快超车】--通过低代码平台并借助AI辅助编程,从零到一打造大模型应用,让自己实现快速超车!
了解AI超车计划