Python · 无限画板(零)· 简介

  • 项目 GitHub 地址

  • 免费线上示例产品

    • 该示例产品的源代码

  • 封面图对应的项目的源代码

需求 | 方案

在上一篇文章(用 Python 打造 AIGC 的「操作系统」)里,我提到过这个 Python + 无限画板的项目 —— carefree-drawboard 🎨,其实是想成为下一代的 Gradio / Streamlit。那么,现有的各种工具究竟存在什么问题,使得我们迫切需要一个新的工具?这个主要分两方面考虑

首先,对基于 Python 来写产品的工具(Gradio / Streamlit)而言:

  • 现有工具写出来的一个个 demo 都相对独立,很难说互相结合/集成起来

    • 即使有那种很大型的项目(Stable Diffusion WebUI 是个经典的例子),它也只是自己设计了一套插件的范式,所以也是一套封闭的系统,只不过系统内可拓展

  • 写出来的东西距离商业化落地还是有很长一段距离:交互性、用户体验、美观度等等都差强人意,更多只是一种功能演示的 demo

其次,为什么需要基于 Python 来写产品:

  • 最近的 AI 如井喷式发展,而大多数开源项目都是基于 Python 来写的,这意味着 Python 正逐渐(或者,已经)成为 AI 领域编程语言的事实标准

  • Python 上手门槛相对较低,很适合初学者接触并尝试

再加上,我们认为:

  • 思考/设计各种 UI 对程序员来说是很花时间而且很痛苦的一个过程

  • 大多数用户交互其实都可以抽象成“给服务器发一些数据”和“从服务器接收一些数据”

  • 一个完全解耦的系统是我们梦寐以求的,因为这样就可以很容易地去自定义、拓展以及维护

  • 「无限画板」的产品形态能够满足绝大多数普通需求(乃至企业级需求)

所以为了解决上述的所有问题,carefree-drawboard 🎨 做出了如下的“规定”:

  • 所有功能都体现为无限画板上的一个插件

  • 插件的样式需要是完全声明式的,而且需要原生支持一套“智能布局系统”(当然这个系统也需要是声明式的)

    • 在这里,“定义样式”的行为除了写一些一般意义的 css 样式以外,还囊括了“定义用户交互的样式”。比如,定义该插件需要用户输入哪些数据等等

  • 具体执行功能逻辑时,插件只能看到这么两种数据:

    • 用户在与插件交互时输入的数据

    • 当前画板上被选中的节点的数据

这样一来,前文的所有问题就都有了解决方案:

  • 因为功能都是插件,所以彼此之间天然支持结合/集成

  • 因为产品形态是无限画板,所以写出来的东西是企业级产品。事实上,目前它已经在服务一些 B 端,而且产生了可观的现金流了

  • 它目前已经完全支持了用 Python 来写插件,所以所有最新开源出来的 AI 能力,理论上都可以在很短的时间内转换成该项目可用的插件。比如,文章开头提到的示例产品里,就涵盖了以下所有功能,而且这些功能都是在较短时间内就用纯 Python 写完了:

    • 文生图(Text to Image)

    • 垫图生成(Image to Image)

    • 生成相似图(Variation generation)

    • 超分辨率 / 图片变高清(Super Resolution)

    • 抠图(Image Matting)

    • 生成图片描述(Image Captioning)

    • 局部消除(Inpainting)

    • 局部替换(Stable Diffusion Inpainting)

    • 图像外延(Stable Diffusion Outpainting)

  • 由于这些插件有一套“智能布局系统”,所以基本不用再苦苦思索怎么设计 UI:直接用原生的这套系统就行了

  • 插件天然支持可插拔,所以是完全解耦的

这也是为什么我们把该项目称为 AI 的操作系统,因为确实每项 AI 能力都可以看做是该系统的一个“软件”,用户可以选择安装/卸载它们;甚至之后可以有 Market Space,用户可以对这些“软件”进行交易 / 评价

听起来很不错!但是为什么我要用它?

该项目的目标用户群体其实是比较明确的,如果你:

  • 是一个 Python 程序员

  • 想要拥有自己的、能力足够强大的、能集成各种 AI / 非 AI 功能的、企业级的产品

的话,那么该项目应该能满足你的所有需求

先从个人角度来看,拿笔者来举例,目前笔者已经基于该项目,结合上之前陆陆续续做过的一些常用到的功能,打造出了笔者个人的“全能工作站”。现在笔者的工作流一般就是把这个全能工作站对应的画板打开,然后需要什么都能通过相应的插件来进行交互、并获得反馈。比如大家耳熟能详的 Stable Diffusion、ChatGPT,以及大家可能经常会用到的翻译、Google 等,都被笔者集成到了这个全能工作站里

