Python+ChatGPT制作一个AI实用百宝箱

目录
  • 注册OpenAI
  • 搭建网站及其框架
  • AI聊天机器人
  • AI绘画机器人

ChatGPT最近在互联网掀起了一阵热潮,其高度智能化的功能能够给我们现实生活带来诸多的便利,可以帮助你写文章、写报告、写周报、做表格、做策划甚至还会写代码。只要与文字相关的工作,它几乎都能给出一份满意的答卷。

小编趁着有空上去玩了一下,也发现了其中的强大

那么本篇文章小编就通过streamlit框架来搭建一个AI百宝箱的网页,其中里面集成了一系列功能包括智能聊天机器儿、智能绘画师,大家有兴趣还可以另外添加例如配音等功能,核心逻辑的话就是调用第三方的接口,然后做一层封装和优化。

注册OpenAI

首先需要注册OpenAI,这样就可以使用ChatGPT

搭建网站及其框架

那么这里我们需要用到这几个库,用pip命令来下载

# 安装streamlit和openai
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple streamlit
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple streamlit_option_menu
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openai

那么首先网页的左侧有一个工具栏,其中罗列了一系列的功能,我们这里简单的囊括了几个,包括了“简介”、“AI聊天”、“AI绘画”,大家感兴趣的后期可以继续往里面添加,例如“AI配音”,代码如下

with st.sidebar:
    choose = option_menu("工具栏", ["简介","AI聊天", "AI绘画"],
                         icons=['house', 'person lines fill', 'app-indicator'],
                         menu_icon="list", default_index=0,
                         styles={
                             "container": {"padding": "5!important", "background-color": "#fafafa"},
                             "icon": {"color": "orange", "font-size": "25px"},
                             "nav-link": {"font-size": "16px", "text-align": "left", "margin": "0px",
                                          "--hover-color": "#eee"},
                             "nav-link-selected": {"background-color": "#24A608"},
                         }
                         )

那么在“简介”这一栏当中,顾名思义就是对该网页简单的介绍,我们简单的写一些介绍,代码如下

if choose == "简介":
    col1, col2 = st.columns([0.8, 0.2])
    with col1:  # To display the header text using css style
        st.markdown(""" <style> .font {
            font-size:35px ; font-family: 'Cooper Black'; color: #FF9633;}
            </style> """, unsafe_allow_html=True)
        st.markdown('<p class="font">About the Creator</p>', unsafe_allow_html=True)
    with col2:  # To display brand log
        logo = Image.open("wechat_logo.jpg")
        st.image(logo, width=130)

    st.markdown('**AI百宝箱,里面集成了各种工具,欢迎使用**')

展示出来的效果如下

AI聊天机器人

那么首先我们需要在个人设置里面去获取一个秘钥,

然后选择一个模型,这里我们选择text-davinci-003模型,相比其他而言,性能更好,然后我们调用OpenAI里面的方法来生成回答

def ChatGPT(user_query):
    completion = openai.Completion.create(
        engine=model_engine,
        prompt=user_query,
        max_tokens=1024,
        n=1,
        temperature=0.5,
    )
    response = completion.choices[0].text
    return response

然后我们调用该函数结合streamlit当中的输入框,代码如下

elif choose == "AI聊天":
    st.title("AI聊天机器人")
    # 设置密匙
    model_engine = "text-davinci-003"

    def ChatGPT(user_query):
        completion = openai.Completion.create(
            engine=model_engine,
            prompt=user_query,
            max_tokens=1024,
            n=1,
            temperature=0.5,
        )
        response = completion.choices[0].text
        return response

    user_query = st.text_input("在这里输入问题,回车查询", "Python是什么?")
    if user_query != ":q" or user_query != "":
        # 将问题提交给ChatGPT, 返回结果
        response = ChatGPT(user_query)
        st.write(f"{response}")

AI绘画机器人

而在“AI绘画”的模块中,代码逻辑也是相类似的,这边需要调用与绘画相关的API,代码如下

def image_generate(user_demand):
    completion = openai.Image.create(
        prompt=user_demand,
        n=2,
        size="1024x1024"
    )
    response = completion.get("data")
    return response[0].get("url")

由于返回给我们的是一个URL,因此还需要保存到本地,然后再通过Image模块打开,代码如下

