也許對於秘密,添加了JSON文件(刪除的信息)和1個沒有JSON文件的部署的版本,但秘密變量)
CHATBASE訂閱已取消。 (或者,可以使用另一個LLM(也許是Mistral LLM自由???)
還可能需要在單獨的github存儲庫中分開部署必要的文件,以防止錯誤。因為添加額外的雜項文件可能會導致部署錯誤! (對於'18。Karaoke事件簡化應用程序相同,現在有錯誤,因為我在其github repo中添加了額外的雜項文件...哎呀...)
也許也可以將STREANLIT網站的圖片,Firebase,Chatbase和Figma以及
計劃將其從課程之間的轉移更改為僅在一門課程中工作...因為在課程之間可轉移它太難了
這是我大學的本科研究機會計劃(UROP)的一部分,標題為“ urop:telegram chatbot供新手程序員學習編碼” ,由Oka Kurniawan教授進行監督和發起(這是他的Github帳戶),包括8個月的(ON-ON-ON-ON-ON-ON-ON-ON-OFN)工作。
這是Urop項目的描述:
'''
當學習者俱有直接和個性化的反饋時,可以顯著改善學習編碼。編碼的學習者數量使得人類教師不可能向學習者提供直接和個性化的反饋。人工智能的崛起使我們有可能創建一個聊天機器人的導師,該聊天機器人可以隨時隨地支持學習者。該項目的目的是創建一個電報聊天機器人,學習者可以在其中獲得與他們的編碼課程相關的反饋。在註釋或講師問題集中反映的反饋應精確。
聊天機器人可用於任何教授編程的機構。
'''
該項目由2個GitHub存儲庫組成:
該GitHub存儲庫將託管使用Chatbase cathbase catul gpt llm型號API和Firebase(API)的Realtime數據庫的Telegram Chatbot的簡化Web應用程序的代碼。
開發該Urop項目的方法分為2個組成部分:
該項目已部署的電報機器人,chatbase自定義GPT LLM型號,簡化(Python Framework)的網站應用程序和Firebase(API)鏈接:
這是一個目錄,可以在此存儲庫中解釋每個文件的目的:
使用Chatbase Custom GPT LLM型號API和Firebase(API)的Realtime數據庫創建“ Telegram Chatbot”的簡化Web應用程序所需的文件
Additional files that are not part of the creation of the Streamlit Web Application for the Telegram Chatbot with Chatbase custom GPT LLM model API and Firebase (API)'s Realtime Database, but includes the past iterations/versions/prototypes of the Streamlit Web Application for the Telegram Chatbot with Chatbase custom GPT LLM model API and Firebase (API)'s Realtime Database
與Chatbase Custom GPT LLM型號API和Firebase(API)的實時數據庫創建簡化Web應用程序的其他文件,這些文件是我不熟悉的該項目中使用的某些必需技術的學習旅程
使用CHATBASE自定義GPT LLM型號API和Firebase(API)的“簡化Web應用程序”的部署過程
1。 '.StreamLit'文件夾
我。 'config.toml'文件
使用Chatbase自定義GPT LLM型號API和Firebase(API)的Realtime數據庫本身,用於Telegram聊天機器人的簡化Web應用程序的主要Python文件。
2。 'readme.md'文件
“ readme.md”文件。
3。 'firebase_key.json'文件
{
"type" : "service_account" ,
"project_id" : "urop-telegram-chatbot" ,
"private_key_id" : "d370c3cff86ea75089c60973d19105f90d84fdc7" ,
"private_key" : "-----BEGIN PRIVATE KEY----- n MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2Yqgt09bJB335 n bN61dlqWY0yFcLv8DPqvHKtpUqzSAvQGdK00zaPlezkd4SKGfohd8z4o0srpUPt9 n 0fLhIPJJJhTjRN7rZpvJOPWiECQfHFXc2OJhOdabDnJoIeth+29RfD5D4t2HUdWO n /OiSKJfNYNAf2sKELJLlPOnXwpa/wfzNhHap50WLjed8OzF+Y57ucFHut/USlsWp n 3uiRdjHod3Sfs0eL+jKfeOdkni7o/E1ytN1Ascvc1OLpbi9h6GyoLLZf8g2O1Nyn n fe26tfRnkYvT1viErxnhQBGUh3hz3SVIsZ4FYyVrlWVwH+U8CJg2foBtbtOZjmEK n PNAC0fi3AgMBAAECggEATMs0iftA3CtJ6Rxkl55qXRkZbrQ9is7CPLpDGFlFyDWT n HybAiVOu12Cvd3vEiEG91GUnfpPm+R9ujRc5/33aVl9w+xKUFCUDolHX5zGJrAnH n w3IUu6BZUrdeB6eEjyCJyhMYuofLA/+6fnbRzDzIUiMZ7tezAGkuPtSLl5vo0ns5 n 1Mw13sSlssc3bjd+bCa23xDamzKWpMFlHJztnbsRVjKXfzMx2f45+snT1Lqo4kk/ n cCpM8QFlMHxLgei7JOKSkEj6LYM9Xn1dRmPJGGSAtlx/2W0/DFrVD4GCLXReKNsz n 4afFN42cZB88pKT/8YB3KoH3o/wA79k4AdsagccGbQKBgQDz3p5Yi1YgvmxWPKxd n pO1cYek2itrpH9YUZirehU01rrdHJvyufFVEoUHoeoXcDHVt++1iHZvZPwt/ZgZq n P2tM5XWY1hlgdDgOb5J2td8jdMJuKBkzGLpnSg0qSEVlsBEsJhajvGIzBIz2Ervk n hz1F3pIwXDZNEFS5ywMrW55WgwKBgQC/dRym9V3g0Y6g2mjAqIANRZ605R3MZpst n N5r9GFSBB/JXo22shLCA0/RL0A3Q8aGblVv9VwHVOi1qaeU8DIcQqJvdKfspIi0J n L8mp3ZraGzknCEHkj0oKGqNCE2Nsfx+dQ6du+u7UOecb22pjqV2UeL6gMerAMf16 n X1ZTL7hevQKBgFyIVObd/9Euz+as4O4rXVEXaakjaMraJJ3a4ltKkzBSWgKqfWgr n jyMaWOrASrhjFc+krr7y4ya8cD1n1flMlQc5bbSPUFOz5W080oMuoTtP21J27pDf n yiLVC0fG4mYiN3HcBe0c1tnq2R2poBenZQ101V16L7RwBOX2bP5vphXHAoGBALX1 n CncOqNr6rm/nQzkeqxxx9yR6v7g8J+xwdWdm0SEUOVjbJGeab9jwF7RZllfm3S1t n ZNC/+Sj6MqF45PkN+ut1IzStKltsdJrPhPxgdUQmLUoQSfd7yuURbellXc+GfbhL n zPvnlkWyhhduj40KMLrjil/bMPzaRcogg31p0/KNAoGBAKNTzPgZSif0PGXPEvhK n zEi5ojwvC9iOIKvmjgXLu+e0zAI27PiiryrfrpQW6CK7RpK9KO2lQ2NUdyOi0MVI n kqMGPLzjVwBKtWMhIwvaZxFJBvCNIg6nE5RSKoXFSYKWqmLPp+2ydPLXGPgAzNL/ n /7+TBiy9OmEkqIbNmwzgiYgR n -----END PRIVATE KEY----- n " ,
"client_email" : "firebase-adminsdk-rvtdl@urop-telegram-chatbot.iam.gserviceaccount.com" ,
"client_id" : "108928779375842545414" ,
"auth_uri" : "https://accounts.google.com/o/oauth2/auth" ,
"token_uri" : "https://oauth2.googleapis.com/token" ,
"auth_provider_x509_cert_url" : "https://www.googleapis.com/oauth2/v1/certs" ,
"client_x509_cert_url" : "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-rvtdl%40urop-telegram-chatbot.iam.gserviceaccount.com" ,
"universe_domain" : "googleapis.com"
}該文件表示身份鍵。顯然,當訪問API(例如Firebase API)時,您將需要擁有一種身份驗證密鑰,這就是該文件的目的,以確保只有授權的用戶才能訪問API。請參閱此視頻以了解如何與Python代碼一起使用Firebase API身份驗證密鑰:https://www.youtube.com/watch?v=s-ga8c3tovy&t = 336S(首先與HALA代碼)
4。 “ unignts.txt”文件
streamlit == 1.27 . 2
streamlit_autorefresh == 1.0 . 1
firebase_admin == 6.2 . 0This is a compulsory file, in accordance to the deployment of Streamlit Web Application for the Telegram Chatbot with Chatbase custom GPT LLM model API and Firebase (API)'s Realtime Database in Streamlit Cloud as described in the documentation on how to deploy a Streamlit (Python Framework) Web Application on Streamlit Cloud (refer to the section below '4. Deployment Process of the Streamlit Web Application for the Telegram聊天機器人與Chatbase自定義GPT LLM模型API和Firebase(API)(API)的“簡化雲上的實時數據庫”集成了有關此簡流Web應用程序的更多信息,以與ChatBase chatbase Chatbase Chatbase CATHBASE CATHBASE CATHBASE CATHBASE CATHBASE CATHBASE LLM模型API和FireBase(API)的REALTIME DATITIES DATAPASE ON StreatliT Clult clatpllit Cluld集成): https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app (Streamlit Cloud), which allows you to tell Streamlit (Python Framework) to download the necessary external libraries/framework/packages specified in this 'requirements.txt' file in the deployment environment that is required for the deployment of this Streamlit Web Application for the Telegram Chatbot integrated with CHATBASE自定義GPT LLM型號API和Firebase(API)的實時數據庫。
顯然,“需求.txt”文件是Python中各種部署平台的常見實踐,而不僅僅是用於簡化雲。無論您是將應用程序部署在Heroku,AWS,Vercel還是其他等平台上,在“需求”文件中指定依賴項,允許平台理解和安裝必要的軟件包。
5。 'stract_web_application.py'文件
使用Chatbase自定義GPT LLM型號API和Firebase(API)的Realtime數據庫本身,用於Telegram聊天機器人的簡化Web應用程序的主要Python文件。
來源:
我已經標記了每個文件的版本,並簡要說明了文件名中的版本之間的差異。這是對版本差異的詳細描述:
為什麼我選擇Firebase的實時數據庫而不是MySQL數據庫?
借助我最近對MySQL的了解,我想嘗試在此項目中使用MySQL數據庫。但是,我意識到許多數據庫託管平台,例如Azure數據庫和Amazon Web服務都需要您的計費信息,以便開始在其上託管MySQL數據庫。我不想冒出過多收費的風險,因為我很可能不會維護我的構建應用程序,因為我只是出於教育目的而不是用於生產而創建它們。因此,我決定使用Firebase的關係/NOSQL實時數據庫,因為它是唯一不需要計費信息的數據庫託管平台。
由於我在簡化Web應用程序中使用的某些必需技術缺乏知識,用於與Chatbase自定義GPT LLM Model API和Firebase(API)的實時數據庫集成的Telegram聊天機器人,我必須首先學習它們,其中包括:
及時工程學學習(通過與OpenAI合作(使用Chatgpt作為LLM)從迅速的工程課程中學習)
包括我的及時工程範式的學習旅程(在線課程,我從:https://www.deeplearning.ai/short-courses/chatgpt-prompt-prompt-engineering-for-developers/ by deeplearlearning.ai與DeepLearning.ai合作,供開發項目'(僅在開發過程中)
什麼是及時的工程?
及時工程是編寫/完善生成AI提示以提高其準確性和有效性並從AI模型中獲得所需輸出的過程。
什麼是提示?
AI(包括大語言模型(LLM))提示是您輸入AI(包括大語言模型(LLM))模型以啟動響應或動作的問題,命令或語句,並利用自然語言處理的力量(NLP)。
(注意:OpenAI GPT型號API(Python框架)需要每月付款訂閱:本教程中的代碼要求OpenAI GPT型號API(Python框架)才能從ChatGpt獲得響應。但是,OpenAI GPT GPT型號API(Python框架)需要每月的付款訂閱,不需要型號。 (Python框架)訪問,您需要付款。
因此,本教程中代碼中的大多數“輸出”將是本教程中的視頻中顯示的模擬輸出,用jupyter筆記本文件編寫)
來源:
無花果學習
包括我的FIGMA學習旅程(主要YouTube播放列表,我從:https://wwwww.youtube.com/playlist?list=plkid0a0xcibuyx3c_nyn1n13ww9z_kkiia2m by Aliena Cai僅由Aliena Cai froun fineen flugma ux ux'播放列表)
什麼是無花果?
無花果是用於接口設計的協作Web應用程序,其其他離線功能由MacOS和Windows桌面應用程序啟用。 FIGMA的功能集側重於用戶界面(UI)和用戶體驗(UX)設計,並著重於實時協作,並利用了各種矢量圖形編輯器和原型化工具。
關於無花果的一個重要規則是,您永遠不應該從頭開始任何事情!始終記得從參考文獻中獲取,並從現有網站模板中復制以提高網站原型的質量和創建時間! (正如AJ&Smart的YouTube視頻中的建議)
來源:
什麼是簡化的雲?
從官方的簡化云網站上:“簡化雲是一種新產品,可讓您在幾分鐘內從簡化的Web應用程序中構建,部署和共享數據。”
老實說,有關如何在流暢雲上部署簡化(Python Framework)Web應用程序的文檔(鏈接:https://docs.streamlit.io/streamlit-community-community-cloud/deploy-your-app)非常清楚地逐步解釋瞭如何在流式雲上部署流網絡應用程序。正確部署後,我獲得了直接的“ smartlit.io”鏈接到簡化的Web應用程序,然後我可以與其他人共享此簡化Web應用程序。
將敏感信息處理為“秘密”/環境變量,在簡化雲上:
當我嘗試將Firebase Realtime數據庫的私鑰或Chatbase Custom GPT LLM模型API私有密鑰直接推向該GitHub存儲庫時,我一直在獲得安全警告,警告我的“秘密”是從Github暴露的。我一開始就不在乎它,但是當Firebase實時數據庫的私鑰不斷重置並在發現私鑰時被取消時,這已成為一個問題GitHub存儲庫。
因此,我發現,無論您是在Heroku,AWS,Vercel或其他人等平台上部署應用程序,都可以在部署平台上直接添加“秘密”/環境變量,因此可以私下私下添加“秘密”/環境變量,從而消除了“ Security of the Serpots the Sections”的信息,無論是為了簡化雲,不僅是為了簡化雲。
特別是針對簡化的雲,您可以直接在簡化雲上部署的應用程序上添加“秘密”/環境變量,並學習如何通過遵循此文檔(鏈接:https://blog.streamlit.io oio oio oi of seallit cloud)上在代碼中的clactlit cloud上部署的應用程序上使用這些添加的“秘密”/環境變量。
這是我在此簡化的Web應用程序中使用Chatbase catchbase gutt llm model API和Firebase(API)的“ clacegra”聊天機器人(API)的實時數據庫的示例:
fb_credentials = json.loads(st.secrets['FIREBASE_DB_CONVERSATIONS'])
if "conversations" not in firebase_admin._apps:
# Initialize Firebase
credentials_object_conversations = firebase_admin.credentials.Certificate(fb_credentials)
firebase_admin.initialize_app(credentials_object_conversations, {
'databaseURL': 'https://urop-telegram-chatbot-default-rtdb.asia-southeast1.firebasedatabase.app/'
}, name='conversations')
# Get a reference to the database
reference_to_database_conversations = db.reference('/', app=firebase_admin.get_app('conversations'))
來源: