- Add consultation modal component with chat interface - Create LLM service for connecting to local Ollama - Integrate Qwen model support (7B/14B/32B variants) - Add knowledge base preparation script - Create comprehensive Qwen training documentation - Add Ollama setup and configuration script - Update translations for consultation feature (zh/en/de) - Generate OmniVerse company knowledge base data Features: - Real-time chat with AI health consultant - Support for multiple Qwen model sizes - RAG-ready knowledge base structure - Complete deployment and training guide 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
225 lines
6.5 KiB
Bash
Executable File
225 lines
6.5 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Ollama 安装和配置脚本
|
||
# 用于设置本地大模型服务
|
||
|
||
set -e
|
||
|
||
echo "🚀 开始设置 Ollama 和 Qwen 模型..."
|
||
|
||
# 颜色定义
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
NC='\033[0m' # No Color
|
||
|
||
# 检查操作系统
|
||
OS=$(uname -s)
|
||
|
||
# 1. 安装 Ollama
|
||
install_ollama() {
|
||
echo "📦 检查 Ollama 安装..."
|
||
|
||
if command -v ollama &> /dev/null; then
|
||
echo -e "${GREEN}✅ Ollama 已安装${NC}"
|
||
ollama --version
|
||
else
|
||
echo "📥 安装 Ollama..."
|
||
|
||
if [ "$OS" = "Darwin" ] || [ "$OS" = "Linux" ]; then
|
||
curl -fsSL https://ollama.ai/install.sh | sh
|
||
else
|
||
echo -e "${YELLOW}⚠️ Windows 用户请手动下载安装: https://ollama.ai/download/windows${NC}"
|
||
exit 1
|
||
fi
|
||
|
||
echo -e "${GREEN}✅ Ollama 安装完成${NC}"
|
||
fi
|
||
}
|
||
|
||
# 2. 启动 Ollama 服务
|
||
start_ollama() {
|
||
echo "🔄 启动 Ollama 服务..."
|
||
|
||
# 检查服务是否已运行
|
||
if curl -s http://localhost:11434/api/tags > /dev/null 2>&1; then
|
||
echo -e "${GREEN}✅ Ollama 服务已在运行${NC}"
|
||
else
|
||
echo "启动服务..."
|
||
ollama serve > /dev/null 2>&1 &
|
||
|
||
# 等待服务启动
|
||
sleep 5
|
||
|
||
if curl -s http://localhost:11434/api/tags > /dev/null 2>&1; then
|
||
echo -e "${GREEN}✅ Ollama 服务启动成功${NC}"
|
||
else
|
||
echo -e "${RED}❌ Ollama 服务启动失败${NC}"
|
||
exit 1
|
||
fi
|
||
fi
|
||
}
|
||
|
||
# 3. 下载模型
|
||
download_models() {
|
||
echo "📥 下载 Qwen 模型..."
|
||
|
||
# 选择模型版本
|
||
echo "请选择要下载的模型版本:"
|
||
echo "1) qwen2.5:7b (轻量级,~4GB,CPU可运行)"
|
||
echo "2) qwen2.5:14b (平衡版,~9GB,建议16GB内存)"
|
||
echo "3) qwen2.5:32b (完整版,~20GB,建议32GB内存)"
|
||
echo "4) 全部下载"
|
||
read -p "请输入选项 (1-4): " choice
|
||
|
||
case $choice in
|
||
1)
|
||
echo "下载 Qwen2.5 7B..."
|
||
ollama pull qwen2.5:7b
|
||
MODEL="qwen2.5:7b"
|
||
;;
|
||
2)
|
||
echo "下载 Qwen2.5 14B..."
|
||
ollama pull qwen2.5:14b
|
||
MODEL="qwen2.5:14b"
|
||
;;
|
||
3)
|
||
echo "下载 Qwen2.5 32B..."
|
||
ollama pull qwen2.5:32b
|
||
MODEL="qwen2.5:32b"
|
||
;;
|
||
4)
|
||
echo "下载所有版本..."
|
||
ollama pull qwen2.5:7b
|
||
ollama pull qwen2.5:14b
|
||
ollama pull qwen2.5:32b
|
||
MODEL="qwen2.5:32b"
|
||
;;
|
||
*)
|
||
echo -e "${RED}❌ 无效选项${NC}"
|
||
exit 1
|
||
;;
|
||
esac
|
||
|
||
echo -e "${GREEN}✅ 模型下载完成${NC}"
|
||
}
|
||
|
||
# 4. 创建定制模型
|
||
create_custom_model() {
|
||
echo "🎨 创建 OmniVerse 定制模型..."
|
||
|
||
# 创建 Modelfile
|
||
cat > /tmp/OmniVerse-Modelfile << 'EOF'
|
||
FROM qwen2.5:32b
|
||
|
||
SYSTEM """你是OmniVerse(灵境万象)公司的智能健康顾问助手。OmniVerse是一家专注于AI+健康领域的科技公司。
|
||
|
||
公司核心产品:
|
||
1. 智能穿戴设备:提供24/7健康监测,包括心率、血氧、睡眠分析、运动追踪等功能
|
||
- OmniWatch Pro:医疗级监测,7天续航,售价¥1,999
|
||
- OmniBand Health:基础健康监测,30天续航,售价¥599
|
||
|
||
2. 护理机器人:提供智能陪伴、健康提醒、紧急呼叫、远程医疗等服务
|
||
- CareBot-X1:专业护理机器人,售价¥29,999
|
||
- CompanionBot Mini:家用陪伴机器人,售价¥9,999
|
||
|
||
3. 健康数据平台:提供数据分析、健康报告、AI预测、医疗协作等功能
|
||
- 基础版:¥99/月/用户
|
||
- 专业版:¥299/月/用户
|
||
- 企业版:定制价格
|
||
|
||
公司解决方案:
|
||
1. 智慧养老:为养老机构提供全面的智能健康管理解决方案
|
||
2. 数字医院健康:支持医院数字化转型,提升医疗服务质量
|
||
3. 企业健康保护:为企业员工提供全方位健康安全管理
|
||
4. 科研数据服务:为科研机构提供高质量的健康数据支持
|
||
|
||
请基于以上信息,专业、友好地回答用户的问题。如果问题超出你的知识范围,请诚实告知并建议联系专业客服:400-888-9999。"""
|
||
|
||
PARAMETER temperature 0.7
|
||
PARAMETER top_p 0.9
|
||
PARAMETER num_predict 2048
|
||
EOF
|
||
|
||
# 使用选择的基础模型创建定制模型
|
||
if [ -z "$MODEL" ]; then
|
||
MODEL="qwen2.5:7b"
|
||
fi
|
||
|
||
# 修改 Modelfile 中的基础模型
|
||
sed -i.bak "s/FROM qwen2.5:32b/FROM $MODEL/" /tmp/OmniVerse-Modelfile
|
||
|
||
# 创建模型
|
||
ollama create omniverse-assistant -f /tmp/OmniVerse-Modelfile
|
||
|
||
echo -e "${GREEN}✅ OmniVerse 定制模型创建完成${NC}"
|
||
}
|
||
|
||
# 5. 测试模型
|
||
test_model() {
|
||
echo "🧪 测试模型..."
|
||
|
||
echo "发送测试问题..."
|
||
RESPONSE=$(curl -s http://localhost:11434/api/generate -d '{
|
||
"model": "omniverse-assistant",
|
||
"prompt": "介绍一下OmniVerse的智能手表产品",
|
||
"stream": false
|
||
}' | python3 -c "import sys, json; print(json.load(sys.stdin).get('response', '无响应'))")
|
||
|
||
echo -e "${GREEN}模型响应:${NC}"
|
||
echo "$RESPONSE"
|
||
|
||
echo -e "\n${GREEN}✅ 模型测试完成${NC}"
|
||
}
|
||
|
||
# 6. 配置环境变量
|
||
setup_env() {
|
||
echo "⚙️ 配置环境变量..."
|
||
|
||
# 创建或更新 .env.local 文件
|
||
cat > .env.local << EOF
|
||
# Ollama 配置
|
||
VITE_OLLAMA_URL=http://localhost:11434
|
||
VITE_LLM_MODEL=omniverse-assistant
|
||
EOF
|
||
|
||
echo -e "${GREEN}✅ 环境变量配置完成${NC}"
|
||
}
|
||
|
||
# 7. 显示使用说明
|
||
show_usage() {
|
||
echo -e "\n${GREEN}🎉 设置完成!${NC}"
|
||
echo -e "\n使用说明:"
|
||
echo "1. 模型已安装并配置完成"
|
||
echo "2. 访问 http://localhost:5174 查看网站"
|
||
echo "3. 点击'立即咨询'按钮测试AI对话功能"
|
||
echo ""
|
||
echo "可用命令:"
|
||
echo " ollama list - 查看已安装的模型"
|
||
echo " ollama run omniverse-assistant - 命令行测试模型"
|
||
echo " ollama serve - 启动服务"
|
||
echo ""
|
||
echo "注意事项:"
|
||
echo "- 确保 Ollama 服务在后台运行"
|
||
echo "- 如果遇到连接问题,检查防火墙设置"
|
||
echo "- 大模型需要较多内存,建议关闭其他应用"
|
||
}
|
||
|
||
# 主流程
|
||
main() {
|
||
echo "================================================"
|
||
echo " OmniVerse AI 健康顾问配置向导"
|
||
echo "================================================"
|
||
echo ""
|
||
|
||
install_ollama
|
||
start_ollama
|
||
download_models
|
||
create_custom_model
|
||
test_model
|
||
setup_env
|
||
show_usage
|
||
}
|
||
|
||
# 执行主流程
|
||
main |