image_url = image_generate(user_query)
response = requests.get(image_url, stream=True)
try:
    with open("./image/01.png", 'wb') as f:
        for chunk in response:
            f.write(chunk)
        f.close()
        print("Download done!!")
except Exception as e:
    print(e)

img1 = Image.open(r'./image/01.png')
st.image(img1, width=500, caption='Image by OpenAI')

最后就可以在终端运行下面的代码了,

streamlit run example.py

我们在浏览器中打开页面,例如我们点击进入“AI聊天”这个模块,我们可以看到右上角处于RUNNING的状态,表示正在运行中,等会儿之后就能看到结果

而点击进入“AI绘画”这个模块,例如想要绘制可爱的猫咪,我们也能看到如下的结果

到此这篇关于Python+ChatGPT制作一个AI实用百宝箱的文章就介绍到这了,更多相关Python ChatGPT制作AI百宝箱内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 手把手教你在Python里使用ChatGPT

    目录 前言 知识点 实现 代码 后话 前言 近来chatGPT挺火的,也试玩了一下,确实挺有意思.这里记录一下在Python中如何去使用chatGPT. 本篇文章的实现100%基于 chatGPT,我是搬运工无疑了!!! 本片文章比较简单. 知识点 pip install openai 看看 chatGPT的表现: 使用python编写一段发送网络请求的代码 python如何md5 也有抽风的表现: 小明妈妈大小明20岁,20年后小明妈妈大小明多少岁? 一个蛋糕切成8块我吃不完,切成4块刚刚好?

  • 利用Chatgpt开发一款加减乘除计算器(Python代码实现)

    上次使用 Chatgpt 写爬虫,虽然写出来的代码很多需要修改后才能运行,但Chatgpt提供的思路和框架都是没问题. 这次让 Chatgpt 写一写GUI程序,也就是你常看到的桌面图形程序. 由于第一次测试,就来个简单点的,用Python写用来加减乘除的计算器. 提问:请用Python写一个计算器GUI程序 (代码过长,就不完全展示了) 它告诉我,可以使用Python的tkinter库来实现简单的GUI,这确实是最快捷的方法. 代码执行出来是一个很简答的计算器程序,没有什么UI设计可言. 用起

  • ChatGPT 帮我自动编写 Python 爬虫脚本的详细过程

    目录 1.爬取知乎上的专栏文章 2. 爬取京东某商品的评论 3.继续更多的测试 都知道最近ChatGPT聊天机器人爆火,我也想方设法注册了账号,据说后面要收费了. ChatGPT是一种基于大语言模型的生成式AI,换句话说它可以自动生成类似人类语言的文本,把梳理好的有逻辑的答案呈现在你面前,这完全不同于传统搜索工具. ChatGPT不光可以回答人文.科学.情感等传统问题,还可以写代码.改bug,程序员可就急了,简直是在抢饭碗,所以网上出现各种ChatGPT让你失业的焦虑言论. 俗话说“百闻不如一见

  • 使用ChatGPT来自动化Python任务

    目录 1.概述 2.内容 2.1 使用ChatGPT来绘制线性回归 2.2 使用Python给微信发信息 2.3 使用Python发送电子邮件 2.4 使用Python开发一个爬虫程序 3.总结 1.概述 最近,比较火热的ChatGPT很受欢迎.今天,笔者为大家来介绍一下ChatGPT能做哪些事情. 2.内容 ChatGPT是一款由OpenAI开发的专门从事对话的AI聊天机器人.它的目标是让AI系统更加自然的与之交互,但它也可以在我们编写代码的时候提供一些帮助. 2.1 使用ChatGPT来绘制

  • Python+ChatGPT实现5分钟快速上手编程

    目录 1.chatGPT是个啥 2.chatGPT怎么注册 3.chatGPT怎么用 4.小结 最近一段时间chatGPT火爆出圈!无论是在互联网行业,还是其他各行业都赚足了话题. 俗话说:“外行看笑话,内行看门道”,今天从chatGPT个人体验感受以及如何用的角度来分享一下. 1.chatGPT是个啥 chatGPT是最近新出来的玩意?并不是!在国内,chatGPT最早是在2022年11月就由OpenAI于推出的.只是去年底火了一把,后力不足又遇春节,热度草草就结束了. 先讲一下,OpenAI

  • 详解如何在ChatGPT内构建一个Python解释器

    目录 下面是初始化ChatGPT的命令: 总结 引用:Art Kulakov <How to Build a Python Interpreter Inside ChatGPT> 这个灵感来自于一个类似的故事,在ChatGPT里面建立一个虚拟机(Building A Virtual Machine inside ChatGPT).给我留下了深刻的印象,并决定尝试类似的东西,但这次不是用Linux命令行工具,而是让ChatGPT成为我们的Python解释器. 下面是初始化ChatGPT的命令:

  • ChatGPT教你用Python实现BinarySearchTree详解

    目录 前言 ChatGPT 截图 对 ChatGPT 的一些感悟 1.ChatGPT 成为下一代搜索引擎,毋庸置疑 2.上下文关联能力强 3.未来的可能性 前言 至今,ChatGPT 已经火了很多轮,我在第一轮的时候注册了账号,遗憾的是,没有彻头彻尾好好地体验过一次.最近这一次火爆,ChatGPT 确实出圈了,各行各业的人们都在晒,趁着周末,我也小试了一把. 这篇文会介绍我使用 ChatGPT 的过程以及使用时的一些感悟,最后浅谈下我对 ChatGPT 的一些理解,不喜勿喷哈~ 我的问题是:我是

  • Python+ChatGPT实战之进行游戏运营数据分析

    目录 数据 目标 解决方案 1. DAU 2. 用户等级分布 3. 付费率 4. 收入情况 5. 付费用户的ARPU 总结 最近ChatGPT蛮火的,今天试着让ta写了一篇数据分析实战案例,大家来评价一下! 数据 您的团队已经为您提供了一些游戏数据,包括玩家的行为和收入情况.以下是数据的一些特征: user_id: 玩家ID date: 游戏日期 level: 玩家达到的游戏等级 revenue: 玩家在游戏中花费的总收入 spend: 玩家在游戏中的总支出 目标 您的目标是分析数据,以回答以下

  • Python+ChatGPT制作一个AI实用百宝箱

    目录 注册OpenAI 搭建网站及其框架 AI聊天机器人 AI绘画机器人 ChatGPT最近在互联网掀起了一阵热潮,其高度智能化的功能能够给我们现实生活带来诸多的便利,可以帮助你写文章.写报告.写周报.做表格.做策划甚至还会写代码.只要与文字相关的工作,它几乎都能给出一份满意的答卷. 小编趁着有空上去玩了一下,也发现了其中的强大 那么本篇文章小编就通过streamlit框架来搭建一个AI百宝箱的网页,其中里面集成了一系列功能包括智能聊天机器儿.智能绘画师,大家有兴趣还可以另外添加例如配音等功能,

  • 小 200 行 Python 代码制作一个换脸程序

    简介 在这篇文章中我将介绍如何写一个简短(200行)的 Python 脚本,来自动地将一幅图片的脸替换为另一幅图片的脸. 这个过程分四步: 检测脸部标记. 旋转.缩放.平移和第二张图片,以配合第一步. 调整第二张图片的色彩平衡,以适配第一张图片. 把第二张图像的特性混合在第一张图像中. 1.使用 dlib 提取面部标记 该脚本使用 dlib 的 Python 绑定来提取面部标记: Dlib 实现了 Vahid Kazemi 和 Josephine Sullivan 的<使用回归树一毫秒脸部对准>

  • Python+OpenGL制作一个元宵花灯

    目录 1.准备 2.快速体验 3.模型动画 4.子图布局 5.颜色映射 6.走马灯 又是一年元宵节,作为程序员的你,打算怎么过呢?如果昨天情人节的红包发得手软又心疼,不妨静下心来,了解一下三维数据可视化,顺便做一盏花灯送给女朋友,也许比红包更能讨她欢心呢. 1.准备 三维数据快速可视化工具,我喜欢用WxGL.这是一个基于PyOpenGL的三维数据可视化库,提供类似Matplotlib风格的3D绘图函数.如果熟悉NumPy和Matplotlib的话,只需要几分钟时间就可以学会使用WxGL的交互式绘

  • 十行Python代码制作一个视频倒放神器

    目录 导语 正文 源码如下 效果展示 总结 补充 导语 大家好,我是栗子同学! 今天给大家分享一个好玩的东西 让时光倒流——当当当,其实就是让视频倒放而已 正常的视频如下 倒放视频如下 效果很赞吧,等你学会了这个,你才会发现,抖音上那些杯子里的水倒流,倒着跑步等看似很炫酷很神秘的视频,其实就是一键倒放而已! 那么,今天小编就来探索Python代码如何实现这个倒放的功能叭~ 正文 这些搞笑的gif跟小视频都是将正常的流畅通过倒放产生的效果啦 其实制作起来却非常简单,原理就是将gif图片拆分出来每一

  • Python+PyQt5制作一个图片查看器

    目录 前言 实现方式 测试 前言 在 PyQt 中可以使用很多方式实现照片查看器,最朴素的做法就是重写 QWidget 的 paintEvent().mouseMoveEvent 等事件,但是如果要在图像上多添加一些形状,那么在对图像进行缩放旋转等仿射变换时需要对这些形状也这些变换,虽然不难,但是从头实现这些变换还有形状还是挺讨厌的.好在 Qt 提供了图形视图框架,关于这个框架的基本使用可以参见 深入了解PyQt5中的图形视图框架,下面进入正题. 实现方式 一个最基本的照片查看器应该具有以下功能

  • 利用Python+Excel制作一个视频下载器

    说起Excel,那绝对是数据处理领域王者般的存在. 而作为网红语言Python,在数据领域也是被广泛使用. 其中Python的第三方库-xlwings,一个Python和Excel的交互工具,可以轻松地通过VBA来调用Python脚本,实现复杂的数据分析. 今天,小F就给大家介绍一个Python+Excel的项目[视频下载器]. 主要使用到下面这些Python库. import os import sys import ssl import ffmpeg import xlwings as xw

  • 基于Python轻松制作一个股票K线图网站

    目录 获取股票数据 PyEcharts 作图 构建 Web 框架 视图函数编写 模板编写 编辑主逻辑 前端页面编写 在前面的文章中,我们学习了如何使用 Tkinter 构建股票数据抓取以及展示K线图功能,虽然大致的功能已经具备,但是在当今这个人手一个 Web 服务的年代,GUI 程序还是没有 Web 服务来的香啊. 我们需要用到的知识包括 PyEcharts 的使用,tushare 库获取股票数据的方法以及 Flask 的基本用法. 获取股票数据 我们先来看下 tushare 的使用,这个应该是

  • 小白如何入门Python? 制作一个网站为例

    首先最重要的问题是为什么要学习python?这个问题这个将指导你如何学习Python和学习的方式. 以你最终想制作一个网站为例.从一个通用的学习资源列表开始不仅会消磨你的激情,而且你获得的知识很难应用,我曾经尝试过不通过上下文和具体应用来学习编程,但是我几乎没有获得任何有用的技能. 当我3年前学习python时,我想创建一个网站.这对于任何一个学习Pyhon人来说,不足为奇. 1.找到是什么激励你 找到并保持你的动机是关键-我高中睡了很多个的程序设计课,因为它只让我们记住了一堆语法.另一方面,当

  • 使用50行Python代码从零开始实现一个AI平衡小游戏

    集智导读: 本文会为大家展示机器学习专家 Mike Shi 如何用 50 行 Python 代码创建一个 AI,使用增强学习技术,玩耍一个保持杆子平衡的小游戏.所用环境为标准的 OpenAI Gym,只使用 Numpy 来创建 agent. 各位看官好,我(作者 Mike Shi--译者注)将在本文教大家如何用 50 行 Python 代码,教会 AI 玩一个简单的平衡游戏.我们会用到标准的 OpenAI Gym 作为测试环境,仅用 Numpy 创建我们的 AI,别的不用. 这个小游戏就是经典的

  • 利用Python如何制作贪吃蛇及AI版贪吃蛇详解

    用python制作普通贪吃蛇 哈喽,大家不知道是上午好还是中午好还是下午好还是晚上好! 贪吃蛇,应该是90后小时候的记忆(连我这个00后也不例外),今天,我们就用python这款编程语言来实现贪吃蛇 系统:所有都可以 需导入模块: random pygame pygame.locals sys 下载以上模块指令: random和sys是Python自带的,我们只需要下载pygame即可 下载pygame: 在开始菜单输入"cmd"回车打开,输入``指令:pip install pyga

随机推荐