最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python+ChatGPT制作一個(gè)AI實(shí)用百寶箱

 更新時(shí)間:2023年08月09日 15:59:25   作者:俊欣  
ChatGPT最近在互聯(lián)網(wǎng)掀起了一陣熱潮,其高度智能化的功能能夠給我們現(xiàn)實(shí)生活帶來諸多的便利。本文就來用Python和ChatGPT制作一個(gè)AI實(shí)用百寶箱吧

ChatGPT最近在互聯(lián)網(wǎng)掀起了一陣熱潮,其高度智能化的功能能夠給我們現(xiàn)實(shí)生活帶來諸多的便利,可以幫助你寫文章、寫報(bào)告、寫周報(bào)、做表格、做策劃甚至還會(huì)寫代碼。只要與文字相關(guān)的工作,它幾乎都能給出一份滿意的答卷。

小編趁著有空上去玩了一下,也發(fā)現(xiàn)了其中的強(qiáng)大

那么本篇文章小編就通過streamlit框架來搭建一個(gè)AI百寶箱的網(wǎng)頁,其中里面集成了一系列功能包括智能聊天機(jī)器兒、智能繪畫師,大家有興趣還可以另外添加例如配音等功能,核心邏輯的話就是調(diào)用第三方的接口,然后做一層封裝和優(yōu)化。

搭建網(wǎng)站及其框架

那么這里我們需要用到這幾個(gè)庫,用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

那么首先網(wǎng)頁的左側(cè)有一個(gè)工具欄,其中羅列了一系列的功能,我們這里簡(jiǎn)單的囊括了幾個(gè),包括了“簡(jiǎn)介”、“AI聊天”、“AI繪畫”,大家感興趣的后期可以繼續(xù)往里面添加,例如“AI配音”,代碼如下

with st.sidebar:
    choose = option_menu("工具欄", ["簡(jiǎn)介","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"},
                         }
                         )

那么在“簡(jiǎn)介”這一欄當(dāng)中,顧名思義就是對(duì)該網(wǎng)頁簡(jiǎn)單的介紹,我們簡(jiǎn)單的寫一些介紹,代碼如下

if choose == "簡(jiǎn)介":
    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聊天機(jī)器人

那么首先我們需要在個(gè)人設(shè)置里面去獲取一個(gè)秘鑰,

然后選擇一個(gè)模型,這里我們選擇text-davinci-003模型,相比其他而言,性能更好,然后我們調(diào)用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

然后我們調(diào)用該函數(shù)結(jié)合streamlit當(dāng)中的輸入框,代碼如下

elif choose == "AI聊天":
    st.title("AI聊天機(jī)器人")
    # 設(shè)置密匙
    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, 返回結(jié)果
        response = ChatGPT(user_query)
        st.write(f"{response}")

AI繪畫機(jī)器人

而在“AI繪畫”的模塊中,代碼邏輯也是相類似的,這邊需要調(diào)用與繪畫相關(guān)的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")

由于返回給我們的是一個(gè)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')

最后就可以在終端運(yùn)行下面的代碼了,

streamlit?run?example.py

我們?cè)跒g覽器中打開頁面,例如我們點(diǎn)擊進(jìn)入“AI聊天”這個(gè)模塊,我們可以看到右上角處于RUNNING的狀態(tài),表示正在運(yùn)行中,等會(huì)兒之后就能看到結(jié)果

而點(diǎn)擊進(jìn)入“AI繪畫”這個(gè)模塊,例如想要繪制可愛的貓咪,我們也能看到如下的結(jié)果

到此這篇關(guān)于Python+ChatGPT制作一個(gè)AI實(shí)用百寶箱的文章就介紹到這了,更多相關(guān)Python ChatGPT制作AI百寶箱內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pygame學(xué)習(xí)筆記(3):運(yùn)動(dòng)速率、時(shí)間、事件、文字

    pygame學(xué)習(xí)筆記(3):運(yùn)動(dòng)速率、時(shí)間、事件、文字

    這篇文章主要介紹了pygame學(xué)習(xí)筆記(3):運(yùn)動(dòng)速率、時(shí)間、事件、文字,本文講解了運(yùn)動(dòng)速率、事件、字體及字符顯示等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 詳解Python3 定義一個(gè)跨越多行的字符串的多種方法

    詳解Python3 定義一個(gè)跨越多行的字符串的多種方法

    這篇文章主要介紹了詳解Python3 定義一個(gè)跨越多行的字符串的多種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python+numpy實(shí)現(xiàn)的基本矩陣操作示例

    python+numpy實(shí)現(xiàn)的基本矩陣操作示例

    這篇文章主要介紹了python+numpy實(shí)現(xiàn)的基本矩陣操作,結(jié)合實(shí)例形式分析了Python使用numpy模塊針對(duì)矩陣進(jìn)行創(chuàng)建、增刪查改、索引、運(yùn)算相關(guān)操作實(shí)現(xiàn)技巧,注釋中包含有詳細(xì)的說明,需要的朋友可以參考下
    2019-07-07
  • 使用Python計(jì)算玩彩票贏錢概率

    使用Python計(jì)算玩彩票贏錢概率

    這篇文章主要介紹了玩彩票贏錢概率有多少?用Python來告訴你,需要的朋友可以參考下
    2019-06-06
  • Python中set與frozenset方法和區(qū)別詳解

    Python中set與frozenset方法和區(qū)別詳解

    這篇文章主要介紹了Python中set與frozenset方法和區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 新手必備Python開發(fā)環(huán)境搭建教程

    新手必備Python開發(fā)環(huán)境搭建教程

    今天向大家介紹如何搭建Python開發(fā)環(huán)境, Python可應(yīng)用于多平臺(tái)包括 Linux 和 Mac OS X,文中有非常詳細(xì)的圖文介紹,需要的朋友可以參考下
    2021-05-05
  • Python中Django的ORM高級(jí)用法

    Python中Django的ORM高級(jí)用法

    這篇文章主要介紹了Python中Django的ORM高級(jí)用法,ORM是一種思想,ORM對(duì)象-關(guān)系映射,關(guān)系數(shù)據(jù)庫是企業(yè)級(jí)應(yīng)用環(huán)境中永久存放數(shù)據(jù)的主流數(shù)據(jù)存儲(chǔ)系統(tǒng),需要的朋友可以參考下
    2023-07-07
  • Python實(shí)現(xiàn)Windows和Linux之間互相傳輸文件(文件夾)的方法

    Python實(shí)現(xiàn)Windows和Linux之間互相傳輸文件(文件夾)的方法

    下面小編就為大家?guī)硪黄狿ython實(shí)現(xiàn)Windows和Linux之間互相傳輸文件(文件夾)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • Python實(shí)現(xiàn)ElGamal加密算法的示例代碼

    Python實(shí)現(xiàn)ElGamal加密算法的示例代碼

    ElGamal加密算法是一個(gè)基于迪菲-赫爾曼密鑰交換的非對(duì)稱加密算法。這篇文章通過示例代碼給大家介紹Python實(shí)現(xiàn)ElGamal加密算法的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2020-06-06
  • python直接調(diào)用和使用swig法方調(diào)用c++庫

    python直接調(diào)用和使用swig法方調(diào)用c++庫

    這篇文章主要介紹了python直接調(diào)用和使用swig法方調(diào)用c++庫,c++運(yùn)算速度快于python,python簡(jiǎn)單易寫。很多時(shí)候?qū)τ谝延械腸++代碼也不想用python重寫,此時(shí)就自然而然地想到用python調(diào)用c或者c++,兩全其美,需要的朋友可以參考一下
    2022-03-03

最新評(píng)論

忻城县| 溆浦县| 满洲里市| 泸西县| 乡城县| 洞头县| 高雄县| 宁明县| 克拉玛依市| 曲阜市| 阜宁县| 淅川县| 开平市| 峨眉山市| 晋江市| 阿瓦提县| 象山县| 岳阳县| 龙里县| 民权县| 庆元县| 广灵县| 辽中县| 天祝| 江都市| 海城市| 新竹县| 台湾省| 西贡区| 上虞市| 拉孜县| 桐梓县| 唐河县| 惠水县| 彩票| 鄄城县| 万安县| 额敏县| 汤原县| 比如县| 子长县|