翻译: 使用 GPT-4 将您的 Streamlit 应用程序提升到一个新的水平一

news2025/1/11 13:03:59

帮助您更快地设计、调试和优化 Streamlit 应用的专业技巧

设计和扩展 Streamlit 应用程序可能是一项艰巨的任务!作为开发人员,我们经常面临一些挑战,例如设计良好的 UI、快速调试我们的应用程序以及快速制作它们。

如果有一个工具可以加快速度呢?

这个工具有一个名字,叫做GPT-4!
在这里插入图片描述
在本指南中,我们将介绍:

  • ChatGPT 的演变,从它的兴起到理解大型语言模型 large language models的可信度。
  • 使用 GPT-4 进行闪电般的应用程序开发,包括提示提示和笔记本电脑到 Streamlit 应用程序的转换。
  • 使用 GPT-4 进行高效的调试和代码库更改。
  • 使用 GPT-4 优化应用程序性能,而且没有压力!

无论您是经验丰富的 Streamlit 开发人员还是刚刚起步,本指南都将帮助您利用 GPT-4 更快地构建更好的应用程序。

ChatGPT的兴起

2022年11月,OpenAI发布ChatGPT,立即风靡全球!

这是第一次,人们可以与人工智能就任何主题进行有意义的对话,并将其用于教育、创意写作、法律研究、个人辅导、代码创建等任务。

截至 2023 年 1 月,它拥有超过 1 亿用户,使其成为有史以来增长最快的平台。

但您可能想知道,由 GPT-3.5 提供支持的早期 ChatGPT 是如何设计 Streamlit 应用程序的?

它实际上远非完美,通常不准确,并且需要大量的手动微调才能使应用程序正确。

在这里插入图片描述
GPT-4 于 2023 年 3 月发布,显着改善了短期记忆、参数和创造力,导致比 GPT-3.5 更准确和更具创造性的反应。

LLM的可信度如何

尽管 GPT-4 提高了其可靠性,但与其他 LLM 一样,它仍然会产生误导性或虚构的输出,称为幻觉hallucinations(这里有一篇关于它们的好读物)。

这些可以归因于缺乏最新数据、训练数据中的偏差以及不明确或模棱两可的提示。

您通常可以通过迭代优化提示来解决这些问题,直到达到所需的结果。稍后我们将介绍减少幻觉的提示技巧。我还将解释如何通过 GPT-4 的 Code Interpreter 提高数据的鲁棒性。

1:使用 GPT-4 加快 Streamlit 应用程序开发

1.1 — GPT-4 作为任何应用程序的起点

如今,在设计任何 Streamlit 应用程序时,我通常从 GPT-4 开始。然后,我通过聊天界面进行迭代,以快速尝试各种提示性想法。

  1. 它从一个好的提示prompt开始!

Write a humorous Streamlit app about how Adrien Treuille, an LLM genius and developer extraordinaire at Snowflake, is an LLM genius.
Include an Altair bar chart and an Altair line chart. Include at least 2 numerical input sliders in the sidebar

  • 1 slider for the Altair bar chart at the top of the app
  • 1 slider for the Altair line chart at the bottom of the app
    The app should allow Adrien to predict the rise of generative AI in the next 5 years. Will we reach singularity?

写一个幽默的 Streamlit 应用程序,讲述 Snowflake 的 LLM 天才和开发人员 Adrien Treuille 如何成为 LLM 天才。
包括 Altair 条形图和 Altair 折线图。在边栏中包含至少 2 个数字输入滑块

  • 应用程序顶部的 1 个 Altair 条形图滑块
  • 应用程序底部的 1 个 Altair 折线图滑块
    该应用程序应该允许 Adrien 预测未来 5 年生成式 AI 的兴起。我们会达到奇点吗?
  1. 转到 ChatGPT 并选择 GPT-4。您需要订阅 ChatGPT Plus 才能访问它。

  2. 将提示prompt粘贴到 ChatGPT 中。

  3. 在本地计算机上尝试生成的代码。如果您不熟悉 Streamlit,请按照此处的安装步骤操作。

让我们在下面查看 GPT-4 生成的 Streamlit 应用程序:

在这里插入图片描述
当然可以!创建一个有趣的Streamlit应用程序,关于Adrien Treuille,他是Snowflake的LLM天才和开发者,可以是探索生成式AI潜力的有趣方式。该应用程序将包括两个Altair图表和用于与它们交互的滑块。以下是创建这种应用程序的Python脚本大纲:

