Möglicherweise fügen Sie für die Geheimnisse 1 Version mit der JSON -Datei (with er info gelöscht) und 1 mit der bereitgestellten ohne die JSON -Datei, aber die Secrets -Variablen) hinzu.
Das Chatbase -Abonnement wird storniert. (Alternativ kann ein weiteres LLM (vielleicht den Mistral LLM seit seiner kostenlosen ???) am 01.01.2025 verwenden
Möglicherweise muss auch nur die erforderlichen Dateien für die Bereitstellung in einem separaten Github -Repo getrennt werden, um Fehler zu verhindern. Cuz addiert zusätzliche verschiedene Dateien möglicherweise zu Bereitstellungsfehlern !! (Gleich für die '18. Karaoke -Event Streamlit App ', die jetzt Fehler hat, weil ich dem Github Repo zusätzliche verschiedene Dateien hinzugefügt habe ... oops ...)
Vielleicht können Sie Bild der Streanlit -Website, Firebase, Chatbase und Figma und der
Planen Sie, es von übertragbarem zwischen Kursen zu nur für einen Kurs zu ändern ... Cuz, um es zwischen den Kursen übertragbar zu machen, ist zu hart
Dies ist ein Projekt, das im Rahmen des UROP (Bachelor Research Opportunities Program meiner Universität) mit dem Titel „UROP: Telegram Chatbot für Anfängerprogrammierer zum Erlernen von Codierung“ von Professor Oka Kurniawan (hier ist sein Github-Account), 8 Monate der (ON-ON-ON-Arbeiten) beaufsichtigt und initiiert wird.
Hier ist die Beschreibung des UROP -Projekts:
'' ''
Die Lerncodierung kann erheblich verbessert werden, wenn die Lernenden ein sofortiges und personalisiertes Feedback haben. Die Anzahl der Lernenden für die Codierung macht es menschlichen Ausbildern unmöglich, den Lernenden ein sofortiges und personalisiertes Feedback zu geben. Der Aufstieg der KI bietet uns die Möglichkeit, einen Chatbot -Tutor zu erstellen, der die Lernenden überall und jederzeit unterstützen kann. Ziel dieses Projekts ist es, einen Telegramm -Chatbot zu erstellen, in dem Lernende Feedback zu ihren Codierungskursen erhalten können. Das Feedback sollte genau sein, wie in den Anmerkungen oder dem Ausbilderproblem angegeben.
Der Chatbot kann für jede Institution verwendet werden, die Programmierung lehrt.
'' ''
Dieses Projekt besteht aus 2 Github -Repositories:
Dieses GitHub -Repository hostet den Code für die Streamlit -Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM -Modell -Modell -API und FireBase (API )'s Echtzeitdatenbank.
Der Ansatz zur Entwicklung dieses UROP -Projekts ist in zwei Komponenten aufgeteilt:
Das von dem Telegram Bot, Chatbase Custom GPT LLM Model, Streamlit (Python Framework )'s Website -Anwendungs- und Firebase -Links (Python Framework), bereitgestellte Telegramm -Bot:
Hier ist ein Verzeichnis, in dem der Zweck jeder Datei in diesem Repository erklärt wird:
Dateien, die bei der Erstellung der streamlit -Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM Model API und Firebase (API) von Chatbase erforderlich sind
Zusätzliche Dateien, die nicht Teil der Erstellung der Streamlit -Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM Model API und Firebase (API) sind, enthält jedoch die früheren Iterationen/Versionen/Prototypen der Streamlit -Webanwendung für die telegramm Chatbase -Custom -GPT -Modell -API -API -API -API -API -API -API -API -API -Chatbase -LLM -Modell -API -API).
Zusätzliche Dateien, die nicht Teil der Erstellung der Streamlit -Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM Model API und Firebase (API) von Chatbase sind
Bereitstellungsprozess der streamlit -Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM Model API und FireBase (API )'s Echtzeitdatenbank in der Streamlit Cloud
1. '.StreamLit' Ordner
ich. 'config.toml' Datei
Die Hauptpython -Datei für die Streamlit -Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM Model API und Firebase (API) von Custom GPT LLM Model API und Echtzeitdatenbank selbst.
2. 'Readme.md' Datei
Die Datei "Readme.md".
3. Datei '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"
}Diese Datei repräsentiert den Authetikationsschlüssel. Anscheinend müssen Sie beim Zugriff auf APIs (z. B. die Firebase -API) über eine Art Authentifizierungsschlüssel verfügen, was diese Datei sicherstellen soll, dass nur autorisierte Benutzer auf die API zugreifen können. Siehe dieses Video, um zu verstehen, wie der FireBase API-Authentifizierungsschlüssel mit Ihrem Python-Code verwendet wird: https://www.youtube.com/watch?v=s-ga8c3tovy&t=336s (Code zuerst mit Hala)
4. Datei 'Anforderungen.txt'
streamlit == 1.27 . 2
streamlit_autorefresh == 1.0 . 1
firebase_admin == 6.2 . 0Dies ist eine obligatorische Datei gemäß der Bereitstellung der streamlitischen Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM -Modell -API und Firebase (API). Chatbot integriert in die Echtzeitdatenbank von Chatbase Custom GPT LLM Model API und Firebase (API). Weitere Informationen zum Bereitstellungsprozess dieser Streamlit -Webanwendung für die in der Chatbase Custom GPT LLM Model API und Firebase (API) integrierte TELEGRAM -CHATBOT -CHATBAS -CHATBASE -Custom -GPT -Modell -API und Firebase (API). https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app (streamlit cloud), mit der Sie Streamlit (Python Framework) mitteilen können, um die erforderlichen externen externen Bibliotheken/Framework/Paket-Pakete in dieser Streamlit-Datei für die Einstellung der Aufnahme der Streamlit-Datei für die Einstellung der Streamlit-Anwendung für die Einsatz-Aufgabe des Einsatzes für die Einsatz-Umgebung für den Einsatz der Einsatz-Umgebung zu herunterladen. Die Echtzeitdatenbank von Chatbase Custom GPT LLM Model API und Firebase (API).
Anscheinend ist die Datei "Anforderungen.txt" eine übliche Praxis für verschiedene Bereitstellungsplattformen in Python, nicht nur für Streamlit Cloud. Unabhängig davon, ob Sie Ihre Anwendungen auf Plattformen wie Heroku, AWS, Vercel oder anderen bereitstellen und Abhängigkeiten in einer "Anforderungen.TXT" -Datei angeben können, ermöglicht es der Plattform, die erforderlichen Pakete zu verstehen und zu installieren.
5. 'streamlit_web_application.py' Datei
Die Hauptpython -Datei für die Streamlit -Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM Model API und Firebase (API) von Custom GPT LLM Model API und Echtzeitdatenbank selbst.
Quelle (en):
Ich habe die Version der einzelnen Datei zusammen mit einer kurzen Beschreibung der Unterschiede zwischen den Versionen in den Dateinamen gekennzeichnet. Hier finden Sie eine etwas aufwändige Beschreibung der Unterschiede in den Versionen:
Warum habe ich die Echtzeitdatenbank von Firebase anstelle von MySQL -Datenbanken gewählt?
Mit meinem kürzlich erlernten Wissen über MySQL wollte ich versuchen, MySQL -Datenbanken in diesem Projekt zu verwenden. Ich erkannte jedoch, dass viele der Datenbankhosting -Plattformen wie Azure Database und Amazon Web Services Ihre Abrechnungsinformationen benötigen, um MySQL -Datenbanken auf ihnen zu hosten. Ich wollte nicht das Risiko eingehen, überlastet zu werden, da ich meine gebaute Anwendung höchstwahrscheinlich nicht aufrechterhalten werde, da ich sie nur für Bildungszwecke und nicht für die Produktion geschaffen habe. Daher habe ich mich entschlossen, stattdessen die relationale/NoSQL -Echtzeitdatenbank von Firebase zu verwenden, da sie die einzige Datenbank -Hosting -Plattform ist, für die keine Abrechnungsinformationen erforderlich waren.
Aufgrund meines mangelnden Wissens in einigen der erforderlichen Technologien, die in der streamlit -Webanwendung für die Echtzeit -Datenbank von Chatbase Custom GPT LLM -Modell -API und Firebase (API) in der Chatbase Custom GPT LLM -Modell -Modell -API und Firebase (API) verwendet werden, musste ich sie zuerst lernen, einschließlich:
Prompt Engineering Learn (aus promptem Ingenieurkurs von Deeplearning.ai in Zusammenarbeit mit OpenAI (mit ChatGPT als LLM)))
Besteht aus meiner Lernreise des schnellen technischen Paradigmas (Online-Kurs, in dem ich das schnelle technische Paradigma von: https://www.deeplearning.ai/short-courses/chatgpt-Prompt-Engineering-Fordevelopers/ von DeepLearning.ai erfuhr.
Was ist schnelle Engineering?
Proportional Engineering ist der Prozess des Schreibens/Verfeinerung einer generativen KI -Aufforderung zur Verbesserung ihrer Genauigkeit und Wirksamkeit und der gewünschten Ausgaben von KI -Modellen.
Was sind Eingabeaufforderungen?
Eine KI (einschließlich großer Sprachmodelle (LLM)) ist eine Frage, einen Befehl oder eine Aussage, die Sie in ein KI (einschließlich großer Sprachmodelle (LLM)) eingeben, um eine Antwort oder Aktion zu initiieren und die Kraft der natürlichen Sprachverarbeitung (NLP) zu nutzen.
(Anmerkung: OpenAI GPT -Modell -API (Python Framework) erfordert monatliche Zahlungsabonnements: Die Codes in diesem Tutorial erfordern die OpenAI -GPT -Modell -API (Python -Framework), um Antworten von Chatgpt zu erhalten. Aus Chatgpt. Das OpenAI -GPT -Modell -API (Python -Framework) erfordert jedoch monatliche Zahlungsabonnements. Framework) Zugriff, für die die Zahlung erforderlich ist.
Daher ist der größte Teil der "Ausgabe" aus dem Code in diesem Tutorial die simulierte Ausgabe in den Videos in diesem Tutorial, die in Jupyter -Notebook -Dateien geschrieben wurde.
Quelle (en):
Figma lernen
Consists of my learning journey of Figma (main Youtube playlist where I learnt the Prompt Engineering paradigm from: https://www.youtube.com/playlist?list=PLKId0A0XCIbUYx3c_NYn13W9Z_kkIiA2m by Aliena Cai, titled 'Figma UX Tutorial by Aliena' (only up till the 4th video in the playlist)
Was ist Figma?
Figma ist eine kollaborative Webanwendung für das Interface -Design mit zusätzlichen Offline -Funktionen, die von Desktop -Anwendungen für MacOS und Windows aktiviert sind. Der Feature-Satz von Figma konzentriert sich auf das Design der Benutzeroberfläche (UI) und des UX-Designs (UX) mit Schwerpunkt auf Echtzeit-Zusammenarbeit, wobei eine Vielzahl von Vektor-Grafik-Editor- und Prototyping-Tools verwendet wird.
Eine wichtige Regel für Figma ist, dass Sie niemals etwas von Grund auf neu beginnen sollten! Denken Sie immer daran, die Referenzen aus zu nehmen und aus vorhandenen Website -Vorlagen zu kopieren, um die Qualität und die Erstellungszeit des Website -Prototyps zu steigern! (Wie von AJ & Smarts YouTube -Video beraten)
Quelle (en):
Was ist Streamlit Cloud?
Auf der offiziellen Streamlit Cloud -Website: "Streamlit Cloud ist ein neues Produkt, mit dem Sie Daten in Minuten erstellen, bereitstellen und freigeben können."
Ehrlich gesagt, die Dokumentation zum Bereitstellen einer Webanwendung von Streamlit (Python Framework) in Streamlit Cloud (Link: https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app) erklärt sehr deutlich für Schritt, wie Sie eine Stromanwendung von Stromlit in der Stromlit-Cloud-Anwendung bereitstellen. Sobald ich korrekt bereitgestellt war, habe ich einen direkten "streamlit.io" -Link zur streamlit -Webanwendung erhalten, den ich dann mit anderen teilen kann, um diese streamlit -Webanwendung auszuprobieren.
Umgang mit sensiblen Informationen als "Geheimnisse"/Umgebungsvariablen in der streamlosen Cloud:
Als ich versuchte, die privaten Schlüsseln der Firebase Echime Database oder den privaten Taste Chatbase Custom GPT LLM Model API direkt auf dieses GitHub -Repository zu bringen, erhielt ich immer wieder eine Sicherheitswarnung, dass meine "Geheimnisse" von GitHub ausgesetzt sind. Zuerst war es mir egal, aber es wurde zu einem Problem, als die privaten Schlüssel von Firebase Echtzeit weiter zurückgesetzt wird und abgesagt wird, wenn der private Schlüssel öffentlich aufgedeckt wird, was dazu führte, dass die eingesetzte Stromanmeldung für die Stromversorgung nicht mehr funktioniert. GitHub Repository erneut.
Daher fand ich heraus, dass verschiedene Bereitstellungsplattformen, nicht nur für Streamlit Cloud, unabhängig davon, ob Sie Ihre Anwendungen auf Plattformen wie Heroku, AWS, Vercel oder anderen bereitstellen, die Variablen von "Geheimnis"/"Umgebungsvariablen " hinzufügen können.
Insbesondere für die Streamlit-Cloud können Sie in den bereitgestellten Anwendungen in der Streamlit-Cloud "Secrets"/Umgebungsvariablen direkt hinzufügen und erfahren, wie diese hinzugefügten "Geheimnisse"/"Umgebungsvariablen in den bereitgestellten Anwendungen auf der Streamlit-Cloud in Code" dieser Dokumentation (Link: https://blog.streamlit.io/screts./Secrets "verwendet werden.
Hier ist ein Beispiel dafür, wie ich es in dieser streamlit -Webanwendung für den Telegramm -Chatbot mit Chatbase Custom GPT LLM Model API und Firebase (API) von Chatbase Custom GPT LLM Cloud: Echtzeit -Datenbank:
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'))
Quelle (en):