COZE插件开发-读取图像

由于需要推理图像小模型,然后返回相关参数,目前商店中没有满足需要的插件,所以开发了一个。

在开发之前,得明白一点:

1. coze发送的图片不是二进制流,而是url链接

以下是后端代码:

import requests
from flask import Flask, request, jsonify
import os
import preprocess_data_module as preproc
from cnn_model import RD_net
import torchapp = Flask(__name__)
device = torch.device("cuda:1" if torch.cuda.is_available() else "cpu")model = RD_net().to(device)
model.load_state_dict(torch.load("img_model3/xxxxx", map_location=device))
model.eval()@app.route('/')
def index():return jsonify({"message": "Welcome to the RD_net API"})# 健康检查路由
@app.route('/health', methods=['GET'])
def health_check():return jsonify({"status": "OK"})@app.route('/predict', methods=['POST'])
def get_structure_params():content_type = request.headers.get('Content-Type')if content_type == 'application/json':data = request.get_json()file_url = data.get('file')if not file_url:return jsonify({"error": "No file URL provided"}), 400# 下载图片try:response = requests.get(file_url)response.raise_for_status()  # 检查请求是否成功temp_image_path = 'temp_image.png'  # 临时保存的文件名with open(temp_image_path, 'wb') as f:f.write(response.content)  # 保存图片内容except Exception as e:return jsonify({"error": str(e)}), 500# 处理下载的图片try:processed_data = preproc.preprocess_image(temp_image_path)processed_data = processed_data.transpose((2, 0, 1))input_tensor = torch.tensor(processed_data, dtype=torch.float).unsqueeze(0).to(device)# 使用模型进行预测with torch.no_grad():output = model(input_tensor)structure_params = output.cpu().numpy()if structure_params.ndim > 1:structure_params = structure_params.flatten()# 将数组转换为字符串structure_params_str = ', '.join(map(str, structure_params))return jsonify({'structure_params': structure_params_str})except Exception as e:return jsonify({"error": str(e)}), 500finally:# 删除临时文件if os.path.exists(temp_image_path):os.remove(temp_image_path)else:return jsonify({"error": "Invalid Content-Type, expected application/json"}), 415if __name__ == '__main__':app.run(debug=False, host='0.0.0.0', port=8714)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148003.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

10月23-27日六西格玛绿带公开课即将在雄安新区开课

在金秋送爽、硕果累累的季节里,天行健管理咨询公司宣布了一项重要决定——定于10月23日至27日,在充满未来气息的河北雄安新区,举办一场旨在提升企业质量管理水平、培养精英人才的六西格玛绿带公开课。此次课程的举办,不仅是对当前…

LeetCode 每日一题 ---- 【1014. 最佳观光组合】

LeetCode 每日一题 ---- 【1014. 最佳观光组合】 1014.最佳观光组合题解:枚举右 维护左 1014.最佳观光组合 题解:枚举右 维护左 先对题目中的式子进行变形 values[i] values[j] i - j > (values[i] i) (values[j] - j) 枚举右端点 j&#xf…

活动报名| 探索存内计算的未来,共话AGI时代

活动日期:2024年09月28日 下午一点到6点 地点:杭州技术转移中心 三楼路演厅 议程亮点: 存内计算技术架构以及最新趋势AGI开源项目交流存内计算实操上板体验 存内计算 ——突破物理极限的下一代算力技术 直接消除“存”“算”界限&…

2024/9/22周报

文章目录 摘要Abstract可能的数据结构数据集结构 数据处理步骤数据集示例人工智能模型应用关键评估目标评价指标分类应用实例最终目标多目标优化的基本概念1. Pareto最优解(Pareto Optimality)2. 目标权重法(Weighted Sum Method)…

二.python基础语法

目录 1.第一个python实例 2.python编码规范 2.1.编写规则 2.2.命名规范 2.3. 空格 2.4. 缩进 2.5. 注释 3.python关键字和标识符 3.1.标识符 3.2.关键字 4.python变量 4.1. 定义变量 4.2. 变量类型是可变的 4.3. 多个变量指向同一个值 5.python基本数据类型 5.…

