华为开发者空间介绍:

华为开发者空间,是为全球开发者打造的专属开发者空间,致力于为每位开发者提供一台云主机、一套开发工具和云上存储空间,汇聚昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等华为各项根技术的开发工具资源,并提供配套案例指导开发者 从开发编码到应用调测,基于华为根技术生态高效便捷的知识学习、技术体验、应用创新。


1.2 华为云空间核心功能演示:

在华为开发者空间,华为云为每个新生态的开发者免费提供一台云主机,每位开发者每年可享有数百小时的云主机使用时长。

云主机预集成CodeArts IDE、代码仓及JDK、Python等运行时插件,解决本地开发环境中配置复杂、稳定性不足和依赖等问题,为开发者提供性能强大、安全、稳定、高效的开发环境,应用场景:

在这里插入图片描述

  • ①. 个人开发者:为开发者提供丰富的开发工具,支持开发者应用构建;
  • ②. 高校师生:支持教师开课、设计实验项目,学生学习课程及开发实践;
  • ③. 开源共创:开发者进行开源适配和开发,完成项目并发布开源仓库和云商店,获得开源激励。

默认机器配置是4核8G的配置,这里我们选择安装Ubuntu 24.04的镜像安装包,点击安装成功后,可以通过两种不同的远程访问方式,主要区别体现在连接目的、交互界面、适用场景和技术实现上:

在这里插入图片描述

  • ①. 进入桌面:为开发者提供丰富的开发工具,支持开发者应用构建。
  • 通过图形化界面远程操作目标计算机的完整桌面环境(如Windows、macOS或Linux桌面)。
  • 用户看到的界面与本地操作相同,可运行图形软件、编辑文件等。
  • 典型工具:Windows远程桌面(RDP)、第三方软件(向日葵、TeamViewer)。
    ‌ - 适用场景‌:远程办公、技术支持、图形化运维。‌
  • ②. 进入远程终端:支持教师开课、设计实验项目,学生学习课程及开发实践。
  • 通过命令行界面(CLI)远程登录目标设备,仅支持文本指令操作(如Linux的SSH、Windows的Telnet)。
  • 无图形界面,只能执行命令、查看文本输出。
  • 典型协议:SSH(安全)、Telnet(明文传输,不安全)。
    ‌ - 适用场景‌:服务器运维、网络设备配置、批量脚本执行。‌

(1).进入主机桌面前

  1. 云主机首次配置后,CPU类型、规格、操作系统、系统镜像和工具需要重置云主机后可重新配置。

  2. 点击进入桌面,加载云端系统桌面,需要大约3-5分钟的等待时间。

  3. 请将您自己电脑的输入法切换成英文,以便在云主机内能够正常输入。

(2).进入主机桌面后

  1. 进入主机后,初始默认可使用时长为15小时,剩余时长小于等于60分钟后,可以点击延时按钮继续使用。

  2. 为了保证数据的隐私安全,本地主机和云主机之间的数据传输通过安全剪贴板来传输。

  3. 云主机内提供了关机操作,为避免时长额度浪费,在您不用的时候请关机。

  4. 如果您很久未使用云主机,我们将对资源进行回收,以服务更多的开发者。

(3).退出主机桌面后

  1. 若您的主机还在运行中,您可以点击关机。

  2. 若您的剩余使用时长小于等于60分钟,可以点击延时按钮。

  3. 关闭连接云主机的浏览器窗口,不会使云主机立即关机,云主机仍正常运行,15分钟内未再次进入云主机,将自动关闭云主机。


二:下载ollama模型文件并运行:

Ollama是一个前沿的平台,可以让你在本地机器上运行开源的大型语言模型。它简化了部署和管理这些模型的复杂性,对于研究人员、开发者以及任何想要尝试语言模型的人来说,都是一个不错的选择。Ollama提供了一个用户友好的界面,让你可以在MacOS和Linux(Windows支持即将到来)上本地运行大型语言模型(LLMs)。

Open WebUI是一个可扩展、功能丰富、用户友好的自托管WebUI,设计为完全离线运行。它支持多种大型语言模型(LLM)运行器,包括Ollama和OpenAI兼容的API。

2.1 在终端中输入命令:

wget https://sandbox-experiment-files.obs.cn-north-4.myhuaweicloud.com/deepseek/ollama-linux-amd64.tgz

2.2 解压安装包:

