翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式二

GPT-4 Vision 系列:

  • 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一

GPT-4 Vision 的 7 个实际用例

Pre-requisites:先决条件:

  1. 订阅 ChatGPT Plus 以访问 GPT-4 Vision。
  2. 如果您不熟悉 Streamlit,请按照安装步骤操作。

1. 绘制您的应用程序并观看它栩栩如生

…由于我的绘画技巧堪比追逐激光笔的猫,我将使用 Balsamiq 来实现手绘模型的感觉。

此模型由一个双面板 UI 组成。左侧面板包括一个徽标、三个导航链接、两个复选框和一个下拉列表。右侧面板显示应用名称、文本区域、两个折线图和一个“下载图表数据”按钮:

将此模型图像粘贴到 ChatGPT 界面中:
在这里插入图片描述
包括以下提示词prompt:

Create a Streamlit app from this mock-up. You will use the Echarts library.

翻译 prompt:
从此模型创建 Streamlit 应用程序。您将使用 Echarts 库。

提示
最好指定要使用的数据可视化效果。如果未指定,则默认值为 matplotlib。
每个数据可视化库都必须通过以下方式安装pip install到您的虚拟环境中即可工作。

检查结果:
在这里插入图片描述
通过简单地上传一个模型,Vision 生成了一个功能齐全的 Streamlit 原型:一个带有徽标占位符、导航链接、复选框、组合框、一些文本、图表和下载按钮的应用程序。🙌

GPT-4 生成代码如下

使用Echarts库基于提供的草图创建一个Streamlit应用程序,您需要设置布局和组件以匹配设计。以下是与草图对应的Streamlit代码的概念大纲:

首先,确保您已安装必要的库:

pip install streamlit streamlit_echarts pandas

然后,你可以这样编写Streamlit应用程序:

import streamlit as st
from streamlit_echarts import st_echarts
import pandas as pd
import numpy as np# Set up the page layout
st.set_page_config(layout="wide")# Assuming logo.png is the logo file in the same directory as the script
logo = './logo.png'# Sidebar with logo and navigation
# st.sidebar.image(logo, use_column_width=True)
st.sidebar.button('Page 1')
st.sidebar.button('Page 2')
st.sidebar.button('Page 3')
st.sidebar.checkbox('Checkbox 01')
st.sidebar.checkbox('Checkbox 02')
st.sidebar.selectbox('ComboBox', ['Option 1', 'Option 2', 'Option 3'])# Main page layout
col1, col2 = st.columns([1, 3])# Dummy data for the chart
data = pd.DataFrame({'Series 1': np.random.rand(10),'Series 2': np.random.rand(10)
})# Echart line chart
options = {"xAxis": {"type": 'category',"data": list(data.index)},"yAxis": {"type": 'value'},"series": [{"data": list(data['Series 1']),"type": 'line',"smooth": True},{"data": list(data['Series 2']),"type": 'line',"smooth": True}]
}# Render the Echarts line chart in the main column
with col2:st.markdown("### Chart_name")st_echarts(options=options, height="400px")# Button to download dataif st.button('Download Chart Data'):# This will download the data as a CSV filest.download_button(label="Download data as CSV",data=data.to_csv().encode('utf-8'),file_name='chart_data.csv',mime='text/csv',)# Text and other elements would go here
with col1:st.markdown("## My_app_name")st.markdown("""Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque varius eros ac purus dignissim.""")

要运行这个应用程序,将代码保存在一个Python文件中(例如,sketch_app.py),然后使用Streamlit执行它:

streamlit run Vision/sketch_app.py 

这段代码将创建一个具有以下功能的Streamlit应用程序:

  • 侧边栏带有用于logo、导航按钮、复选框和组合框的占位符。
  • 主区域带有标题、一些占位文本和Echarts折线图。
  • 一个按钮,用于将图表数据下载为CSV文件。

请用实际内容替换占位数据、图表选项和文本。如果需要进一步自定义外观和感觉或添加额外功能,您可以相应地修改代码。

代码

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/651548.shtml

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

相关文章

C++面试:二叉树和红黑树

目录 二叉树 1. 二叉树的定义 2. 二叉树的遍历 3. 二叉树的应用 4. 实现细节 5. C中的实现 面试准备 红黑树 红黑树的原理 红黑树的用途 示例代码 面试准备 1. 红黑树的工作原理及其规则 2. 红黑树的优势及与其他二叉搜索树(如AVL树)的比较…

尚无忧球馆助教系统源码,助教小程序源码,助教源码,陪练系统源码

特色功能: 不同助教服务类型选择 助教申请,接单,陪练师入住,赚取外快 线下场馆入住 设置自己服务 城市代理 分销商入住 优惠券 技术栈:前端uniapp后端thinkphp 独立全开源

.NET高级面试指南专题一【委托和事件】

在C#中,委托(Delegate)和事件(Event)是两个重要的概念,它们通常用于实现事件驱动编程和回调机制。 委托定义: 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个…

pyqt添加菜单栏

参考: https://blog.csdn.net/seniorwizard/article/details/109820641 import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import Qt from PyQt5.QtWidgets import (QApplication, QMainWindow, QMenuBar, QMenu, QAction, QPlainTextEdi…

HarmonyOS鸿蒙ArkTS,封装http网络请求

HarmonyOS鸿蒙ArkTS,封装http网络请求 前提: 要想使用http请求,系统必须要具备ohos.permission.INTERNET权限,在model.json5文件中的module模块下添加如下请求权限: 在module.json5文件中 配置 "requestPermi…

踩坑(6)Redisson调用unlockAsync方法释放锁失败