基于vue框架的传统文化传播网站设计与实现f7r43(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,文化类型,传统文化 开题报告内容 基于Vue框架的传统文化传播网站设计与实现开题报告 一、研究背景 在全球化加速的今天,各国文化相互交融,但也面临着传统文化被边缘化的风险。中国拥有五千年文明史&#…

ai绘画工具Playground v3:重新定义AI图像生成

Playground AI是一款免费的在线AI绘画工具,它使用深度学习技术帮助用户将文字和图片转换成高质量的图像,非常适合创作艺术作品、社交媒体内容、演示文稿、海报、视频和logo等。这个工具不仅支持文生图和图生图,还提供图像编辑功能&#xff0c…

2024年找工作怎么这么难?网工该何去何从?

2024年,找工作对很多人来说都变得更加艰难,网络工程师也不例外,仿佛是寒冬一般。 招聘岗位数量骤减,求职竞争加剧,很多人在职场上感受到前所未有的压力。 你可能觉得这是行业的末日,但实际上,这…

论文集搜索网站-dblp 详细使用方法

分享在dblp论文集中的两种论文搜索方式:关键字搜索,指定会议/期刊搜索。 关键字搜索 进入dblp官方网址dblp: computer science bibliography,直接在上方搜索栏,搜索关键字,底下会列出相关论文。 指定会议/期刊搜索 …

postgres导入sql文件的方法

首先,要打开CMD,cd到postgreSQL的bin路径 在下面这个例子里,player是数据库名称,postgres是用户名 添加完成之后,打开客户端 可以看到所有表已经全部导入

基于ssm框架的博客系统

基于ssm框架的博客系统的开发 ssm640基于ssm框架的博客系统的开发vue 目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1.3 研究内容 2 2 系统开发环境 3 2.1 vue技术 3 2.2 JAVA技术 3 2.3 MYSQL数据库 3 2.4 B/S结构 4 2.5 SSM框…

如何着手创建企业数据目录?(四)数据质量与标准化

前文导读: 《如何着手创建企业数据目录?(一)数据目录的设定》 《如何着手创建企业数据目录?(二)数据的命名与维护》 《如何着手创建企业数据目录?(三)权限管理…

顶会创新点速递!强化学习+注意力机制,发文香饽饽!

强化学习结合注意力机制的研究在学术界和工业界都引起了广泛关注,因为它能显著提升模型处理复杂任务的效率和准确性,迅速成为了各大顶会的投稿热门。目前,强化学习注意力机制主要有三大研究方向:状态表示、动作选择、奖励预测。 …

2012-2019全球地表平均夜光年度数据

数据详情 2012-2019全球地表平均夜光年度数据 数据属性 数据名称:全球地表平均夜光年度数据 数据时间:2012-2019 空间位置:全球 数据格式:tif 空间分辨率:1500米 时间分辨率:年 坐标系:…

SD教程:一键将真人照片转成插画风格头像,秒变二次元动漫主角~

大家好,我是灵魂画师向阳 如今AI技术日益成熟,今天给大家分享一个用AI绘画工具StableDiffusion制作真实头像转插画的教程,废话不多说,上操作。 本期教程我们将以SD为作图工具,如果你还没有安装使用过AI绘画工具Stable…

Java中的事件(动作监听-ActionListener)

(一)、ActionListener接口 ActionListener接口用于处理用户界面上的动作事件,例如:按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法,该方法会在动作发生时被调用。 &#…

【波束管理】

波束管理 5G的三大场景eMBBURLLCmMTC 波束赋形MIMO初始波束建立 5G的三大场景 eMBB 即“增强移动带宽”。 就是以人为中心的应用场景,集中表现为超高的传输速率,广覆盖的移动性保证等。 这是最直接改善移动网速,未来更多的应用对移动网速的…

ssl证书中,什么是根证书,中间证书,证书连又是什么

在 SSL/TLS 证书体系中,根证书(Root Certificate)、中间证书(Intermediate Certificate)、证书链(Certificate Chain)都是至关重要的概念,它们构成了整个证书验证的体系结构&#xf…

中小微企业生产管理利器-- 超轻量生产工单系统

为解决中小微制造企业的生产管理难题,搭贝官方自主设计并推出了一款开箱即用的超轻量「生产工单系统」应用。该系统具备5分钟上手,3小时落地的优势,无需实施即可轻松实现生产任务的敏捷管理,同时支持自定义修改,能够适…

提升用户体验的秘诀,Xinstall让二维码与应用内页面无缝对接

随着移动互联网的飞速发展,二维码已成为我们日常生活中不可或缺的一部分。然而,你是否曾遇到过扫描二维码后,仅能打开应用首页,而无法直接跳转到目标页面的困扰?这不仅影响了用户体验,也降低了应用的使用效…