欢迎光临
我们一直在努力

从拍摄到成册|云开发环境 + CodeArts 代码智能体,全流程自动化生成智能旅行手账

目录

一、概述

1.1 适用对象

1.2 案例流程

案例流程如下图所示:

1.3 资源总览

二、环境和资源准备

2.1 领取华为云MaaS平台商用大模型Tokens福利

2.2 获取百度地图API密钥

2.3 创建云开发环境

2.4 准备开发环境

三、构建智能旅行手账应用

3.1 部署项目代码

3.2 调试和部署项目代码

1)项目结构说明

2)单元测试

准备测试图片

运行单元测试

3)运行主程序

4)查看结果

四、释放资源

4.1 删除云开发环境

4.2 停止API服务

五、扩展资料说明

5.1 相关技术文档

5.2 扩展功能建议

附录:常见问题

Q1: 图片没有GPS信息怎么办?

Q2: 如何提高生成速度?

Q3: 支持哪些图片格式?

Q4: 如何自定义旅行手账样式?


本文首发自华为云论坛:https://bbs.huaweicloud.com/forum/thread-0212720524598951942-1-1.htmlhttps://bbs.huaweicloud.com/forum/thread-0212720524598951942-1-1.html

一、概述

1.1 适用对象

  • AI应用开发者
  • Python开发者
  • 旅游爱好者
  • 想要学习多模态大模型应用的开发者

1.2 案例流程

本案例将使用CodeArts代码智能体生成程序完成以下工作:

  • 准备旅行照片,获取华为云ModelArts API密钥和百度地图API密钥
  • 使用Python程序读取照片EXIF信息(GPS坐标、拍摄时间)
  • 调用Qwen2.5-VL-72B视觉模型分析图片内容
  • 使用百度地图API进行逆地理编码,获取详细地址和附近景点
  • 调用DeepSeek-R1文本模型生成小红书风格旅游文案
  • 自动生成精美的HTML格式旅行手账
  • 案例流程如下图所示:

    案例流程图

    说明:

  • VS Code远程连接云开发环境(容器);
  • VS Code集成CodeArts Doer for Coding插件,搭建CodeArts代码智能体;
  • 设置智能体模式,快速构建华为云智能旅行手账程序。
  • 1.3 资源总览

    本案例预计花费2元(假设照片不超过10张,分析一张手机照片一般需要1.5千tokens)。体验完成后请及时释放资源,避免产生多余的费用。

    资源名称规格单价(元)时长(分钟)
    华为云ModelArts API DeepSeek-R1 1 30
    华为云ModelArts API Qwen2.5-VL-72B 输入:¥0.016 / 千tokens 输出:¥0.048 / 千tokens 30
    百度地图API 逆地理编码 + 景点搜索 免费额度 30
    云开发环境 Python 3.7+ 免费 30

    二、环境和资源准备

    2.1 领取华为云MaaS平台商用大模型Tokens福利

    登录华为开发者空间,参考案例《华为云MaaS平台商用大模型Tokens领取使用指导》中的“二、 领取MaaS平台商用大模型Tokens”章节内容,领取MaaS平台DeepSeek-R1商用大模型Tokens代金券,购买ModelArts Studio DeepSeek Tokens套餐包,开通商用模型服务,最后获取到模型的API地址、模型名称和API Key。

    开通模型

    获得API Key

    开通商用模型服务,获取以下信息:

    • API地址:https://api.modelarts-maas.com/v1/chat/completions
    • 视觉模型名称:qwen2.5-vl-72b
    • 文本模型名称:DeepSeek-R1
    • API Key:您的API密钥

    注意:记录API Key、API地址以及模型名称留作后面步骤使用。

    2.2 获取百度地图API密钥

  • 访问百度地图开放平台:https://lbsyun.baidu.com/

  • 注册并登录账号

  • 创建应用,获取AK(API Key)

    创建应用

  • 开启"逆地理编码"和"地点检索"服务权限,前者将GPS坐标转换为地址信息,后者查找该地址最可能的旅游景点,从而获得照片所对应的景点信息

    服务权限

  • 注意:记录API Key留作后面步骤使用。

    2.3 创建云开发环境

    参考案例《基于华为开发者空间 – 云开发环境(容器)搭建CodeArts代码智能体》中的“二、VS Code远程连接云开发环境(容器)”和“三、搭建CodeArts代码智能体”步骤,完成VS Code远程连接云开发环境(容器)并搭建CodeArts代码智能体。

    2.4 准备开发环境

    本案例使用Python 3.7+,需要安装以下依赖:

    pip install Pillow==10.0.0 requests==2.31.0

    三、构建智能旅行手账应用

    3.1 部署项目代码

    在CodeArts代码智能体对话框中输入如下问题,使智能体自动构建智能旅行手账程序:

    # 华为云智能旅行手账

    # 功能
    使用Python语言开发程序,具备以下功能:
    1. 读取指定目录中的图片,使用视觉大模型进行图片内容分析,利用文本大模型针对图片内容和图片的地理位置信息、拍摄时间等生成旅游手账。
    2. 地理位置信息逆解析采用百度地图API,解析后在该地点找到最近的旅游景点。
    3. 旅游手账格式为HTML,语言风格类似小红书的游记。
    4. 生成以下单元测试程序,方便调试程序
    * 获得图片中地理位置信息并进行逆解析的单元测试程序
    * 视觉理解的单元测试程序
    * 文本生成的单元测试程序

    # 配置
    * 数据目录:./data
    * 视觉模型配置信息
    APIKey: <2.1节获得的API Key>
    model: qwen2.5-vl-72b
    url: https://api.modelarts-maas.com/v1/chat/completions
    * 文本大模型配置信息
    APIKey: <2.1节获得的API Key>
    model: DeepSeek-R1
    url: https://api.modelarts-maas.com/v1/chat/completions
    * 百度地图API
    APIKey: <2.2节获得的API Key>

    此时可以看到,智能体开始自动构建任务步骤:生成开发方案、编写代码与安装依赖,全程不需要我们操作。如遇到智能体提问,可根据实际情况回答或确认。

    注意:这里我们让CodeArts代码智能体生成3个单元测试,因为这样复杂的程序,CodeArts代码智能体很难一次性生成正确,采用单元测试程序可以方便对程序中重要的环节进行单独测试,提高调试效率。

    3.2 调试和部署项目代码

    1)项目结构说明

    项目生成后一般会包括以下模块(由于CodeArts代码智能体每次生成的程序都不完全相同,读者得到的结果可能与此处不是完全相同,但是大致应该差不多):

    华为云智能旅行手账
    ├── config.py # 配置文件
    ├── exif_extractor.py # EXIF数据提取
    ├── baidu_map_service.py # 百度地图服务
    ├── vision_service.py # 视觉模型服务
    ├── text_service.py # 文本生成服务
    ├── html_generator.py # HTML生成器
    ├── main.py # 主程序
    ├── requirements.txt # 依赖包
    ├── data/ # 图片数据目录
    └── tests/ # 单元测试
    ├── test_location.py # 位置解析测试
    ├── test_vision.py # 视觉理解测试
    └── test_text.py # 文本生成测试

    2)单元测试

    准备测试图片
    • 将旅行照片放入 ./data 目录
    • 支持的格式:.jpg, .jpeg, .png, .heic, .webp
    • 建议照片包含GPS信息和拍摄时间
    运行单元测试

    测试位置解析和百度地图服务:

    python tests/test_location.py

    测试视觉理解功能:

    python tests/test_vision.py

    测试文本生成功能:

    python tests/test_text.py

    3个单元测试程序运行过程中如果出现错误,将错误信息发送给CodeArts代码智能体,它会自动完成修复工作。全部单元测试都通过之后,一般主程序也没有什么问题了。

    3)运行主程序

    输入如下命令执行主程序

    python3 main.py

    程序将自动:

  • 读取 data/ 目录中的所有图片
  • 提取每张图片的GPS坐标和拍摄时间
  • 调用视觉模型分析图片内容
  • 使用百度地图获取地址和景点信息
  • 生成小红书风格的旅游文案
  • 生成HTML格式的旅行手账
  • 4)查看结果

    生成的HTML文件将保存在当前目录,文件名格式为:travel_journal_YYYYMMDD_HHMMSS.html

    在浏览器中打开HTML文件,即可查看精美的旅行手账。下面是部分例子:  

    旅行手账头部

     

    旅行手账局部

     

    旅行手账局部

    旅行手账尾部

    四、释放资源

    4.1 删除云开发环境

    进入云开发环境列表,选择环境容器,点击"删除"按钮。在对话框中确认删除,释放计算资源。

    4.2 停止API服务

    如果不再需要使用华为云ModelArts API和百度地图API,可以在相应的控制台停止服务,删除API Key,避免产生额外费用。

    五、扩展资料说明

    5.1 相关技术文档

    • 华为云AI开发平台ModelArts文档
    • 百度地图API文档: https://lbsyun.baidu.com/faq/api?title=webapi/guide/webservice-geocoding-abroad
    • Pillow文档:https://pillow.readthedocs.io/
    • Python requests库文档:https://docs.python-requests.org/

    5.2 扩展功能建议

  • 多语言支持:添加英文、日文等多语言旅行手账生成
  • 社交媒体分享:一键分享到微博、小红书等平台
  • PDF导出:支持导出为PDF格式
  • 地图集成:在HTML中嵌入交互式地图
  • 语音讲解:使用TTS技术生成语音讲解

  • 附录:常见问题

    Q1: 图片没有GPS信息怎么办?

    A: 程序会自动检测GPS信息,如果没有GPS,仍然可以生成旅行手账,只是缺少地理位置信息。

    Q2: 如何提高生成速度?

    A: 可以在配置文件中调整 timeout 参数,或者使用更快的模型版本,比如DeepSeek-V3。

    Q3: 支持哪些图片格式?

    A: 支持 .jpg, .jpeg, .png, .heic, .webp 等常见图片格式。

    Q4: 如何自定义旅行手账样式?

    A: 可以修改 html_generator.py 中的CSS样式,自定义页面布局和颜色。


    我正在参加【案例共创】【第9期】基于开发者空间-云开发环境(容器)+ CodeArts代码智能体完成应用开发/调试实践 https://bbs.huaweicloud.com/forum/thread-0212720434463368503-1-1.html?fid=557

    赞(0)
    未经允许不得转载:171主机测评 » 从拍摄到成册|云开发环境 + CodeArts 代码智能体,全流程自动化生成智能旅行手账
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址