sudo tar -C /usr -xzf ollama-linux-amd64.tgz

2.3 增加执行权限,创建Ollama用户:

sudo chmod +x /usr/bin/ollama
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama

2.4 创建ollama.service:

cat << EOF > /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3

[Install]
WantedBy=default.target
EOF

2.5 配置完成后,设置开机自启并运行:

sudo systemctl daemon-reload  # 重新加载systemd配置
sudo systemctl start ollama    # 启动服务
sudo systemctl enable ollama   # 设置开机自启
sudo systemctl status ollama   # 查看服务状态

三:下载拉取 deepseek-r1并运行测试

3.1 在终端中输入命令:

wget https://sandbox-experiment-files.obs.cn-north-4.myhuaweicloud.com/deepseek/ollama_deepseek_r1_1.5b.tar.gz

在这里插入图片描述

3.2 解压并将模型文件放在ollama目录:

sudo tar -C /usr/share/ollama/.ollama/models -xzf ollama_deepseek_r1_1.5b.tar.gz

sudo systemctl daemon-reload  # 重新加载systemd配置
sudo systemctl start ollama    # 启动服务
sudo systemctl enable ollama   # 设置开机自启
sudo systemctl status ollama   # 查看服务状态

3.3 运行deepseek-r1:

ollama run deepseek-r1:1.5b

在这里插入图片描述

3.4 可以查看模型列表:

ollama list

四:模型调用与应用开发

在这里插入图片描述

API文档

基础信息

  • 基础URL: http://localhost:8000
  • API版本: v1
  • 接口前缀: /api/v1

认证

所有需要认证的接口都需要在请求头中携带token:

Authorization: Bearer <access_token>

用户注册

POST /api/v1/register

请求参数:

{
    "email": "user@example.com",
    "password": "strongpassword"
}

响应示例:

{
    "id": 1,
    "email": "user@example.com",
    "is_active": true,
    "created_at": "2024-01-01T12:00:00"
}

用户登录

POST /api/v1/token

请求参数:

{
    "username": "user@example.com",
    "password": "strongpassword"
}

响应示例:

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGc...",
    "token_type": "bearer"
}

获取当前用户信息

GET /api/v1/me

响应示例:

{
    "id": 1,
    "email": "user@example.com",
    "is_active": true,
    "created_at": "2024-01-01T12:00:00"
}

宠物管理

创建宠物

POST /api/v1/pets/

请求参数:

{
    "name": "小白",
    "species": "猫",
    "breed": "英短",
    "age": 2,
    "weight": 4.5
}

响应示例:

{
    "id": 1,
    "name": "小白",
    "species": "猫",
    "breed": "英短",
    "age": 2,
    "weight": 4.5,
    "owner_id": 1,
    "created_at": "2024-01-01T12:00:00"
}

获取宠物列表

GET /api/v1/pets/

查询参数:

  • skip: 跳过的记录数(可选,默认0)
  • limit: 返回的最大记录数(可选,默认100)

响应示例:

[
    {
        "id": 1,
        "name": "小白",
        "species": "猫",
        "breed": "英短",
        "age": 2,
        "weight": 4.5,
        "owner_id": 1,
        "created_at": "2024-01-01T12:00:00"
    }
]

获取宠物详情

GET /api/v1/pets/{pet_id}

响应示例:

{
    "id": 1,
    "name": "小白",
    "species": "猫",
    "breed": "英短",
    "age": 2,
    "weight": 4.5,
    "owner_id": 1,
    "created_at": "2024-01-01T12:00:00"
}

更新宠物信息

PUT /api/v1/pets/{pet_id}

请求参数:

{
    "name": "小白",
    "age": 3,
    "weight": 4.8
}

响应示例:

{
    "id": 1,
    "name": "小白",
    "species": "猫",
    "breed": "英短",
    "age": 3,
    "weight": 4.8,
    "owner_id": 1,
    "created_at": "2024-01-01T12:00:00"
}

行为记录

创建行为记录

POST /api/v1/pets/{pet_id}/behaviors/

请求参数:

{
    "behavior_type": "进食",
    "description": "食欲良好,吃了半罐猫粮"
}

响应示例:

{
    "id": 1,
    "pet_id": 1,
    "behavior_type": "进食",
    "description": "食欲良好,吃了半罐猫粮",
    "timestamp": "2024-01-01T12:00:00",
    "ai_analysis": "猫咪进食状况正常,食量适中..."
}

