Talvez para os segredos adicione 1 versão com o arquivo json (com as informações apagadas) e 1 com o implantado sem o arquivo json, mas as variáveis de segredos)
A assinatura do chatbase é cancelada. (Alternativamente, pode usar outro LLM (talvez o Mistral LLM desde o seu grátis ???) em 24/10/2025
Também pode precisar separar apenas os arquivos necessários para implantação em um repositório do GitHub separado para evitar erros. Porque adicionar arquivos diversos extras pode causar erro de implantação !! (O mesmo para o '18. Karaoke Event Stramilit App ', que agora tem erros porque eu adicionei arquivos diversos extras ao seu repositório do GitHub ... oops ...)
Talvez possa colocar a foto do site de stretylit, Firebase, Chatbase e Figma também e o
Planeje mudá -lo de transferível entre os cursos para funcionar apenas por um curso ... porque para torná -lo transferível entre os cursos é muito difícil
Este é um projeto realizado como parte do programa de oportunidades de pesquisa de graduação da minha universidade (UROP), intitulado 'Urop: Telegram Chatbot para programadores iniciantes para aprender codificação' , supervisionados e iniciados pela professora Oka Kurniawan (aqui está sua conta do Github), com 8 meses de trabalho (on-off).
Aqui está a descrição do projeto UROP:
'' '
A codificação de aprendizado pode ser melhorada significativamente quando os alunos têm um feedback imediato e personalizado. O número de alunos para codificar torna impossível para os instrutores humanos fornecer um feedback imediato e personalizado aos alunos. A ascensão da IA nos oferece a possibilidade de criar um tutor de chatbot que possa apoiar os alunos em qualquer lugar e a qualquer momento. O objetivo deste projeto é criar um chatbot de telegrama, onde os alunos podem obter feedback relacionado aos seus cursos de codificação. O feedback deve ser preciso, conforme refletido nas notas ou no conjunto de problemas do instrutor.
O chatbot pode ser usado para qualquer instituição que ensine a programação.
'' '
Este projeto é composto por 2 repositórios do GitHub:
Este repositório do GitHub está hospedando o código para o aplicativo Web Streamlit para o Telegram Chatbot com o banco de dados em tempo real do Chatbase GPT LLM e Firebase (API).
A abordagem para o desenvolvimento deste projeto UROP é dividida em 2 componentes:
O BOT Telegrama implantado deste projeto, Modelo Custom GPT LLM Custom LLM, Straminlit (Python Framework) Aplicativo e Links de Firebase (API):
Aqui está um diretório para explicar o objetivo de cada arquivo neste repositório:
Arquivos que são necessários na criação do aplicativo Web Streamlit para o Telegram Chatbot com o Chatbase Custom GPT LLM Model API e o Firebase (API) do banco de dados em tempo real
Arquivos adicionais que não fazem parte da criação do aplicativo Web Streamlit para o Telegram Chatbot com o banco de dados em tempo real GPT LLM Custom GPT LLM e o banco de dados em tempo real da API), mas inclui o Fireations/Versions/Prototypes do Fireatio) do Aplicativo da Web para o FireatioMe) com o Model APPI e o SPEMPIAPAPIATA) API) o Model APPI e o Model SPPi) e o Model APiPi) e o Model APi) e o Model APi) e o Model APi) e o Model APi) e o Model Api) e o Model Api) e o Model Api) API) e chatbase com chatbase com chatbase com chap.
Arquivos adicionais que não fazem parte da criação do aplicativo Web Streamlit para o Telegram Chatbot com o Chatbase Custom GPT LLM Model API e o Firebase (API) do banco de dados em tempo real, mas inclui minha jornada de aprendizado de parte da tecnologia necessária usada neste projeto que eu não estava familiarizado
Processo de implantação do aplicativo Web Streamlit para o Telegram Chatbot com o Chatbase Custom GPT LLM Model API e o Firebase (API) Banco de dados em tempo real no streamlit Cloud
1. '.Streamlit' pasta
eu. Arquivo 'config.toml'
O arquivo Python principal para o aplicativo Web Streamlit para o Telegram Chatbot com o Chatbase Custom GPT LLM Model API e o Firebase (API) em tempo real do banco de dados.
2. FILE 'README.MD'
O arquivo '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"
}Este arquivo representa a chave de auteticação. Aparentemente, ao acessar as APIs (como a API do Firebase), você precisará ter uma espécie de chave de autenticação, que é o que esse arquivo é para garantir que apenas usuários autorizados possam acessar a API. Consulte este vídeo para entender como a chave de autenticação da API do Firebase é usada com seu código Python: https://www.youtube.com/watch?v=s-ga8c3tovy&t=336s (código primeiro com hala)
4. 'Requisitos.txt' arquivo
streamlit == 1.27 . 2
streamlit_autorefresh == 1.0 . 1
firebase_admin == 6.2 . 0Este é um arquivo compulsório, de acordo com a implantação do aplicativo Web simplit para o chatbot do Telegram com o Chatbase GPT LLM Model API e o Firebase (API) do banco de dados em tempo real no SPRILIT NOUGL OF STRILHT NOUGL NUGHT (LEFRIGNIONSTEMPRONEMSTEMENT APLATION DO SPRILHEMPRATION O PRATMUSTO DO PESPONSA DO SPRILHMPOND (FROTAMENTO DE PITHON) O SLIGLIT ON OUTRAGEM NOUGHMPREGO (LIGHT TO TOMPLOTE (PythOn Framework) OfLit On Cloud On Cloud (FROTAMENTO DE PITHON). Chatbot integrado à ChatBase Custom Gpt LLM Model API e Banco de dados em tempo real da API (Firebase) em cloud straminlit 'Para obter mais informações sobre o processo de implantação deste aplicativo Web Stramilit para o telegrama Chatbot integrado ao ponto de dados do ChatBase GPT LLM Model API e FireBase (API) do The RealTime RealTime) 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 custom A API do Modelo Gpt LLM e o banco de dados em tempo real da Firebase (API).
Aparentemente, o arquivo 'requisitos.txt' é uma prática comum em várias plataformas de implantação no Python, não apenas para a nuvem de streamlit. Esteja você implantando seus aplicativos em plataformas como Heroku, AWS, Vercel ou outros, especificando dependências em um arquivo 'requisitos.txt' permite que a plataforma compreenda e instale os pacotes necessários.
5. 'STREAMLIT_WEB_APplication.py'
O arquivo Python principal para o aplicativo Web Streamlit para o Telegram Chatbot com o Chatbase Custom GPT LLM Model API e o Firebase (API) em tempo real do banco de dados.
Fontes):
Eu rotulei a versão de cada um dos arquivos, juntamente com uma breve descrição das diferenças entre as versões nos nomes dos arquivos. Aqui está uma descrição um pouco mais elaborada das diferenças nas versões:
Por que escolhi o banco de dados em tempo real da Firebase em vez dos bancos de dados MySQL?
Com meu conhecimento recentemente aprendido sobre o MySQL, eu queria tentar usar bancos de dados MySQL neste projeto. No entanto, percebi que muitas das plataformas de hospedagem de banco de dados, como o Azure Database e a Amazon Web Services, exigem suas informações de cobrança para começar a hospedar bancos de dados MySQL neles. Eu não queria correr o risco de ser sobrecarregado, pois provavelmente não manterei meu aplicativo construído, pois só os criei para fins educacionais e não para a produção. Por isso, decidi usar o banco de dados Relational/NoSQL em tempo real da Firebase, pois é a única plataforma de hospedagem de banco de dados que não exigia informações de cobrança.
Devido à minha falta de conhecimento em algumas das tecnologias necessárias que estão sendo usadas no aplicativo Web Stirathit para o Telegram Chatbot integrado à Chatbase Custom GPT LLM Model API e ao banco de dados em tempo real da Firebase (API), tive que aprendê -los primeiro, que inclui:
Engenharia rápida Aprenda (do curso de engenharia imediata por DeePlearning.ai em colaboração com o OpenAI (usando o ChatGPT como LLM)))
Consiste na minha jornada de aprendizado do paradigma imediato de engenharia (curso on-line em que aprendi o paradigma imediato de engenharia de: https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/ by deeplerning.ai, na colaboração com a abertura de tits-titleaintsg, em que os tits-theStleTermging em que os tits-themewers de que os the-therl) se engenharia, em que a colaboração em que a colaboração em que os the-thowerl), em que os bails, em que os the-thowerl), em que a colaboração de toucheing e-seail, em que os the-therends de time de título de título de título.
O que é engenharia rápida?
A engenharia rápida é o processo de escrever/refinar um prompt de IA generativo para melhorar sua precisão e eficácia e obter saídas desejadas dos modelos de IA.
O que são solicitações?
Um prompt de IA (incluindo grandes modelos de idiomas (LLM)) é uma pergunta, comando ou declaração que você entra em um modelo de IA (incluindo modelos de linguagem grande (LLM)) para iniciar uma resposta ou ação, aproveitando o poder do processamento de linguagem natural (PNL).
(Nota: API do modelo GPT OpenAI (estrutura Python) requer assinatura de pagamento mensal: Os códigos neste tutorial exigem o API do modelo GPT OpenAI (estrutura Python) para obter respostas da ChatGPT. No entanto, o modelo de modelo de que a estrutura do Modelo Open This Thath ThishyTh) requer que seja a assinatura mensal. Framework) Acesso, que requer pagamento.
Portanto, a maior parte da 'saída' do código deste tutorial será a saída simulada mostrada nos vídeos neste tutorial, escrito em arquivos de notebook Jupyter)
Fontes):
Figma aprender
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)
O que é figma?
O FIGMA é um aplicativo da Web colaborativo para design de interface, com recursos offline adicionais ativados por aplicativos de desktop para macOS e Windows. O conjunto de recursos do FIGMA se concentra na interface do usuário (UI) e no design da experiência do usuário (UX), com ênfase na colaboração em tempo real, utilizando uma variedade de ferramentas de editor de gráficos e prototipagem vetoriais.
Uma regra importante sobre o figma é que você nunca deve começar nada do zero! Lembre -se sempre de retirar as referências e copiar dos modelos de site existentes para aumentar a qualidade e o tempo de criação do protótipo do site! (conforme recomendado no vídeo do YouTube de AJ & Smart)
Fontes):
O que é a nuvem de streamlit?
No site oficial da cloud: 'O StreamLit Cloud é um novo produto que permite criar, implantar e compartilhar dados de aplicativos da Web Streamlit em minutos.'
Honestamente, a documentação sobre como implantar um aplicativo Web Streamlit (Python Framework) no STRILYLIT Cloud (link: https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app) explica muito claramente passo a passo sobre como implantar um aplicativo Web Streamlit em nuvem. Uma vez implantado corretamente, recebi um link direto do 'streamlit.io' para o aplicativo Web StreamLit, que posso compartilhar com outras pessoas para experimentar esse aplicativo Web StreamLit.
Lidando com informações confidenciais como 'segredos'/variáveis de ambiente em nuvem de streamlit:
Quando tentei pressionar as chaves privadas do banco de dados em tempo real do Firebase Real ou a chave privada do Modelo GPT LLM Custom LLM personalizado neste repositório do GitHub, continuei recebendo um aviso de segurança de que meus 'segredos' estão expostos do Github. I did not care about it at first, but it became an issue when Firebase Realtime Database's private keys keeps resetting and gets cancelled whenever the private key is detected to be exposed publicly, causing the deployed Streamlit website application to stop working, and I had to re-generate new unique private keys from the Firebase website again which is very troublesome and the same issue will occur if I try to push the Firebase Realtime Database's private keys onto Este repositório do GitHub novamente.
Portanto, descobri que várias plataformas de implantação, não apenas para o cloud, se você está implantando seus aplicativos em plataformas como Heroku, AWS, Vercel ou outros, você pode adicionar 'segredos'/variáveis ambientais diretamente nos aplicativos implantados nas plataformas de implantação em particular, eliminando assim esse risco de segurança dos 'Secrets' Secrets 'exportados', eliminando esse risco de segurança dos 'Secrets' Secrets '
Especificamente para a nuvem de streamlit, você pode adicionar 'segredos'/variáveis de ambiente diretamente nos aplicativos implantados no cloud do streamlit e aprender a usar esses 'segredos'/variáveis de ambiente adicionais nos aplicativos implantados em cloud Sirplet.
Aqui está um exemplo de como eu fiz isso neste aplicativo Web Streamlit para o Telegram Chatbot com o Chatbase GPT LLM Model API e o Firebase (API) Bathets em tempo real no 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'))
Fontes):