最近,我在构建几个大模型应用时,采用了Vue和Spring技术栈,却发现它在某些场景下并不如预期中高效。特别是在快速原型开发和个人工具构建方面,我感到了明显的局限性。这促使我开始寻找更灵活、更高效的解决方案。在这个过程中,我了解到了Streamlit和Gradio,这两个Python框架以其快速构建应用的能力让我眼前一亮。现在,我正计划将这些新技术栈应用到一个大模型应用中。
为了更好地利用Streamlit,我开始深入研究其官方文档。虽然文档全面且详细,但全英文的内容对于非英语母语者来说,查找和理解起来确实有些不便。因此,我决定将文档的章节结构翻译并整理成中文,不仅为自己,也为其他开发者提供一个便捷的参考。
Get Started(快速开始)
这个部分是为初学者准备的,包含了安装指南、基础概念和第一步操作。
Installation(安装)
提供如何设置开发环境的指导。安装指南
-
使用命令行安装Streamlit(Use command line):这篇文章详细介绍了如何通过命令行工具安装Streamlit,包括创建虚拟环境和使用pip进行安装。这是推荐的工具,但如果您熟悉其他工具,也可以使用您喜欢的。使用命令行安装Streamlit
-
使用Anaconda发行版安装Streamlit(Use Anaconda Distribution):这篇文章指导您如何使用Anaconda发行版来安装Streamlit,包括创建新的环境和在环境中安装Streamlit。如果您更喜欢图形界面或者在Windows系统上操作,这是一个很好的选择。使用Anaconda发行版安装Streamlit
-
使用GitHub Codespaces(Use GitHub Codespaces):这篇文章提供了如何在GitHub Codespaces中运行Streamlit应用的指南。它包括创建容器、安装应用依赖项,并启动Streamlit Hello示例应用。使用GitHub Codespaces
-
使用Snowflake(Use Snowflake):这篇文章介绍了如何在Snowflake中使用Streamlit,包括如何在Snowsight的Streamlit应用程序中选择Streamlit版本,以及如何在
environment.yml文件中固定Streamlit版本。使用Snowflake
Fundamentals(基础概念)
介绍 Streamlit 的核心理念和基础操作。基础概念
-
基础概念(Basic concepts) :这篇文章介绍了Streamlit的基础概念,包括Streamlit脚本的工作原理、如何使用装饰器来创建交互式组件、页面结构以及如何组织代码。这些是构建Streamlit应用时需要理解的核心概念。基础概念
-
高级概念(Advanced concepts) :这篇文章深入探讨了Streamlit的高级功能,如状态管理、异常处理、缓存和性能优化。这些高级特性可以帮助您构建更复杂、更高效的Streamlit应用。高级概念
-
附加特性(Additional features) :这篇文章提供了Streamlit的附加特性,包括如何使用Streamlit的钩子(hooks)和协议(protocols)来扩展应用功能,以及如何自定义应用的外观和感觉。附加特性
-
总结(Summary) :这篇文章是对Streamlit开发概念的一个总结,它回顾了前面章节中介绍的关键点,并提供了一些最佳实践和建议,帮助您更有效地使用Streamlit。总结
First steps(Hello Word)
引导用户开始编写第一个 Streamlit 应用。Hello World
-
创建一个应用(Create an app) :这篇文章介绍了如何创建一个基本的Streamlit应用,包括编写一个简单的Streamlit脚本、添加用户界面元素以及运行和分享您的应用。这是开始使用Streamlit时的重要步骤,帮助您快速上手并理解Streamlit的基本工作流程。创建一个应用
-
创建一个多页面应用(Create a multipage app) :这篇文章深入讲解了如何构建一个包含多个页面的Streamlit应用,这是Streamlit的高级功能之一。通过这篇文章,您可以学习如何使用装饰器来创建页面、导航以及管理页面间的交互。创建一个多页面应用
Develop(开发)
这个部分是为开发者准备的,包含了概念解释、API 参考、教程和快速参考。
Concepts(概念)
深入解释 Streamlit 的各种功能和特性。概念
核心概念(CORE)
-
架构与执行(Architecture & execution) :这个章节解释了Streamlit应用的架构,包括应用是如何执行的,以及Streamlit如何管理应用的状态和更新。架构与执行
-
多页面应用(Multipage apps) :这个章节介绍了如何在Streamlit中创建多页面应用,允许用户在不同的页面之间导航。多页面应用
-
应用设计(App design) :这个章节提供了关于如何设计Streamlit应用的指导,包括布局、样式和用户体验的最佳实践。应用设计
附加概念(ADDITIONAL)
-
连接和密钥(Connections and secrets) :这个章节讨论了如何在Streamlit应用中安全地处理连接信息和敏感数据,例如数据库连接和API密钥。连接和密钥
-
自定义组件(Custom components) :这个章节介绍了如何创建自定义的Streamlit组件,允许开发者扩展Streamlit的功能,以适应特定的需求。自定义组件
-
配置和主题(Configuration and theming) :这个章节提供了关于如何配置Streamlit应用和应用主题的详细信息,包括如何改变应用的外观和行为。配置和主题
-
应用测试(App testing) :这个章节介绍了如何在Streamlit中进行应用测试,确保应用的稳定性和可靠性。应用测试
API reference(API 参考)
详细介绍每个 Streamlit 函数,包括具体的功能和示例。API 参考
- 全部都是各个要素的具体文档,待完善
Tutorials(教程)
提供一步一步的指导,帮助用户学习如何构建 Streamlit 应用。教程
-
Elements(元素) :这个章节教授如何在Streamlit应用中使用各种UI元素,比如文本、标记、输入框、按钮等,以及如何布局这些元素来创建用户界面。元素
-
Execution flow(执行流程) :这个章节解释了Streamlit应用的执行流程,包括脚本是如何运行的,以及如何控制应用的执行顺序和状态。执行流程
-
Connect to data sources(连接数据源) :这个章节提供了如何将Streamlit应用连接到各种数据源的指导,比如数据库、APIs、文件等,以便在应用中使用这些数据。连接数据源
-
Multipage apps(多页面应用) :这个章节介绍了如何在Streamlit中创建多页面应用,允许用户在不同的页面之间导航,以及如何管理页面间的状态和数据。多页面应用
-
Work with LLMs(与大型语言模型合作) :这个章节可能涉及到如何将Streamlit与大型语言模型(LLMs)集成,以便在应用中实现自然语言处理和生成等功能。与大型语言模型合作
Quick reference(快速参考)
快速查找 Streamlit 函数和特性的参考手册。快速参考
-
Cheat sheet(备忘单) :这个章节提供了一个快速参考指南,列出了Streamlit中最常用的函数和命令。它是一个方便的资源,可以帮助开发者快速回顾和查找Streamlit的功能。备忘单
-
Release notes(发行说明) :这个章节包含了Streamlit每个版本的更新日志,详细列出了新功能、改进、错误修复以及可能的破坏性变更。发行说明
-
Pre-release features(预发布功能) :这个章节介绍了Streamlit中尚未正式发布但可供测试的功能。这些功能可能还在开发中,提供了给用户提前体验和反馈的机会。预发布功能
-
Roadmap(路线图) :这个章节概述了Streamlit的发展方向和未来的更新计划。它可以帮助开发者了解Streamlit团队的工作重点和产品的未来愿景。路线图
Deploy(部署)
这个部分提供了关于如何部署 Streamlit 应用的信息。
Concepts(概念)
介绍部署相关的基础概念。部署概念
-
Dependencies(依赖项) :这个章节帮助您了解如何在部署环境中配置和管理Streamlit应用的依赖项。它包括了如何列出依赖项、安装依赖项以及如何确保应用在不同环境中的一致性。依赖项
-
Secrets(密钥) :这个章节介绍了如何安全地处理Streamlit应用中的敏感信息,如API密钥、数据库密码等。它包括了如何存储、管理和访问这些密钥,以及如何保护它们不被泄露。密钥
Streamlit Community Cloud(Streamlit 社区云)
Streamlit 提供的免费平台,用于部署和分享 Streamlit 应用。社区云
-
Get started(开始使用) :这个章节提供了如何开始使用Streamlit社区云的指南,包括注册账户、了解社区云的基本功能和优势。开始使用
-
Deploy your app(部署你的应用) :这个章节指导用户如何在Streamlit社区云上部署自己的Streamlit应用,包括准备应用、上传代码以及启动应用的过程。部署你的应用
-
Manage your app(管理你的应用) :这个章节介绍了如何在部署后管理Streamlit应用,包括监控应用状态、更新应用以及进行维护。管理你的应用
-
Share your app(分享你的应用) :这个章节提供了如何与他人分享Streamlit应用的方法,包括设置访问权限和分享链接。分享你的应用
-
Manage your account(管理你的账户) :这个章节帮助用户了解如何管理自己的Streamlit社区云账户,包括账户设置、安全选项以及订阅管理。管理你的账户
-
Status and limitations(状态和限制) :这个章节提供了关于Streamlit社区云的服务状态、可用性以及使用限制的信息,帮助用户了解平台的当前状况和使用条件。状态和限制
Snowflake
企业级解决方案,可以在一个统一的全球系统中托管数据和应用。Snowflake
Other platforms(其他平台)
探索其他部署 Streamlit 应用的选项。其他平台
-
Docker:这个章节提供了如何在Docker容器中部署Streamlit应用的指南。Docker是一个开源的应用容器引擎,允许开发者打包应用及其依赖项到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker
-
Kubernetes:这个章节介绍了如何在Kubernetes集群上部署Streamlit应用。Kubernetes是一个开源的容器编排平台,用于自动化应用容器的部署、扩展和管理。Kubernetes
Knowledge Base(知识库)
这个部分是一个自助服务的图书馆,包含了大量的提示、技巧和文章,回答了关于创建和部署 Streamlit 应用的问题。
FAQ(常见问题解答)
解答用户在使用 Streamlit 过程中可能遇到的常见问题。常见问题解答
Installing dependencies(安装依赖)
提供如何在 Streamlit 应用中安装和管理依赖的指导。安装依赖
Deployment issues(部署问题)
解决在部署 Streamlit 应用时可能遇到的问题。部署问题