获取行为记录

GET /api/v1/pets/{pet_id}/behaviors/

查询参数:

  • skip: 跳过的记录数(可选,默认0)
  • limit: 返回的最大记录数(可选,默认100)

响应示例:

[
    {
        "id": 1,
        "pet_id": 1,
        "behavior_type": "进食",
        "description": "食欲良好,吃了半罐猫粮",
        "timestamp": "2024-01-01T12:00:00",
        "ai_analysis": "猫咪进食状况正常,食量适中..."
    }
]

健康记录

创建健康记录

POST /api/v1/pets/{pet_id}/health-records/

请求参数:

{
    "record_type": "疫苗",
    "description": "完成年度疫苗接种",
    "date": "2024-01-01T12:00:00",
    "next_appointment": "2025-01-01T12:00:00"
}

响应示例:

{
    "id": 1,
    "pet_id": 1,
    "record_type": "疫苗",
    "description": "完成年度疫苗接种",
    "date": "2024-01-01T12:00:00",
    "next_appointment": "2025-01-01T12:00:00"
}

获取健康记录

GET /api/v1/pets/{pet_id}/health-records/

查询参数:

  • skip: 跳过的记录数(可选,默认0)
  • limit: 返回的最大记录数(可选,默认100)

响应示例:

[
    {
        "id": 1,
        "pet_id": 1,
        "record_type": "疫苗",
        "description": "完成年度疫苗接种",
        "date": "2024-01-01T12:00:00",
        "next_appointment": "2025-01-01T12:00:00"
    }
]

AI分析

饮食分析

POST /api/v1/pets/{pet_id}/diet-analysis

请求参数:

{
    "current_diet": "每天两餐猫粮,早晚各半罐湿粮"
}

响应示例:

{
    "analysis": "当前饮食结构合理,蛋白质摄入充足...",
    "recommendations": [
        "建议增加饮水量",
        "可以适当添加营养补充剂",
        "建议定时定量投喂"
    ]
}

开发指南

项目结构

/backend
├── config.py          # 配置管理
├── database.py        # 数据库连接
├── models.py          # 数据库模型
├── schemas.py         # 数据验证模式
├── crud.py           # 数据库操作
├── auth.py           # 认证服务
├── ai_service.py     # AI服务
├── main.py           # 应用入口
├── requirements.txt   # 项目依赖
└── routers/          # API路由
    ├── auth.py       # 认证路由
    └── pets.py       # 宠物管理路由

技术栈

后端框架

  • FastAPI:高性能异步Web框架
  • SQLAlchemy:ORM框架
  • Pydantic:数据验证
  • Python-Jose:JWT认证
  • OpenAI:AI服务

数据库

  • SQLite(开发环境)
  • PostgreSQL(生产环境推荐)

开发环境设置

1. Python环境

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate    # Windows

# 安装依赖
pip install -r backend/requirements.txt

2. 环境变量配置

# 复制环境变量示例文件
cp backend/.env.example backend/.env

# 编辑.env文件,配置必要的环境变量
# - 数据库连接
# - JWT密钥
# - OpenAI API密钥
# - 其他配置项

3. 数据库初始化

# 在Python交互式环境中执行
from backend.database import engine
from backend.models import Base
Base.metadata.create_all(bind=engine)

开发工作流

1. 代码风格

  • 遵循PEP 8规范
  • 使用类型注解
  • 编写文档字符串
  • 保持代码简洁清晰

2. 数据库操作

  • 所有数据库操作都应通过CRUD函数进行
  • 使用异步会话处理并发
  • 正确处理事务和异常

3. API开发

  • 遵循RESTful设计原则
  • 使用Pydantic模型验证数据
  • 实现适当的错误处理
  • 添加API文档注释

4. 认证和授权

  • 使用JWT进行身份验证
  • 实现适当的权限控制
  • 保护敏感数据

5. AI服务集成

  • 合理使用OpenAI API
  • 实现错误重试机制
  • 优化API调用成本

数据库管理

模型变更

  1. 修改models.py中的模型定义
  2. 创建数据库迁移脚本
  3. 应用迁移更新数据库

数据备份

  • 定期备份数据库
  • 实现数据导出功能
  • 维护数据一致性

部署

开发环境

uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000

