Python+ChatGPT制作一个AI实用百宝箱
创始人
2024-05-30 18:54:11
0

目录

  • 一、注册OpenAI
    • 二、搭建网站及其框架
      • 三、AI聊天机器人
        • 四、AI绘画机器人

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

一、注册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 stylest.markdown("""  """, unsafe_allow_html=True)st.markdown('

About the Creator

', unsafe_allow_html=True)with col2: # To display brand loglogo = 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].textreturn 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].textreturn responseuser_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绘画”这个模块,例如想要绘制可爱的猫咪,我们也能看到如下的结果

在这里插入图片描述

相关内容

热门资讯

新员工的个人评语 新员工的个人评语(精选10篇)  在学习、工作或生活中,大家总少不了要接触或使用评语吧,评语是指含有...
学校对教师的评价 学校对教师的评价  在我们平凡的日常里,大家对评语都再熟悉不过了吧,评语能帮助被评价者确切地了解自己...
小学一年级数学老师给班上孩子... 小学一年级数学老师给班上孩子写的评语  在生活、工作和学习中,大家都有写评语的经历,对评语很是熟悉吧...
指导教师的评语 关于指导教师的评语(精选55句)  教师对学生的评价往往能影响该学生以后的生活!下面小编带来的是关于...
八个字的励志口号 八个字的励志口号  在平凡的学习、工作、生活中,大家都不可避免地会接触到口号吧,口号的作用是便于“造...
舌尖上的美味广告语 舌尖上的美味广告语集锦  广义的广告语指通过各种传播媒体和招贴形式向公众介绍商品、文化、娱乐等服务内...
最新防溺水宣传标语 最新防溺水宣传标语  请不要让江河成为你最后的家!预防溺水!那么防溺水宣传标语应该怎么写呢?下面就是...
班级口号 班级口号  在我们平凡的日常里,大家都对那些朗朗上口的口号很是熟悉吧,通过口号可以增加团队凝聚力,起...
春节活动的标语 2022春节活动的标语  在平日的学习、工作和生活里,大家总免不了要接触或使用标语吧,标语肩负着“社...
预防艾滋活动口号 预防艾滋活动口号  无论是在学校还是在社会中,大家或多或少都接触过一些经典的口号吧,口号既有公文语体...
低碳环保宣传标语 低碳环保宣传标语(精选235句)  无论是身处学校还是步入社会,大家都经常接触到标语吧,标语对人们的...
少先队二星章集体主要事迹 少先队二星章集体主要事迹  在平平淡淡的学习、工作、生活中,大家都经常接触到事迹吧,事迹可以起到宣传...
品牌经典广告语 品牌经典广告语15篇品牌经典广告语1  1. 【奇瑞a汽车】:赏“芯”悦目。  2. 【sb萨博】:...
防灾减灾宣传标语 防灾减灾宣传标语大全  在日常学习、工作和生活中,说到标语,大家肯定都不陌生吧,标语是用简短文字写出...
高考加油打气口号 高考加油打气口号(精选175句)  在日复一日的学习、工作或生活中,大家都听说过或者使用过一些比较经...
团购网站广告语 团购网站广告语  团购,英文名是Grouppurchase,意思是团体购物,指认识或不认识的消费者联...
创意手机广告词 创意手机广告词  无论在学习、工作或是生活中,大家都经常接触到广告词吧,广告词是一则广告的核心组成部...
大学生毕业的评语 大学生毕业的评语(精选110句)  在平平淡淡的学习、工作、生活中,大家都写过评语吧,评语的运用比较...
读书宣传标语 读书宣传标语(精选190句)  在学习、工作或生活中,大家都有令自己印象深刻的标语吧,借助标语可以达...
抗击疫情口号 抗击疫情口号  在学习、工作或生活中,大家都听说过或者使用过一些比较经典的口号吧,口号以其时间性、阶...