import streamlit as st
import altair as alt
import pandas as pd
import numpy as np

# App title
st.title("Adrien Treuille: The LLM Genius Predictor")

# Introduction text
st.write("Welcome to the Adrien Treuille's Generative AI Predictor! Join Adrien, our LLM genius and developer extraordinaire at Snowflake, as he predicts the rise of generative AI in the next 5 years. Will we reach the singularity? Let's find out!")

# Sidebar title
st.sidebar.title("Controls")

# Slider for the Bar Chart
ai_impact = st.sidebar.slider("Predicted Impact of AI on Different Sectors (1-100)", 1, 100, 50)

# Creating a DataFrame for Bar Chart
sectors = ['Technology', 'Healthcare', 'Finance', 'Education', 'Entertainment']
impact = [ai_impact * np.random.uniform(0.8, 1.2) for _ in sectors]
bar_data = pd.DataFrame({"Sector": sectors, "Impact": impact})

# Altair Bar Chart
bar_chart = alt.Chart(bar_data).mark_bar().encode(
    x='Sector',
    y='Impact',
    color='Sector'
)
st.altair_chart(bar_chart, use_container_width=True)

# Spacer
st.write("---")

# Slider for the Line Chart
ai_growth = st.sidebar.slider("AI Growth Rate Over Next 5 Years (1-20%)", 1, 20, 10)

# Creating a DataFrame for Line Chart
years = np.arange(2024, 2029)
growth = [(1 + ai_growth/100)**i for i in range(5)]
line_data = pd.DataFrame({"Year": years, "Growth": growth})

# Altair Line Chart
line_chart = alt.Chart(line_data).mark_line().encode(
    x='Year:O',
    y='Growth:Q',
    color=alt.value('green')
)
st.altair_chart(line_chart, use_container_width=True)

# Footer
st.write("Disclaimer: This app is for entertainment purposes only and may not accurately predict the future of AI, but with Adrien Treuille on board, who knows what's possible!")

# Run this script using Streamlit

要运行此应用程序:

  1. 将上述脚本保存为Python文件(例如,adrien_ai_predictor.py)。
  2. 如果尚未安装StreamlitAltair,请执行以下操作:pip install streamlit altair
  3. 在命令行中使用Streamlit运行应用程序:streamlit run adrien_ai_predictor.py

该应用程序以幽默的方式允许Adrien Treuille,被描绘为人工智能领域的先知,"预测"人工智能对各个领域的影响以及未来五年内的增长,都以一种充满趣味和幽默的语气,强调了人工智能未来的不可预测性和令人兴奋的特性。

1.2 – 简化应用设计的提示prompt

“Garbage in, Garbage out” “垃圾进,垃圾出”很适用于提示prompting。代码质量很大程度上取决于您输入的提示!

那么,什么是设计 Streamlit 应用程序的好提示呢?

在上面的提示中,我的指示很清楚。我指定了语气、上下文、应用程序功能,并添加了我想查看的图表和小部件。

以下是帮助您入门的 5 个提示提示:
在这里插入图片描述
通过遵循这些简单的准则,您应该能够更快地获得所需的结果,从而减少在 ChatGPT 界面中来回对话的需要。

代码

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

参考

https://blog.streamlit.io/take-your-streamlit-apps-to-the-next-level-with-gpt-4/

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

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

相关文章

【GitHub项目推荐--不错的Flutter项目】【转载】

01 可定制的图表库 FL Chart是一个高度可定制的 Flutter 图表库,支持折线图、条形图、饼图、散点图和雷达图 。 项目地址:https://github.com/imaNNeoFighT/fl_chart LineChart BarChart PieChart Sample1 Sample2 Sample3 …

linux 查看系统日记

一 关于 journalctl 简介: 在window想查看日记通常是通过事件查看器,在linux则可以通过journalctl -xe,journalctl是 Systemd 日志管理工具的一部分,用于检索和显示系统日志。 二 使用journalctl 查看日记: journalct…

关于axios给后端发送数据的问题

这里需要用的插件:qs.js,是前端给后端发送的数组,需要序列化所以要用到这个插件,这里就提取连接在这里,需要的自提,需要导如进来,别忘记了 链接:https://pan.baidu.com/s/1qyD8v9wfd…

JMeter:性能测试和压力测试工具详解

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号:互联网杂货铺,回复1 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 JMeter简介 JMeter时Apache下基于java的一款性能测试…

antdesignvue中使用VNode写法

