如何在几分钟内创建AI工具

news2025/1/11 15:01:15

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

完成这篇文章后,您将在不到 2 分钟的时间内构建您的第一个 AI 工具,而无需编写任何代码!

您只需使用我将在这里与您分享的脚本、提示符和一些命令。

这是我今天要介绍的内容:

  • 了解AI工具的基本结构
  • 构建AI工具的主要挑战
  • 解决方案:使用我的自定义脚本构建工具
  • 用 2 种方法构建用户界面

了解AI工具的基本结构

  看看这张图片:

与任何工具一样,AI 工具主要由 UI(用户界面)和后端进程组成,基本上生成“带有 AI 的东西”。

为了让事情变得简单,让我们举一个实际的例子。

让我们构建一​个“人工智能博客标题生成工具”​

基本AI工具工作流程如下:

  用户输入:任何人工智能工具的起点都是用户输入。例如,在我们的示例中,博客标题生成器工具,用户输入主题,例如数字营销。

然后,用户输入“ topic ”被插入到如下提示中:

我希望你充当专业的博客标题生成器。
考虑同时进行搜索引擎优化和吸引注意力的标题,并
鼓励人们点击并阅读博客文章。
他们还应该具有创造力和聪明才智。
尝试想出意想不到的、令人惊讶的标题。
不要使用太通用的标题,或者以前使用过太多次的标题。我想最多生成10个标题。
我的博客文章是关于 {topic}
                                 
重要提示:输出应该是10 个标题的 json 数组,不带字段名称。只是标题!确保 JSON 有效。
                                                  
示例输出:
[ 
    "标题 1" , 
    "标题 2" , 
    "标题 3" , 
    "标题 4" , 
    "标题 5" , 
    "标题 6" , 
    "标题 7" , 
    "标题 8" , 
    "标题 9" , 
    "标题 10" ,
]

然后,该提示将被发送到 OpenAI API 或任何其他 AI API,然后生成相关标题。

最后,生成的响应将返回给用户并显示在 UI 中。

但为了基于该响应构建 UI,它必须采用结构化 JSON 格式。

构建人工智能工具的主要挑战

  好吧,这个想法看起来简单明了,但是当我们构建人工智能工具时,我们面临着一个主要挑战。 它正在从人工智能模型中获得一致的、结构化的响应。

为什么一致性很重要

  1. 用户界面集成:人工智能响应的一致格式对于与用户界面的无缝集成至关重要。不一致的响应可能会导致不可预测的 UI 行为,从而影响用户体验。
  2. 输出的可预测性:开发人员依靠可预测性来确保他们的工具按预期运行。不同的响应结构需要额外的解析和处理逻辑,从而增加了复杂性。
  3. 可扩展性问题:随着工具的发展和更多功能的添加,维护它们变得更具挑战性,并且响应不一致。

不一致的原因

  1. 多样化的提示和响应:不同的提示可以导致人工智能模型生成各种格式的响应。例如,请求“五个博客标题”可能会在一个实例中返回一个列表,在另一个实例中返回一个段落。
  2. 模型行为:人工智能模型,尤其是基于机器学习的模型,可以表现出不确定性行为。在重复请求时,相同的提示可能会产生略有不同的响应。
  3. 自然语言的复杂性:自然语言本质上是复杂且微妙的。人工智能模型有时会以不同的方式解释相同的提示,从而导致不同的反应。

不一致响应的示例

  在一种情况下,对有关“数字营销”的博客标题的请求可能会返回一个简单的列表。在另一种情况下,模型可能会提供更具描述性的响应,包括解释或附加信息。

自己在 ChatGPT 上尝试一下,让它多次生成 5 个博客标题,然后看看响应!

那么,我们如何解决这个问题呢?

解决方案:使用我的自定义脚本构建工具!

  为了解决这个问题,我们可以采用​函数链接、​函数调用、示例输出提示等技术。

但今天,我想让事情变得更容易。我给你准备了一个脚本;该脚本将处理这个问题并帮助您每次都获得一致的结果,而无需担心底层代码。

首先,在 GitHub 上获取我的脚本:

获取脚本

在 VSCode 或任何您想要的 IDE 中打开 Python 脚本 ( app.py )。只需替换字段并测试即可!

在此处的 .env 文件中设置 OpenAI API 密钥:

只需使用以下命令运行脚本:

python app.py

您将看到每次运行程序时都会获得一致的 JSON。

问题解决了✅

现在是构建 UI 的时候了