然后从商业化角度来看,其实就更顺理成章了。毕竟,正如前文所说,我们已经凭借该项目的开源版本,成功地跑出了可观的现金流了,而且确实卖出去的产品就只是多写了几十行 Python 代码而已,没改到非 Python 的部分

那观众老爷可能会关心:哪些行业可能会需要这个项目,我想卖的话应该往哪卖呢?

这里举一些我们已经成功服务过的案例,作为参考:

  • AIGC 教育辅助工具

  • AI 编程 / 少儿编程 / 低代码编程课的载体

  • 专业级 AIGC OEM / SaaS 交付

  • 专业级 MVP 构建

好像很棒!但它能直接部署吗?

答案是可以的,因为我最近做了不少工作,刚好就是能在某种模式下,让你可以无改动地把产品直接部署起来。当然,这种模式会有一些不足,但对于早期需求验证、MVP 构建来说,已经是绰绰有余的了 ( ^ω^)

看了这么多东西,还是有点太抽象了,能给些例子吗?

也许 Stable Diffusion Outpainting 是一个能比较好说明无限画板强大之处的例子:

Stable Diffusion Outpainting

如果观众老爷比较关心 Stable Diffusion 的话可能会知道,有些项目即使只能做无限 Outpainting 这一件事,就已经非常火热,而这只是 carefree-drawboard 🎨 里一个小小的插件而已 ♪(^∇^*) !

太好了!那么我该如何开始呢?

