也许对于秘密,添加了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'))
来源: