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 style st.markdown(""" <style> .font { font-size:35px ; font-family: 'Cooper Black'; color: #FF9633;} </style> """, unsafe_allow_html=True) st.markdown('<p >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")
最后就可以在終端運行下面的代碼了,
streamlit run example.py
我們在瀏覽器中打開頁面,例如我們點擊進入“AI聊天”這個模塊,我們可以看到右上角處于RUNNING的狀態,表示正在運行中,等會兒之后就能看到結果
而點擊進入“AI繪畫”這個模塊,例如想要繪制可愛的貓咪,我們也能看到如下的結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/546798.html
標籤:其他
上一篇:性能的極致,Rust的加持,Zed-Dev編輯器快速搭建Python3.10開發環境
下一篇:Spring筆記_mybatis