构建用户界面

  让我与您分享2 个为 AI 工具创建 UI 的简单方法。

方法 1:使用 ChatGPT 和 Streamlit

  什么是 Streamlit?

Streamlit是一个开源 Python 框架,用于快速创建 Web 应用程序。它专为希望以最少的努力将脚本转换为可共享的 Web 应用程序的开发人员而设计。

为了让事情变得简单并在几秒钟内使用 Streamlit 创建 UI,我准备了一个特殊的 Power Prompt,它可以将几乎任何 Python 脚本转换为 Streamlit 应用程序!

提示:

充当专业的 Python 程序员,专门使用 Streamlit 构建用户友好的 UI。为提供的脚本
创建Streamlit UI 。确保对所有代码进行注释以增强理解,特别是对于初学者 。为给定的脚本选择最合适的控件,并致力于打造专业、用户友好的界面。目标受众是希望了解如何使用Streamlit 创建用户界面的初学者。回应的风格应该是教育性的和彻底的。鉴于指导性质,注释应在代码中广泛使用以提供上下文和解释。输出:提供优化的 Streamlit UI 代码,通过解释代码每个部分的注释进行分段,以便更好地理解。输入:提供的脚本:{您的输入脚本}
 

使用 ChatGPT 并将输入替换为我们的工具脚本。并观看魔术!

ChatGPT 将与您一起创建完整的 Streamlit 代码并解释每个步骤。

我设计它是为了帮助初学者轻松入门并了解正在发生的事情。

因此,在我们的项目中,创建一个新脚本,将其命名为“ ui.py ”并粘贴生成的代码。

要运行 Streamlit 应用程序,请运行以下命令:

Streamlit run ui.py

等待几秒钟,您将看到您的 AI 应用程序已在浏览器中启动并运行。

💡专业提示:您可以开始使用Streamlit构建 AI 工具,并作为自由职业或服务进行销售。这是一个新的利基..一个新的机会!

构建 UI 的第二种简单方法是使用 WordPress。

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

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

相关文章

JVM内存模型/运行时数据区域

