Tal vez para los secretos, agregue 1 versión con el archivo JSON (con la información con la información) y 1 con la implementada sin el archivo json pero las variables de los secretos)
La suscripción de chatbase se cancela. (Alternativamente, puede usar otro LLM (tal vez el Mistral LLM desde que es gratis?) El 24/1/2025
También es posible que deba separar solo los archivos necesarios para la implementación en un repositorio de GitHub separado para evitar errores. ¡Porque agregar archivos adicionales miscelaneus puede causar un error de implementación! (Lo mismo para la aplicación de simplificación de eventos Karaoke '18. Karaoke', que ahora tiene errores porque agregué archivos extravagantes a su repositorio de GitHub ... oops ...)
Tal vez pueda poner una foto del sitio web streanlit, Firebase, Chatbase y Figma también y el
Planifique cambiarlo de transferible entre cursos a solo funciona para un curso ... porque hacer que sea transferible entre cursos es demasiado duro Alr
Este es un proyecto realizado como parte del Programa de Oportunidades de Investigación de Pregrado de My University (UROP), titulado 'UROP: Telegram Chatbot para programadores novatos para aprender codificación' , supervisado e iniciado por el profesor Oka Kurniawan (aquí está su cuenta de Github), que spanding 8 meses de trabajo (dentro).
Aquí está la descripción del proyecto UROP:
'' '
La codificación de aprendizaje se puede mejorar significativamente cuando los alumnos tienen una retroalimentación inmediata y personalizada. El número de alumnos para la codificación hace que sea imposible para los instructores humanos dar una retroalimentación inmediata y personalizada a los alumnos. El surgimiento de la IA nos brinda la posibilidad de crear un tutor de chatbot que pueda apoyar a los alumnos en cualquier lugar y en cualquier momento. El propósito de este proyecto es crear un chatbot de telegrama donde los alumnos puedan obtener comentarios relacionados con sus cursos de codificación. La retroalimentación debe ser precisa como se refleja en las notas o el conjunto de problemas del instructor.
El chatbot se puede utilizar para cualquier institución que enseñe programación.
'' '
Este proyecto está formado por 2 repositorios de GitHub:
Este repositorio de GitHub está alojando el código para la aplicación web de transmisión para el Telegram Chatbot con la base de datos de tiempo real de Model Model de Modelo GPT LLM COLSBASE Custom y Firebase (API).
El enfoque para desarrollar este proyecto UROP se divide en 2 componentes:
Bot de telegrama implementado de este proyecto, Modelo de chatbase Custom GPT LLM, Aplicación de sitio web y enlaces de Firebase (API) de Streamlit (Python Framework): los enlaces de Firebase (API):
Aquí hay un directorio para explicar el propósito de cada archivo en este repositorio:
Archivos que se requieren en la creación de la aplicación web Streamlit para el Telegram ChatBot con la base de datos de tiempo real de Model de Modelo GPT LLM de ChatBase Custom
Archivos adicionales que no forman parte de la creación de la aplicación web de optimización para el chatbot de telegrama con chatbase personalizado gpt llm model API y la base de datos real de Firebase (API)
Archivos adicionales que no forman parte de la creación de la aplicación web a simpatículo para el chatbot de telegrama con chatbase personalizado GPT LLM Model API y Firebase (API) La base de datos de tiempo real, pero incluye mi viaje de aprendizaje de algunas de las tecnologías requeridas que se usan en este proyecto con el que no estaba familiarizado
Proceso de implementación de la aplicación web de optimización para el Telegram Chatbot con la base de datos de tiempo real de Chatbase Custom GPT LLM Model y Firebase (API) en la nube optimista
1. carpeta '.streamlit'
i. archivo 'config.toml'
El archivo de Python principal para la aplicación web de optimización para el Telegram Chatbot con la API del modelo de chatbase Custom GPT LLM y la base de datos de tiempo real de Firebase (API).
2. Archivo 'Readme.md'
El archivo 'ReadMe.md'.
3. Archivo '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"
}Este archivo representa la clave de autetación. Aparentemente, al acceder a API (como la API de Firebase), deberá tener una especie de clave de autenticación, que es lo que este archivo es para garantizar que solo los usuarios autorizados puedan acceder a la API. Consulte este video para comprender cómo se usa la clave de autenticación de la API de Firebase con su código Python: https://www.youtube.com/watch?v=s-ga8c3tovy&t=336s (código primero con hala)
4. Archivo 'requisitos.txt'
streamlit == 1.27 . 2
streamlit_autorefresh == 1.0 . 1
firebase_admin == 6.2 . 0Este es un archivo obligatorio, de acuerdo con el despliegue de la aplicación web de transmisión para el Telegram ChatBot con ChatBase Custom GPT LLM Model API y Firebase (API) en la base de datos en tiempo real Chatbot integrada con la base de datos real de ChatBase Custom GPT LLM Model y Firebase (API) en tiempo real en la nube de optimizado 'para obtener más información sobre el proceso de implementación de esta aplicación web de transmisión web para el chatbot de telegrama integrado con la nube de chatbase de chatbase Custom Custom GPT LLM API y Firbase (API) en la nube de tiempo real): la nube de tiempo real): la nube de transmisión de tiempo real):: la nube de transmisión de tiempo real):: la nube de transmisión de tiempo real):: https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app (streamlit nube), que le permite decir a Streamlit (Python Framework) que descargue las bibliotecas/marco/paquetes externas necesarias para el archivo de chatbot 'requisitos' en el entorno de despliegue que se requiere para el despliegue de la compra de StreamLIT para la aplicación web de Chatbot con los requisitos de los requisitos. Custom GPT LLM Model API y la base de datos en tiempo real de Firebase (API).
Aparentemente, el archivo 'requisitos.txt' es una práctica común en varias plataformas de implementación en Python, no solo para la nube racionalizada. Ya sea que esté implementando sus aplicaciones en plataformas como Heroku, AWS, Vercel u otros, especificando dependencias en un archivo 'requisitos.txt' permite que la plataforma comprenda e instale los paquetes necesarios.
5. Archivo 'Streamlit_web_application.py'
El archivo de Python principal para la aplicación web de optimización para el Telegram Chatbot con la API del modelo de chatbase Custom GPT LLM y la base de datos de tiempo real de Firebase (API).
Fuentes):
He etiquetado la versión de cada uno de los archivos junto con una breve descripción de las diferencias entre las versiones en los nombres de los archivos. Aquí hay una descripción un poco más elaborada de las diferencias en las versiones:
¿Por qué elegí la base de datos en tiempo real de Firebase en lugar de las bases de datos MySQL?
Con mi conocimiento recientemente aprendido de MySQL, quería intentar usar bases de datos MySQL en este proyecto. Sin embargo, me di cuenta de que muchas de las plataformas de alojamiento de bases de datos, como Azure Database y Amazon Web Services, requieren su información de facturación para comenzar a alojar las bases de datos MySQL en ellos. No quería correr el riesgo de ser sobrecargado, ya que probablemente no mantendré mi aplicación construida, ya que solo las creé para fines educativos y no para la producción. Por lo tanto, decidí usar la base de datos RELACIONAL/NOSQL en tiempo real de Firebase, ya que es la única plataforma de alojamiento de bases de datos que no requirió información de facturación.
Debido a mi falta de conocimiento en algunas de las tecnologías requeridas que se utilizan en la aplicación web de optimización para la Base de datos de Telegram Chatbot integrada con ChatBase Custom GPT LLM Model API y Firebase (API) en tiempo real, primero tuve que aprenderlos, lo que incluye:
Ingeniería rápida Aprendizaje (del curso de ingeniería rápida por Deeplearning.ai en colaboración con OpenAI (usando ChatGPT como LLM)))
Consiste en mi viaje de aprendizaje del rápido paradigma de ingeniería (curso en línea donde aprendí el rápido paradigma de ingeniería de: https://www.deeplearning.ai/short-courses/chatgpt-prompt-ingineering-for-developers/ por Deeplearning.ai, en colaboración con la colaboración con el puesto abierto de la Ingeniería de la Ingeniería de los Desarrolladores de los Desarrolladores (solo el Video de los 7th Video en The 7th Video in the 7th.
¿Qué es la ingeniería rápida?
La ingeniería rápida es el proceso de escribir/refinar un indicador de IA generativo para mejorar su precisión y efectividad y obtener los resultados deseados de los modelos de IA.
¿Qué son las indicaciones?
Una solicitud de IA (incluidos modelos de idiomas grandes (LLM)) es una pregunta, comando o una declaración que ingresa en un modelo de IA (incluidos modelos de idiomas grandes (LLM)) para iniciar una respuesta o acción, aprovechando el poder del procesamiento del lenguaje natural (PNL).
(Nota: la API del modelo de OpenAI GPT (marco de Python) requiere suscripción de pago mensual: los códigos en este tutorial requieren la API del modelo OpenAI GPT (Python Framework) Para obtener respuestas en ChatGPT. Sin embargo, el API del modelo de OpenAi GPT (Python Access requiere un pago mensual de pago mensual. Marco) Acceso, que requiere el pago.
Por lo tanto, la mayor parte de la 'salida' del código en este tutorial será la salida simulada que se muestra en los videos en este tutorial, escrito en archivos de cuaderno jupyter)
Fuentes):
Figma Learn
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)
¿Qué es la figma?
FIGMA es una aplicación web colaborativa para el diseño de interfaz, con características adicionales fuera de línea habilitadas por aplicaciones de escritorio para macOS y Windows. El conjunto de características de FIGMA se centra en el diseño de la interfaz de usuario (UI) y la experiencia del usuario (UX), con énfasis en la colaboración en tiempo real, utilizando una variedad de editor de gráficos vectoriales y herramientas de creación de prototipos.
¡Una regla importante sobre Figma es que nunca debes comenzar nada desde cero! ¡Recuerde siempre tomar de las referencias y copiar de las plantillas de sitios web existentes para aumentar la calidad y el tiempo de creación del prototipo del sitio web! (Como se aconsejó en el video de YouTube de AJ y Smart)
Fuentes):
¿Qué es la nube racionalización?
Desde el sitio web oficial de Streamlit Cloud: "Streamlit Cloud es un producto nuevo que le permite construir, implementar y compartir datos de aplicaciones web de transmisión en minutos".
Honestamente, la documentación sobre cómo implementar una aplicación web Strewlit (Python Framework) en Streamlit Cloud (enlace: https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app) explica muy claramente cómo implementar una aplicación web de sorteo en la nube de streamlit. Una vez implementado correctamente, obtuve un enlace directo 'Streamlit.io' a la aplicación web Streamlit, que luego puedo compartir con otros para probar esta aplicación web Streamlit.
Manejo de la información confidencial como 'secretos'/variables de entorno en la nube racionalización:
Cuando intenté presionar las claves privadas de la base de datos de Firebase RealTime o la clave privada de la API del modelo de chatbase Custom GPT LLM en este repositorio de GitHub directamente, seguí recibiendo una advertencia de seguridad de que mis 'secretos' están expuestos de Github. Al principio no me importaba, pero se convirtió en un problema cuando las claves privadas de la base de datos de Firebase Real en tiempo real se rinden y se cancelan cada vez que se detecta la clave privada para que se exponga públicamente, lo que hace que el sitio web desplegado a opinas Repositorio de GitHub nuevamente.
Por lo tanto, descubrí que varias plataformas de despliegue, no solo para la nube de optimización, ya sea que esté implementando sus aplicaciones en plataformas como Heroku, AWS, Vercel o otras, puede agregar 'Secretos'/Variables de entorno directamente en las aplicaciones implementadas en las plataformas de implementación en sí mismas, eliminando así este riesgo de seguridad de que la información de 'Secrets de' Secrets se expone en Github.
Específicamente, para la nube de sayanas, puede agregar variables 'secretos'/entorno directamente en las aplicaciones implementadas en Streamlit Cloud y aprender a usar estas variables 'secretos'/entorno agregadas en las aplicaciones implementadas en la nube de sayado en código siguiendo esta documentación (enlace: https://blog.streamlit.iO/SECRET-EN SHARINing-apps/).
Aquí hay un ejemplo de cómo lo hice en esta aplicación web aerodinámica para el chatbot de telegrama con chatbase custom gpt llm model API y la base de datos de tiempo real de Firebase (API) en Streamlit Cloud:
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'))
Fuentes):