问题描述 通过redisson的lockAsync异步方法获取到锁之后&#xff0c;再业务执行完成后调用lock.unlockAsync()无法释放当前锁&#xff0c;导致后续的方法被阻塞 public void asyncLock() {RLock lock redissonClient.getLock("asyncLock");RFuture<Void> fut…

LeetCode 热题 100 | 矩阵

目录 1 73. 矩阵置零 2 54. 螺旋矩阵 3 48. 旋转图像 4 240. 搜索二维矩阵 II 菜鸟做题第二周&#xff0c;语言是 C 1 73. 矩阵置零 解题思路&#xff1a; 遍历矩阵&#xff0c;寻找等于 0 的元素&#xff0c;记录对应的行和列将被记录的行的元素全部置 0将被记录的…

k8s 进阶实战笔记 | Scheduler 调度策略总结

文章目录 Scheduler 调度策略总结调度原理和过程调度策略nodeSelect亲和性和反亲和性NodeAffinify亲和验证PodAffinity 亲和验证PodAntiAffinity 反亲和验证污点与容忍跳过 Scheduler 调度策略 调度策略场景总结 Scheduler 调度策略总结 调度原理和过程 Scheduler 一直监听着…

k8s Ingress部署应用

Deployment(部署) Deployment处于master节点&#xff0c;master会选择合适的work节点创建Container Container会被包含在Pod中 通过k8s部署一个nginx kubectl create deployment my-nginx --imagenginx创建一个tomcat 镜像 创建一个tomcat-svc.yaml文件 创建service类型…

【心得】java JNDI配合RMI实现注入个人笔记

目录 JNDI RMI 基本概念 RMI 基本逻辑 恶意利用 JNDI注入RMI实现攻击 JNDI Java Naming and Directory Interface Java 命令和目录接口 让配置参数 和 代码 解耦的规范或者思想 低耦合 高内聚 Name 命名 java对象 通过 命名 绑定到 容器环境 java对象和一个特定的…

Java技术栈 —— Kafka入门(一)

Java技术栈 —— Kafka入门&#xff08;一&#xff09; 一、什么是Kafka&#xff1f;二、如何安装Kafka&#xff1f; 一、什么是Kafka&#xff1f; Kafka是一种消息队列&#xff0c;通过订阅-发布机制可以实现解耦合&#xff0c;用异步处理代替同步处理[1] 。&#xff08;理解这…

REVIT二次开发万能刷

将这两个参数赋予其他参数 步骤2 将来做个可以调控的版本 using System; using System.Collections.Generic; using System.Lin

如何把word檔案自動化

1.安裝 pip install jojo-office ( 安裝這個) 2.讀取表格內容與文章內容&#xff0c;範例如下 import office from docx import Document replace{“{user_name}”:“陳彥甫”, “{tele}”:“0912882881”} docDocument(“template.docx”) tabledoc.tables[0] print(“ii:”…

《Python 简易速速上手小册》第7章:高级 Python 编程(基于最新版 Python3.12 编写)

注意&#xff1a;本《Python 简易速速上手小册》 核心目的在于让零基础新手「快速构建 Python 知识体系」 文章目录 <mark >注意&#xff1a;本《Python 简易速速上手小册》<mark >核心目的在于让零基础新手「快速构建 Python 知识体系」 7.1 装饰器和闭包7.1.1 装…

华为机考入门python3--(4)牛客4-字符串分隔

分类&#xff1a;字符串 知识点&#xff1a; 复制符号* 复制3个0 0*3 000 字符串截取 截取第i位到j-1位 str[i:j] 题目来自【牛客】 input_str input().strip()# 先补齐 if len(input_str) % 8 ! 0: input_str 0 * (8 - len(input_str) % 8) # 每8个分 out…

R语言【taxlist】——indended_list():将层级结构输出为缩进列表

Package taxlist version 0.2.4 Description 将 taxlist 对象打印分类层次结构&#xff08;等级和父子关系&#xff09;输出为缩进列表。 Usage indented_list(object, ...)## S4 method for signature taxlist indented_list(object,filter,keep_children TRUE,keep_parent…

uniapp微信小程序-请求二次封装(直接可用)

一、请求封装优点 代码重用性&#xff1a;通过封装请求&#xff0c;你可以在整个项目中重用相同的请求逻辑。这样一来&#xff0c;如果 API 发生变化或者需要进行优化&#xff0c;你只需在一个地方修改代码&#xff0c;而不是在每个使用这个请求的地方都进行修改。 可维护性&a…

JAVA学习笔记三

1.java执行流程分析 2.什么是编译 javac Hello.java 1.有了java源文件&#xff0c;通过编译器将其编译成JVM可以识别的字节码文件 2.在该源文件目录下&#xff0c;通过javac编译工具对Hello.java文件进行编译 3.如果程序没有错误&#xff0c;没有任何提示&#xff0c;但在…

【Spring连载】使用Spring访问 Apache Kafka(十八)----非阻塞重试

【Spring连载】使用Spring访问 Apache Kafka&#xff08;十八&#xff09;----非阻塞重试Non-Blocking Retries 一、这种模式是如何运作的How The Pattern Works二、回退延迟精度Back Off Delay Precision概述和保证Overview and Guarantees 三、配置Configuration四、Programm…

Linux下的进程操作

进程概念 ps -elf&#xff1a;查看操作系统的所有进程&#xff08;Linux命令&#xff09; ctrl z&#xff1a;把进程切换到后台 crtl c&#xff1a;结束进程 fg&#xff1a;把进程切换到前台 获取进程进程号和父进程号 函数原型&#xff1a; pid_t getpid(void); //pid_t…