java虚拟机管理这块内存,所以我们也叫运行时数据区域 总览 这里按线程是否共享来分类,所谓线程不共享就是每个线程里面都会配一套 程序计数器 栈, 互相不干涉。 而方法区和堆是线程所有共享 意味着只有一个(这里注意堆是实际概念…

第二证券:行业术语解读:CPO概念是什么意思?

cpo概念又名共封装光学概念,它是指把硅光模块和CMOS芯片用高级封装的方法耦合在背板PCB上,从而在成本、功耗和尺度上都进一步提升数据中心使用中的光互联技能等相关上市公司组成的概念。 概念股,并不特指于某一支股,而是一个选股话…

SV-8004VP 网络对讲求助话筒,4个自定义按键

SV-8004VP网络对讲求助话筒,4个自定义按键 SV-8004VP是一款4按键求助对讲话筒,具有10/100M以太网接口,支持G.711音频编解码,其接收SIP网络的音频数据,实时解码播放,还配置了麦克风输入和扬声器输出。 SV-…

什么是非电离辐射与电离辐射?

摘要: 非电离辐射和电离辐射是两种不同类型的辐射,它们主要区别在于能量水平和与物质相互作用的方式。 非电离辐射 非电离辐射是指能量较低,不足以使原子或分子的电子脱离其原子核束缚而产生电离现象的电磁波。这类辐射不 ... 非电离辐射和电离辐射是两…

Bazel

简介: Bazel 是 google 研发的一款开源构建和测试工具,也是一种简单、易读的构建工具。 Bazel 支持多种编程语言的项目,并针对多个平台构建输出。 高级构建语言:Bazel 使用一种抽象的、人类可读的语言在高语义级别上描述项目的构建属性。与其…

【遥感专题系列】影像信息提取之——面向对象的影像分类技术

“同物异谱,同谱异物”会对影像分类产生的影响,加上高分辨率影像的光谱信息不是很丰富,还有经常伴有光谱相互影响的现象,这对基于像素的分类方法提出了一种挑战,面向对象的影像分类技术可以一定程度减少上述影响。 本…

git 删除 submodule 子模块的步骤

实验有效,这里删除了两个 submodule。 1, 执行删除 submodule mkdir tmp1 && cd tmp1 && git clone --recursive ssh://gitaaa.bbb.ccc.git \ && cd ccc/ && git checkout -b abranch_01 \ && git submodule deinit -f…

初识物联网

1:什么是IOT: 物联网的英文名称是Internet of Things。IoT则是Internet of Things的缩写。因此, 物联网 IoT。 通俗地说,物联网是互联网的一种拓展。我们知道互联网是由无数的计算机和智能手机交错连接而编织成的一张网。而正是有了像NodeM…

半监督学习 - 三元组学习(Triplet Learning)

什么是机器学习 三元组学习(Triplet Learning)是半监督学习中一种用于学习有用表示的方法。它通常用于学习数据中的相似性关系,尤其在人脸识别、图像检索等领域中得到广泛应用。三元组学习是通过构造三元组(triplet)来…

java版直播商城平台规划及常见的营销模式 电商源码/小程序/三级分销+商城 免 费 搭 建

鸿鹄云商 B2B2C产品概述 【B2B2C平台】,以传统电商行业为基石,鸿鹄云商支持“商家入驻平台自营”多运营模式,积极打造“全新市场,全新 模式”企业级B2B2C电商平台,致力干助力各行/互联网创业腾飞并获取更多的收益。从消…

【云原生】springboot 整合 OpenTelemetry

目录 一、前言 二、应用可观测性概述 2.1 什么是可观测性 2.2 可观测性三大指标 2.2.1 指标(Metrics) 2.2.2 日志(log) 2.2.3 追踪(Traces) 三、OpenTelemetry 介绍 3.1 什么是OpenTelemetry 3.2 OpenTelemetry架构和组件…

༺༽༾ཊ—设计-七个原则-模式—ཏ༿༼༻

第一原则:单一职责 一个类只负责一个功能领域中的相应职责; 接下来我们举一个代码例子,主要的功能实现是: 在主函数中运行调用描边工具和填充工具画矩形与圆形 首先写一个圆形类,里面只有一个方法用来返回string类型…

SpringCloud 源码系列之全局 Fegin 日志收集(okHttpClient、httpClient)

SpringCloud 源码系列之全局 Fegin 日志收集(okHttpClient、httpClient)目录 HttpClient 全局日志收集思路切换成HttpClient验证配置效果HttpClient 全局日志收集源码分析看源码顺带产物okHttpClient 全局日志收集总结 接上文SpringCloud OpenFegin 底层…

使用Python+pygame实现贪吃蛇小游戏

使用Pythonpygame贪吃蛇小游戏 使用第三方库pygame,关于Python中pygame游戏模块的安装使用可见 https://blog.csdn.net/cnds123/article/details/119514520 给出两种实现。 第一种 运行效果如下: 游戏源码如下: import pygame import sy…

中国互联网的早期形态

1 大约是从 1991 年开始,国内开始了第一个 BBS 站——北京长城站,经过长时间发展,直到 1995 年,随着计算机及其外设的大幅降价,BBS 才逐渐被部分人们所认识。少数玩 BBS 站的“极客”站长, 基于个人关系&am…

Linux搭建和使用redis

官网地址:http://redis.io/download 文件上传到服务器 tar包解压 tar zxvf redis-5.0.14.tar.gz安装 进入解压目录下,找到Makefile所在目录,执行make命令 make执行之后,会产生src等目录,进入执行make install命令…

23111 网络编程 day2

思维导图 重打代码 #include<myhead.h> #define SER_IP "192.168.122.150" //服务器ip #define SER_PORT 8888 //服务器端口int main(int argc, const char *argv[]) {//1.创建用于连接的套接字int sfdsocket(AF_INET,SOCK_STREAM,0);if(sfd-1){perror("…

【图形学】探秘图形学奥秘:区域填充的解密与实战

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《图形学 | 图像解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 目录 &#x1f30c;1. 初识模式识别 …

Python - 深夜数据结构与算法之 位运算

目录 一.引言 二.位运算简介 1.二进制与十进制 2.左/右移 3.位运算 4.异或 XOR 5.指定位置的位运算 6.实战要点 三.经典算法实战 1.Number-1-of-bits [191] 2.Power-Of-Two [231] 3.Reverse-2-Bits [190] 4.N-Queens [51] 四.总结 一.引言 通常情况下我们计数采…

Java SE入门及基础(14)

二重循环 1. 什么是二重循环 二重循环就是一个循环结构中又包含另外一个循环结构 while ( 外层循环条件 ){ //外层循环操作 while ( 内层循环条件 ){ //内层循环操作 } //外层循环操作 } while ( 外层循环条件 ){ //外层循环操作 for ( 循环变量初始化 ; 内层循环条…