GPT-4 Vision调试任何应用,即使缺少文本日志 升级Streamlit七

GPT-4 Vision 系列:

  • 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一
  • 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式二
  • 翻译: GPT-4 Vision静态图表转换为动态数据可视化 升级Streamlit 三
  • 翻译: GPT-4 Vision从图像转换为完全可编辑的表格 升级Streamlit四
  • 翻译: GPT-4 Vision通过量身定制的推荐来增强应用的用户体验 升级Streamlit五
  • 翻译: GPT-4 Vision征服LLM幻觉hallucinations 升级Streamlit六

1.6. 调试任何应用,即使缺少文本日志

作为 Streamlit 的开发倡导者,我花了很大一部分时间在论坛上,帮助我们的社区用户调试他们的 Streamlit 应用程序。

虽然 GPT-4 是一个非常有效的工具,可以快速查看错误日志以找到错误的来源,但有时,用户由于各种原因无法提供错误日志跟踪:

  • 日志跟踪可能包含无法共享的私有数据。
  • 用户可能无法在特定时间访问日志跟踪。

我们可能只能从 Streamlit 前端获得错误标注的屏幕截图,如下所示:

在这里插入图片描述
这可能会使调试问题变得困难,因为我们无权访问完整的日志跟踪。

不要害怕!ChatGPT Vision 仍然可以通过从屏幕截图中提取相关信息来提供有用的调试提示来帮助您。

使用以下提示prompt粘贴上面的图像:

Give me a clue on the error.
给我关于错误的线索。

2. GPT-4 的答案

在这里插入图片描述
根据您提供的截图,看起来一个Streamlit应用程序在执行过程中遇到了ValueError错误。错误源自一个名为classificacao_com_automl_em_manutencao_pred...(由于截图被截断,无法看到完整文件名)的文件中的modelo.predict(listaValores)函数调用。以下是我们可以推断的信息:

  1. ValueError:当一个函数接收到一个类型正确但值不适当的参数,或者当存在函数未设置处理的条件时,就会出现这种类型的错误。

  2. LightGBMScikit-learn集成:回溯显示错误发生在预测步骤中,很可能涉及到使用LightGBM(lightgbm/sklearn.py)的机器学习模型。LightGBM是一个使用基于树的学习算法的梯度提升框架,在这种情况下似乎与Scikit-learn集成。

  3. 数据输入问题:调用了predictpredict_proba函数,这表明问题可能与传递给模型进行预测的输入数据(listaValores)有关。这类错误的常见原因可能包括:

  • 形状不匹配:模型期望输入数据具有一定的形状,但listaValores与此形状不匹配。
  • 预处理不匹配:数据未按照与训练数据相同的方式进行预处理(缩放/标准化/编码)。
  • 数据中存在模型无法处理的缺失值或无限值。
  1. 模型期望:错误可能表明模型对输入数据有一定的期望,但这些期望没有得到满足。例如,模型可能需要数值输入,但它接收到的是需要编码的分类数据。

  2. _LGBMCheckArray函数:这是一个内部LightGBM函数调用,用于验证输入数组。accept_sparse=Trueforce_all_finite=False 参数表明模型被设置为接受稀疏输入并且不要求所有值都是有限的。然而,如果传递给它的数据不满足其他标准(如正确的形状或类型),它仍然可能引发ValueError

为了调试此问题,您应该:

  • 检查listaValores的形状和类型,确保它与模型的训练数据匹配。
  • 确保对训练数据应用的任何预处理步骤也应用于listaValores
  • 查看日志中的完整错误信息,正如Streamlit错误消息所建议的,以获取关于ValueError原因的更具体细节。

通常,调试此类错误涉及在错误发生之前的各个点打印出或记录数据的形状和类型,并确认输入数据满足模型的所有假设。

代码

https://github.com/zgpeace/pets-name-langchain/tree/develop

参考

https://blog.streamlit.io/7-ways-gpt-4-vision-can-uplevel-your-streamlit-apps/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本地配置Joplin Server用于Joplin笔记同步并实现公网远程访问

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具,拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能,…

LabVIEW潜油电泵数据采集系统

LabVIEW潜油电泵数据采集系统 介绍一个基于LabVIEW的潜油电泵数据采集系统。该系统目的是通过高效的数据采集和处理,提高潜油电泵的性能监控和故障诊断能力。 系统由硬件和软件两部分组成。硬件部分主要包括数据采集卡、传感器和电泵等,而软件部分则是…

IMX6LL|打造自己的驱动总线

xbus:打造自属的驱动总线 驱动总线 软件与硬件代码分离,提高程序的复用性 device–关联硬件代码driver_devices–关联软件代码bus_type–统一管理、设置match匹配规则 设备驱动模型体现分离思想 bus-xbus-devices-drivers 总线管理 buses_init()函…

鸿蒙系统扫盲(七):勘误补充总结,收个尾