我在项目里写了比较详细的 Wiki,其中有一篇叫 Getting Started,它可以比较好地带着你上手 d(`・∀・)b !

同时在之后的专栏文章里,我也会陆续更新一些本项目的技术细节,欢迎大家多多关注

最后再贴一下项目地址:carefree0910/carefree-drawboard: 🎨 Infinite Drawboard in Python (github.com)https://github.com/carefree0910/carefree-drawboard

期待各位观众老爷的意见与建议!!​

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

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

相关文章

open AI图形生成模型【体验地址+项目源码】

大家都在顾着用ChatGPT玩聊天,但是它不能生成图形,因此这里介绍一款它的图形生成模型。 文章目录 介绍项目地址演示效果项目源码和使用说明 介绍 DALLE 模型采用了一种名为 “Simplified Attention” 的新技术,使得模型可以更好地处理不同模态…

chatgpt赋能python:Python动态画图:提高数据可视化效果的最佳方法

Python动态画图: 提高数据可视化效果的最佳方法 引言 无论是数据分析、科学研究、教育还是商业领域,都需要可视化工具来传达数据。Python 可能是最流行的数据可视化工具之一,其扩展库matplotlib、Seaborn和Bokeh等都能提供强大的绘图能力。但是&#x…

chatgpt赋能Python-python_numpy画图

Python Numpy画图:快速绘制高质量的数据可视化 Python语言不仅在数据科学和人工智能领域得到广泛应用,还被广泛用于数据可视化方面。NumPy是一个Python的科学计算库,提供了高性能的多维数组对象和广播功能,被广泛应用于数据科学、…

chatgpt赋能python:Python画图教程:如何设置画布颜色

Python 画图教程:如何设置画布颜色 Python 是一种高级的编程语言,可以用于多种用途。Python 也是绘制图形和可视化数据的强大工具。在 Python 中,可以使用众多的绘图库来制作各种图形。然而,在进行图形绘制时,有时我们…

chatgpt赋能python:Python画图设置颜色详解

Python画图设置颜色详解 Python拥有非常强大的画图能力,可以使用Python库绘制各种图表。在画图时,设置颜色是非常重要的一个步骤。在本文中,我们将通过介绍Python画图设置颜色的方法和技巧,让您掌握Python画图的颜色设置&#xf…

OPEN AI接入MidJourney 画图支持GPT4中文智能优化效果惊艳

OPEN AI 平台 开放免费AI聚合服务平台,提供应用程序一键接入AI画图,对话的能力。 目前已经支持GPT3和GPT4普通对话和流式对话。 支持GPT画图和MidJourney 画图。 后续还会接入更多功能 在线接入案例演示体验 这里主要展示一下MJ的强大的画图功能 关于平…

传奇新传 1.76原版。

你是否还记得当年的蜈蚣洞,当年的攻城战。传奇新传,再创永恒经典。采用1.76原版设置,没有那么多花里胡哨的东西。让你体验05年真正的传奇,升级快,装备好爆。传奇新传属于耐玩公益服。裙子860708433

为啥计算机考研复试线那么高,2021年为什么考研成绩普遍更高?

复试线400是什么概念? 不是说平均分达到400,平均分400也许你390也能上,但是复试线400就直接给你宣判了死刑,这个时候你只能调剂,但是! 一个专业的复试线400可想而知这个专业热度肯定不低,想调剂…

复旦计算机考研复试要口试吗,复试的正确打开方式|复旦篇

原标题:复试的正确打开方式|复旦篇 初试已经结束,复试还会远吗?今天为你推送的是复旦复试全指南,作为考研的结束站,如何准备复试很关键。报考复旦的小伙伴,要时刻关注【复旦大学新闻学院-招生】和【复旦大学…

对话凯文·凯利:AI 会取代人的 90% 技能,并放大剩余的 10%

采访 | 邹欣,CSDN 副总裁 作者 | 王启隆 责编 | 唐小引 出品 | 《新程序员》编辑部 5000 天后,你都会做些什么? 是和 AI 助手一起编程,还是让生活完全由 AI 掌控,自己坐享其成?如果到时候还要上班&#…

腾讯回应进军类 ChatGPT;Meta 新语言模型能运行在单张显卡上;OpenAI 创始人提出新摩尔定律|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

巴比特 | 元宇宙每日必读:阿里版ChatGPT“通义千问”官宣邀测,科大讯飞大模型将于5月6日发布,中文大模型的竞争开始了?...

摘要:今日,阿里云宣布其大模型“通义千问”开始邀请用户测试体验。现阶段该模型主要定向邀请企业用户进行体验测试。在近日召开的人工智能大模型发展论坛上,科大讯飞副总裁、研究院执行院长刘聪透露:科大讯飞“1N 认知智能大模型”…

元宇宙+教育,正在引发哪些剧烈变革?机会在哪里?丨圆桌实录

图片来源:由无界AI绘画工具生成 2月23日,温州元宇宙创新中心为2023年第一批申请入驻的项目企业举办了签约仪式。温州临境网络科技有限公司、温州好玩文化产业有限公司、温州云兮科技有限公司(筹)等企业完成签约。这意味着&#xf…

聊聊开发者如何抓住ChatGPT这波红利?

因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享 点击关注#互联网架构师公众号,领取架构师全套资料 都在这里 0、2T架构师学习资料干货分 上一篇:ChatGPT研究框架(80页PPT,附下载)…

ChatGPT从入门到精通,引入AIGC时代变更,一站式掌握办公自动化/爬虫/数据分析和可视

课程名称适应人群 ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视 点击上述名称,学习完整视频 全面AI时代就在转角,道路已经铺好了“局外人”or“先行者”就在此刻等你决定 1、对ChatGPT感兴趣并希望有人手把手教学的新手 …

Notepad2 巧妙替换回车换行符

如上图,利用 \r\n,并选中“对反斜杠“\”进行转义”,将回车换行符替换成逗号。还可利用此法在每一行的前面、后面添加特定的字符。

iOS 键盘回车键(换行、回车符)修改

UITextField 和 UITextView 如图修改键盘 开源地址,可点击查看 UIReturnKeyDefault UIReturnKeyGo UIReturnKeyGoogle UIReturnKeyJoin UIReturnKeyNext UIReturnKeyRoute UIReturnKeySearch UIReturnKeySend 加粗样式 UIReturnKeyDone UIRetur…

[oeasy]python0040_换行与回车的不同_通用换行符_universal_newlines

换行回车 回忆上次内容 区分概念 terminal终端 主机网络中 最终的 端点 TeleTYpewriter 电传打印机终端硬件 shell 终端硬件基础上的 软件壳子 Console 控制台 主机旁边 的 控制面板 存储文件 的 时候 我 在文件里 打了回车\n系统 将0x0a存入字节 进文件换行 自动就有 回车…

在messagebox()里回车换行

messagebox("","1" char(13) "2") // char(13)即messagebox()里的回车,或者能用~r~n 一定要引号引起来 messagebox("","1" ~r~n "2")

HTML中识别[换行符/n]进行自动换行

通过css中white-space: pre-line;属性用来控制容器的文本中带有换行符等的显示。 pre-line&#xff1a;忽略文本中的空白符&#xff1b;当文本中存在 <br> 或文本中有换行符时&#xff0c;或者遇到框的宽度约束时&#xff0c;文本会自动换行。 例(使用换行符/n进行换行显…