Files
BrunoGaoandClaude 2c6923c0f7 feat: Implement AI consultation feature with local LLM support
- 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>
2025-09-30 20:20:26 +08:00

225 lines
6.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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