1、使用场景 如图:消息提示框中,将数据中的数据单独一行显示 2、代码 let errorList res.result; //后端返回的数据例: ["1. 数据格式不正确","2. 数据已存在"]if(errorList&&errorList.length!0){this.$notif…

时限挑战 —— 深度解析Pytest插件 pytest-timeout!

在软件开发中,测试用例的执行时间通常是一个关键考虑因素。Pytest插件 pytest-timeout 提供了一个强大的插件,允许你设置测试用例的超时时间。本文将深入介绍 pytest-timeout 插件的基本用法和实际案例,助你精确掌控测试用例的执行时限。 什么…

备忘录模式-C#实现

该实例基于WPF实现,直接上代码,下面为三层架构的代码。 目录 一 Model 二 View 三 ViewModel 一 Model using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 设计模式练…

JVM篇----第八篇

系列文章目录 文章目录 系列文章目录前言一、标记清除算法( Mark-Sweep)二、复制算法(copying)三、标记整理算法(Mark-Compact)前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分…

Docker应用-自定义网络连接

Docker网络 文章目录 Docker网络网络的基础配置自定义网络网络连通 网络的基础配置 大量的互联网应用服务包括多个服务组件,这往往需要多个容器之间通过网络通信进行互相配合。 目前Docker提供了映射容器端口到宿主机主机和容器互联机制来为容器提供网络服务&…

【MySQL】如何使用图形化界面DataGrip操作数据库

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-W5JDg0WA1tjEP66Y {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

小白水平理解面试经典题目LeetCode 594 Longest Harmonious Subsequence(最大和谐字符串)

594 最大和谐字符串 这道题属于字符串类型题目,解决的办法还是有很多的,暴力算法,二分法,双指针等等。 题目描述 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。 现在,给你一个整数数组 nums …

java servlet 高校田径运动会管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 jsp高校田径运动会管理系统是一套完善的java web信息管理系统 采用mvc模式 servletdaobean 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myecl…

Redis 线程模型

更多内容,前往个人博客 一、概述 【1】Redis 是基于 Reactor 模式开发的网络事件处理器:这个处理器被称为文件事件处理器(file event handler),这个文件事件处理器是单线程的,所以 Redis 才叫做单线程的模型…

全志XR806芯片Wi-Fi测试:自定义发送802.11帧(Beacon篇)

XR806是一款使用ARMv8-M的Wi-Fi BLE Combo MCU。本文使用XR806开发板以及基于FreeRTOS的XR806 SDK实现了自定义发送802.11 Beacon帧,并进行了无线抓包分析以及扫描测试来验证帧的发送结果。 环境配置过程 环境搭建可以参考官方文档开发环境搭建。本测试中使用的开…

微信小程序登录获取手机号教程(超详细)

1. 背景介绍: 在我们开发微信小程序时,登录时,需要获取用户手机号作为唯一标识,下面我介绍一下获取手机号的教程。 本篇文章介绍后端获取方法: 前端工作 后端工作 前端 新建Page页面,在xxx.wxml中加入…

What is Rust? Why Rust?

why Rust? 目前,Rust 变得越来越流行。然而,仍然有很多人(和公司!)误解了 Rust 的主张价值是什么,甚至误解了它是什么。在本文中,我们将讨论 Rust 是什么以及为什么它是一种可以增强…

<网络安全>《2 国内主要企业网络安全公司概览(二)》

4 北京天融信科技有限公司(简称天融信) 信息内容LOGO成立日期创始于1995年总部北京市海淀区上地东路1号院3号楼北侧301室背景民营企业是否上市天融信[002212]A股市值99亿主要产品网络安全大数据云服务员工规模6000多人简介天融信科技集团(证券代码:0022…

A JSONArray text must start with at 1

A JSONArray text must start with at 1 [character 2 line 1] 起因:String数组转 JSON 后端调用出错 JSONUtil.toList(xx.getTags(), String.class) 数据库对象entity转包装类 方法 ,其中数据库字段tags是String类型,在包装类中想转换为 J…

【idea】idea中编译内存不足(java: java.lang.0ut0fMemoryError: Java heap space)的解决方法

问题 在编译一个较大的idea项目时候,有时候会显示内存不足,导致项目编译失败 原因 编译项目时实际也是启动了jvm进行的,所以需要分配对应的内存大小。 这个大小在idea中有一个默认的配置,大小是700M。 对于一个大型的项目这个大…

大数据Doris(五十九):SQL函数之字符串函数(三)

文章目录 SQL函数之字符串函数(三) 一、​​​​​​​NULL_OR_EMPTY (VARCHAR str)