这是点餐智选助手后端的基础服务,基于 Flask 框架并部署于微信云托管。该服务实现了菜单图片分析接口及简单计数器示例,主要功能如下:
在 wxcloudrun/views.py
文件中,菜单相关功能主要集中在两个 API 路由中:
-
功能: 分析上传的菜单图片(Base64 编码)并返回结构化数据。
-
请求方法:
POST
-
请求参数:
image
: 包含菜单图片的 Base64 编码字符串。
-
处理流程:
- 检查请求体中是否包含
image
参数,若缺失则返回错误响应。 - 打印 Base64 图片数据前50字符作为调试信息。
- 使用 API 密钥初始化 Together 客户端,并设置系统提示指导模型解析菜单图片,提取菜单项的名称、描述、价格和类别。
- 调用 Together API 获取解析结果,并将返回的菜单文本按行分割、分类存储。
- 构建翻译提示,通过调用翻译 API 将菜单项翻译成中文(保持格式不变)。
- 整理返回数据(包括处理时间、时间戳、原始文本和翻译文本),最终返回结构化结果。
- 检查请求体中是否包含
-
功能: 从云托管对象存储获取菜单图片并返回结构化数据。
-
请求方法:
POST
-
请求参数:
fileid
: 云存储中菜单图片的文件 ID。
-
处理流程:
- 检查请求体中是否包含
fileid
参数,若缺失则返回错误响应。 - 打印接收到的文件 ID,辅助调试。
- 使用腾讯云 COS SDK 下载指定文件至本地临时路径,并将图片转换为 Base64 编码。
- 调用
analyze_menu()
函数对 Base64 图片数据进行菜单分析,并返回结果。
- 检查请求体中是否包含
-
本地调试
下载代码后,请参考微信云托管本地调试指南进行调试。 -
部署
使用 Dockerfile 构建镜像并部署到微信云托管,确保正确配置所需的环境变量(如MYSQL_ADDRESS
、MYSQL_USERNAME
、MYSQL_PASSWORD
)。
本项目采用 MIT License 开源。