生产环境

  1. 使用生产级WSGI服务器(如Gunicorn)
  2. 配置反向代理(如Nginx)
  3. 启用HTTPS
  4. 实现日志管理

性能优化

数据库优化

  • 添加适当的索引
  • 优化查询语句
  • 实现缓存机制

API优化

  • 实现数据分页
  • 使用异步处理
  • 添加缓存层

AI服务优化

  • 实现结果缓存
  • 优化API调用频率
  • 实现请求队列

安全考虑

数据安全

  • 加密敏感数据
  • 实现数据备份
  • 控制数据访问权限

API安全

  • 使用HTTPS
  • 实现速率限制
  • 验证请求来源

认证安全

  • 使用安全的密码存储
  • 实现登录尝试限制
  • 定期更新密钥

测试

单元测试

# 运行测试
pytest backend/tests/

# 生成覆盖率报告
pytest --cov=backend backend/tests/

API测试

  • 使用Postman或类似工具测试API
  • 编写自动化测试脚本
  • 测试各种边界情况

故障排除

常见问题

  1. 数据库连接问题

    • 检查连接字符串
    • 验证数据库服务状态
    • 检查网络连接
  2. API错误

    • 检查请求参数
    • 验证认证信息
    • 查看错误日志
  3. AI服务问题

    • 验证API密钥
    • 检查API限额
    • 查看错误响应

日志管理

  • 配置适当的日志级别
  • 实现日志轮转
  • 监控错误日志

宠物行为分析AI助手

项目介绍

宠物行为分析AI助手是一个基于人工智能的宠物行为分析和健康管理系统。该系统帮助宠物主人更好地理解和照顾他们的宠物,通过AI技术分析宠物的行为模式,提供个性化的建议和健康管理方案。

功能特性

在这里插入图片描述

1. 宠物档案管理

  • 创建和管理宠物基本信息
  • 记录宠物的品种、年龄、体重等关键数据
  • 支持多宠物管理

2. 行为分析

  • 记录日常行为表现
  • AI分析行为模式
  • 提供个性化行为建议
  • 异常行为预警

3. 健康管理

  • 健康记录追踪
  • 疫苗接种提醒
  • 体检记录管理
  • 就医记录存档

4. 智能建议

  • 基于AI的行为分析
  • 个性化饮食建议
  • 健康管理提醒
  • 训练方案推荐

后端技术栈

  • FastAPI:高性能的Python Web框架
  • SQLAlchemy:ORM数据库操作
  • OpenAI:AI分析服务
  • JWT:用户认证
  • SQLite/PostgreSQL:数据存储

在这里插入图片描述

安全特性

  • JWT token认证
  • 密码加密存储
  • 用户数据隔离
  • API访问控制

安装说明

环境要求

  • Python 3.8+
  • pip包管理器
  • 虚拟环境(推荐)

安装步骤

  1. 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate  # Windows
  1. 安装依赖
pip install -r backend/requirements.txt
  1. 配置环境变量
cp backend/.env.example backend/.env
# 编辑.env文件,配置必要的环境变量
  1. 启动服务
cd backend
uvicorn main:app --reload

访问 http://localhost:8000/docs 查看API文档

API文档

认证接口

  • POST /api/v1/register:用户注册
  • POST /api/v1/token:用户登录
  • GET /api/v1/me:获取当前用户信息

宠物管理

  • POST /api/v1/pets/:创建宠物档案
  • GET /api/v1/pets/:获取宠物列表
  • GET /api/v1/pets/{pet_id}:获取宠物详情
  • PUT /api/v1/pets/{pet_id}:更新宠物信息

行为记录

  • POST /api/v1/pets/{pet_id}/behaviors/:记录行为
  • GET /api/v1/pets/{pet_id}/behaviors/:获取行为记录

健康管理

  • POST /api/v1/pets/{pet_id}/health-records/:创建健康记录
  • GET /api/v1/pets/{pet_id}/health-records/:获取健康记录

AI分析

  • POST /api/v1/pets/{pet_id}/diet-analysis:饮食分析

使用说明

1. 用户注册和认证

  • 注册新账户
  • 登录获取token
  • 使用token访问API

2. 宠物管理

  • 创建宠物档案
  • 更新宠物信息
  • 查看宠物列表

3. 行为记录

  • 记录日常行为
  • 查看行为分析
  • 获取AI建议

4. 健康管理

  • 记录健康检查
  • 设置提醒
  • 追踪健康状况
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