这是笔者鸿蒙扫盲系列的最后一篇了,准备对过去的六篇扫盲系列文章,错误的地方做一些勘误,并且补充更新一些朋友们感兴趣的知识,最后收个尾。 1.勘误,编译型语言和解释型语言 在鸿蒙系统扫盲(五&#xff0…

网工内推 | 网络安全工程师专场,大平台,六险一金

01 汽车之家 招聘岗位:高级网络安全工程师 职责描述: 1、负责公司网站、系统与产品的漏洞扫描、渗透测试与安全评估工作; 2、负责公司安全系统与安全设备的运维,负责公司网络安全监控管理; 3、负责公司安全事件的应急…

社区投稿|Desig质押聚合器功能,帮助用户选出更适合的质押策略

在Sui上,不同的质押协议提供收益各异的产品,因此用户面临着众多可以质押token的协议,眼花缭乱无从选择。Desig质押聚合器功能现已整合到Desig钱包扩展中,极大地简化了寻找质押策略的流程。事实上,其智能质押功能支持完…

记录:Windows上QML程序打包

0.本文修改记录 (2019-9-3) 修改了VC环境相关的内容 (2020-3-5) 修改了QML模块相关的内容 (2022-8-31)one-rabbit大佬指出打包命令的参数错误,根据文档可知:qmldir应该为exe对应项…

transformer_位置编码代码笔记

transformer_位置编码代码笔记 transformer输入的序列中,不同位置的相同词汇可能会表达不同的含义,通过考虑位置信息的不同来区分序列中不同位置的相同词汇。 位置编码有多种方式,此处仅记录正余弦位置编码 正余弦位置编码公式如下&#x…

宠物用品/宠物自动饮水机方案

宠物自动饮水机方案原理 宠物自动饮水机,也叫做智能宠物饮水机,是一种为宠物设计的智能化饮水器。应用核心主要在于智能化水泵控制,以及外围传感器电路。 宠物自动饮水机使用方便,不用频繁的换水。另外,自来水的水质可…

(6)Elastix图像配准:可视化配准工具

文章目录 前言一、配准工具1.1、基于Elastix的可视化配准工具1.1.1、elastix-napari:基于napari的Elastix图像配准1.1.2、SlicerElastix:基于3D slice的Elastix图像配准1.1.3、BIRDS:基于ImageJ的Elastix双通道图像配准 1.2、基于ITK开发的配…

微信小程序如何实现点击上传图片功能

如下所示,实际需求中常常存在需要点击上传图片的功能,上传前显示边框表面图片显示大小,上传后将图形缩放到边框大小。 实现如下: .wxml <view class="{{img_src==?blank-area:}}" style="width:100%;height:40%;display:flex;align-items: center;jus…

容器算法迭代器初识

#include<iostream> using namespace std; #include<vector> //vetor容器存放内置数据类型 void test01() {//创建了一个vector容器&#xff0c;数组 vector<int> v;//向容器中插入数据v.push_back (10);//尾插 v.push_back (20);v.push_back (30);v.push_ba…

WIN11 - WSL(Windows Subsystem for Linux) 安装教程

前言 WSL&#xff0c;即Windows Subsystem for Linux&#xff0c;是一种在Windows操作系统上运行Linux二进制文件的兼容层。该层提供了Linux环境和GNU工具&#xff0c;可以在Windows系统上运行Linux应用程序。WSL使得开发人员可以在Windows系统上使用Linux工具和命令行界面&am…

项目实战:一个基于标准库的具备最值获取的万能容器实现

目录 写在前面 需求 分析 接口设计 项目实现 一些思考与总结 致谢 写在前面 刚刚介绍了变参模板和完美转发&#xff0c;现在换一换脑子做一个小的项目实战吧。博主最近学习的是标准库&#xff0c;总体来说&#xff0c;我认为标准库中的内容是很trivial的&#xff0c;重点…

04 避免 Latch 的产生

Latch 是什么 latch 即锁存器&#xff0c;是一种对电平敏感的存储单元电路&#xff0c;和寄存器一样都是基本存储单元&#xff0c;但是寄存器是边沿触发的存储器&#xff0c;锁存器是电平触发的存储器。 组合逻辑电路和时序逻辑电路 在数字电路中将逻辑电路分成两大类&#…

Java学习笔记(十一)——常用类

一、包装类 &#xff08;一&#xff09;包装类和基本数据类型的转换 ​编辑 &#xff08;二&#xff09;包装类型和String类型的相互转换 &#xff08;三&#xff09;Integer类和Character类的常用方法 二、String &#xff08;一&#xff09;创建String对象的两种方式 …

【爬虫专区】批量下载PDF (无反爬)

天命:只要没反爬,一切都简单 这次爬取的是绿盟的威胁情报的PDF 先看一下结构,很明显就是一个for循环渲染 burp抓包会发现第二次接口请求 接口请求一次就能获取到了所有的数据 然后一个循环批量下载数据即可,其实没啥难度的 import requests,osres = requests.get("…

C++ 数论相关题目 台阶-Nim游戏

现在&#xff0c;有一个 n 级台阶的楼梯&#xff0c;每级台阶上都有若干个石子&#xff0c;其中第 i 级台阶上有 ai 个石子(i≥1 )。 两位玩家轮流操作&#xff0c;每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中&#xff08;不能不拿&#xff09;。 已经拿到地面…

鸿蒙会取代Android吗?听风就是雨

现在说取代还谈不上&#xff0c;毕竟这需要时间。安卓作为全球第一的手机操作系统&#xff0c;短时间内还无法取代。持平iOS甚至超过iOS有很大可能&#xff0c;最终会呈现“三足鼎立”有望超过安卓基数。 作为全新的鸿蒙操作系统&#xff0c;其现在已经是全栈自研底座。按照鸿…

linux --中断管理 -- irq的自动探测机制

irq自动探测机制 如果一个设备的驱动程序无法确定它说管理的设备的软件中断号irq&#xff0c;此时设备驱动程序可以使用irq的自动探测机制来获取其正在使用的irq。 使用自动探测机制的条件 内核与驱动&#xff0c;必须共同努力才能完成只限于非共享中断的情况 探测前&#…