文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么使用Python和ChatGPT制作一个AI实用工具

2023-07-05 06:04

关注

本篇内容介绍了“怎么使用Python和ChatGPT制作一个AI实用工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

注册OpenAI

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

怎么使用Python和ChatGPT制作一个AI实用工具

搭建网站及其框架

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

# 安装streamlit和openaipip install -i https://pypi.tuna.tsinghua.edu.cn/simple streamlitpip install -i https://pypi.tuna.tsinghua.edu.cn/simple streamlit_option_menupip 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百宝箱,里面集成了各种工具,欢迎使用**')

展示出来的效果如下

怎么使用Python和ChatGPT制作一个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的状态,表示正在运行中,等会儿之后就能看到结果

怎么使用Python和ChatGPT制作一个AI实用工具

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

怎么使用Python和ChatGPT制作一个AI实用工具

“怎么使用Python和ChatGPT制作一个AI实用工具”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