아마도 비밀의 경우 JSON 파일 (witt He info)과 함께 1 버전을 추가하고 JSON 파일이 없지만 비밀 변수가 없으면 1 개의 버전이 추가됩니다).
챗봇 구독이 취소됩니다. (또는 2025 년 2 월 1 일에 다른 LLM (무료 이후 미스트랄 LLM ???)을 사용할 수 있습니다.
또한 오류를 방지하기 위해 별도의 GitHub 리포지로에서 배포에 필요한 파일 만 분리해야 할 수도 있습니다. 추가 잘못된 파일을 추가하면 배포 오류가 발생할 수 있습니다 !! ('18 년. 가라오케 이벤트 간단한 앱 '과 동일합니다. 이제 오류가 있습니다.
아마도 streanlit 웹 사이트, Firebase, Chatbase 및 Figma의 사진을 찍을 수도 있습니다.
코스 사이에서 전송 가능한 코스로만 전송할 수있는 코스에서만 작동 할 계획입니다 ... 코스간에 전송할 수 있도록 CUZ는 너무 어렵습니다.
이 프로젝트는 UP (University) 학부 연구 기회 프로그램 (UROP)의 일환으로 'UROP : Telegram Chatbot을위한 Telegram Chatbot을위한 Telegram Chatbot'라는 제목의 프로젝트로 , Oka Kurniawan 교수가 감독하고 시작하여 8 개월의 (온 오프) 작업을 담당합니다.
UROP 프로젝트에 대한 설명은 다음과 같습니다.
'' ''
학습자가 즉각적이고 개인화 된 피드백을 받으면 학습 코딩을 크게 향상시킬 수 있습니다. 코딩을위한 학습자의 수는 인간 강사가 학습자에게 즉각적이고 개인화 된 피드백을 제공하는 것을 불가능하게 만듭니다. AI의 부상은 우리에게 언제 어디서나 학습자를 지원할 수있는 챗봇 튜터를 만들 수 있습니다. 이 프로젝트의 목적은 학습자가 코딩 과정과 관련된 피드백을 얻을 수있는 Telegram Chatbot을 만드는 것입니다. 피드백은 메모 또는 강사 문제 세트에 반영된대로 정확해야합니다.
챗봇은 프로그래밍을 가르치는 모든 기관에 사용할 수 있습니다.
'' ''
이 프로젝트는 2 개의 Github 리포지토리로 구성됩니다.
이 Github 저장소는 챗베이스 사용자 정의 GPT LLM 모델 API 및 FireBase (API)의 실시간 데이터베이스와 함께 Telegram Chatbot의 Streamlit 웹 응용 프로그램 코드를 호스팅합니다.
이 UROP 프로젝트 개발에 대한 접근 방식은 두 가지 구성 요소로 나뉩니다.
이 프로젝트의 배포 된 Telegram Bot, Chatbase Custom GPT LLM 모델, Streamlit (Python Framework)의 웹 사이트 응용 프로그램 및 Firebase (API) 링크 :
다음은이 저장소에서 각 파일의 목적을 설명하는 디렉토리입니다.
Chatbase Custom GPT LLM 모델 API 및 FireBase (API)의 실시간 데이터베이스를 사용한 Telegram Chatbot 용 Streamlit 웹 응용 프로그램을 작성하는 데 필요한 파일
Chatbase Custom Gpt LLM 모델 API 및 FireBase (API)의 실시간 데이터베이스와 함께 Telegram Chatbot에 대한 Streamlit 웹 응용 프로그램 작성의 일부가 아닌 추가 파일은 ChatBase Custom GPT LLM Model API 및 Firebase (API) 's Real Time Database (API)'s Real Time Base (API) 's Real Time Base (API)'s Real Time Base (API) 'S API (Telegram chatbot)의 과거 반복/버전/프로토 타입을 포함합니다.
Chatbase Custom GPT LLM Model API 및 FireBase (API)의 실시간 데이터베이스가 포함 된 Telegram Chatbot의 Streamlit 웹 응용 프로그램 작성의 일부가 아닌 추가 파일이지만 익숙하지 않은이 프로젝트에서 사용되는 필수 기술의 학습 여정이 포함됩니다.
Chatbase Custom GPT LLM 모델 API 및 Firebase (API)의 실시간 데이터베이스가 포함 된 Telegram Chatbot 용 Sleamlit 웹 응용 프로그램의 배포 프로세스
1. '.StreamLit'폴더
나. 'config.toml'파일
Chatbase Custom GPT LLM 모델 API 및 FireBase (API)의 실시간 데이터베이스 자체가 포함 된 Telegram Chatbot의 Streamlit 웹 응용 프로그램의 기본 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에 액세스 할 수 있도록하는 것입니다. 파이썬 코드와 함께 Firebase API 인증 키가 어떻게 사용되는지 이해하려면이 비디오를 참조하십시오.
4. '요구 사항 .txt'파일
streamlit == 1.27 . 2
streamlit_autorefresh == 1.0 . 1
firebase_admin == 6.2 . 0이것은 강의 파일, 강의 파일입니다. 이것은 Sleamlit Cloud에 간소화 (Python Framwork) 웹 애플리케이션을 배포하는 방법에 대한 문서에 설명 된대로 Chatbase Custom Gpt LLM Model API 및 FireBase (API)의 실시간 데이터베이스를 사용하여 Telegram Chatbot 및 Sleamlit Cloud의 실시간 데이터베이스를 사용하여 강의 웹 응용 프로그램을 배포하는 데 따른 강제 파일입니다. Chatbot은 Chatbase Custom Gpt LLM 모델 API 및 FireBase (API)의 API (Api)의 실시간 데이터베이스에 통합 된 chatbase gpt llm 모델 API 및 FireBase (API)의 실시간 데이터베이스와 통합 된 Telegram Chatbot의 배포 프로세스에 대한 자세한 내용을 보려면 간소화 클라우드 : https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app (sleamlit cloud)는이 'TEXT'파일에 지정된 필요한 외부 라이브러리/프레임 워크/패키지를 텔레비전에 배치 해야하는 텔레비전에 필요한 외부 라이브러리/프레임 워크/패키지를 다운로드 할 수 있도록 할 수 있습니다. Chatbase Custom Gpt LLM 모델 API 및 Firebase (API)의 실시간 데이터베이스.
분명히 '요구 사항 .txt'파일은 간소 클라우드뿐만 아니라 Python의 다양한 배포 플랫폼에서 일반적인 관행입니다. Heroku, AWS, Vercel 또는 기타 플랫폼에 응용 프로그램을 배포하든 '요구 사항 .txt'파일에 종속성을 지정하면 플랫폼이 필요한 패키지를 이해하고 설치할 수 있습니다.
5. 'sleamlit_web_application.py'파일
Chatbase Custom GPT LLM 모델 API 및 FireBase (API)의 실시간 데이터베이스 자체가 포함 된 Telegram Chatbot의 Streamlit 웹 응용 프로그램의 기본 Python 파일.
출처 :
파일 이름의 버전 간의 차이점에 대한 간단한 설명과 함께 각 파일의 버전에 레이블을 지정했습니다. 다음은 버전의 차이점에 대한 약간 더 정교한 설명입니다.
MySQL 데이터베이스 대신 FireBase의 실시간 데이터베이스를 선택한 이유는 무엇입니까?
최근에 MySQL에 대한 지식을 통해이 프로젝트에서 MySQL 데이터베이스를 사용해 보려고했습니다. 그러나 Azure Database 및 Amazon Web Services와 같은 많은 데이터베이스 호스팅 플랫폼이 MySQL 데이터베이스 호스팅을 시작하기 위해 청구 정보가 필요하다는 것을 깨달았습니다. 제작을 위해서만 교육 목적으로 만 만들었 기 때문에 내장 된 응용 프로그램을 유지하지 않을 가능성이 높기 때문에 과충전의 위험을 감수하고 싶지 않았습니다. 따라서 청구 정보가 필요하지 않은 유일한 데이터베이스 호스팅 플랫폼이기 때문에 FireBase의 관계형/NOSQL 실시간 데이터베이스를 사용하기로 결정했습니다.
Chatbase Custom GPT LLM Model API 및 Firebase (API)의 실시간 데이터베이스와 통합 된 Telegram Chatbot의 Streamlit 웹 응용 프로그램에 사용되는 필수 기술에 대한 지식이 부족하기 때문에 다음을 포함하여 다음을 포함하여 다음을 배워야했습니다.
Prompt Engineering Learn (OpenAI와 공동으로 DeePlearning.ai의 Prompt Engineering 과정에서 (LLM으로 Chatgpt 사용))
https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/ by deeplearning.ai의 신속한 엔지니어링 패러다임을 배운 온라인 코스 (온라인 코스)로 구성되어 있습니다.
신속한 엔지니어링이란 무엇입니까?
프롬프트 엔지니어링은 정확성과 효과를 향상시키고 AI 모델로부터 원하는 출력을 얻기위한 생성 AI 프롬프트를 작성/정제하는 과정입니다.
프롬프트는 무엇입니까?
AI (LLM (Large Language Models) 포함 프롬프트는 AI (LLM (Langue Model) 포함 (LLM) 포함) 모델에 입력하여 응답 또는 행동을 시작하여 자연 언어 처리의 힘 (NLP)의 힘을 활용하는 질문, 명령 또는 진술입니다.
(참고 : OpenAi GPT 모델 API (Python Framework)는 월별 결제 가입이 필요합니다.이 튜토리얼의 코드에는 ChatGpt로부터 응답을 얻으려면 OpenAi GPT 모델 API (Python Framework)가 필요합니다. 그러나 OpenAi GPT 모델 API (Python Framework)는 월별 지불 구독이 필요합니다. 따라서이 폴더의 코드는 실행할 수 없습니다. Framework) Access, 결제가 필요합니다.
따라서이 튜토리얼의 코드의 대부분의 '출력'은 Jupyter 노트북 파일로 작성된이 튜토리얼의 비디오에 표시된 시뮬레이션 출력입니다.
출처 :
피그마는 배웁니다
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)
무화과는 무엇입니까?
Figma는 MacOS 및 Windows 용 데스크탑 응용 프로그램에서 활성화 된 추가 오프라인 기능을 갖춘 인터페이스 디자인을위한 협업 웹 애플리케이션입니다. FIGMA의 기능 세트는 다양한 벡터 그래픽 편집기 및 프로토 타이핑 도구를 활용하여 실시간 협업에 중점을 둔 사용자 인터페이스 (UI) 및 사용자 경험 (UX) 디자인에 중점을 둡니다.
Figma의 중요한 규칙은 처음부터 아무것도 시작해서는 안된다는 것입니다! 항상 참조를 가져 와서 기존 웹 사이트 템플릿에서 복사하여 웹 사이트 프로토 타입의 품질과 생성 시간을 늘리는 것을 잊지 마십시오! (AJ & Smart의 YouTube 비디오에서 조언 한 바와 같이)
출처 :
Streamlit Cloud 란 무엇입니까?
공식 Streamlit Cloud 웹 사이트에서 : 'Streamlit Cloud는 몇 분 안에 Streamlit 웹 애플리케이션에서 데이터를 빌드, 배포 및 공유 할 수있는 새로운 제품입니다.'
솔직히, Streamlit Cloud (링크 : https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app)에 Streamlit (Python Framework) 웹 응용 프로그램을 배포하는 방법에 대한 설명서는 Streamlit Cloud에 간단히 웹 애플리케이션을 배포하는 방법에 대해 매우 명확하게 설명합니다. 올바르게 배포되면 Streamlit 웹 응용 프로그램에 대한 직접 'lemelit.io'링크를 얻은 후 다른 사람들과 공유 하여이 간소화 웹 응용 프로그램을 시도해 볼 수 있습니다.
간소 클라우드에서 민감한 정보를 '비밀'/환경 변수 로 처리합니다.
Firebase Realtime Database의 개인 키 또는 챗Base Custom GPT LLM 모델 API 개인 키를이 GitHub 저장소에 직접 푸시하려고 할 때 '비밀'이 Github에서 노출된다는 보안 경고를 계속받습니다. 처음에는 신경 쓰지 않았지만 Firebase Realtime 데이터베이스의 개인 키가 계속 재설정되고 개인 키가 공개적으로 노출 될 때마다 취소되어 배포 된 Streamlit 웹 사이트 애플리케이션이 작업을 중단하도록 감지 될 때마다 취소 될 때 문제가되었으며, Firebase 웹 사이트에서 새로운 독특한 개인 키를 다시 한 번 촉진해야했으며,이 문제를 해결해야 할 것입니다. 다시 Github 저장소.
따라서 Heroku, AWS, Vercel 또는 기타 플랫폼에 응용 프로그램을 배포하든 간소 클라우드를위한 다양한 배포 플랫폼이 다양한 배포 플랫폼이 개인적으로 배치 된 애플리케이션에 '비밀'/환경 변수를 직접 추가 할 수 있으므로 Github에 노출 된 '비밀'정보의 보안 위험을 제거 할 수 있습니다.
특히 간소 클라우드의 경우, 간소 클라우드의 배포 된 응용 프로그램에 '비밀'/환경 변수를 직접 추가 하고이 문서 (https.streamlit.io/secrets-in- 샤링-argapps/)에 따라 코드에서 트림 클라우드에 배포 된 응용 프로그램에 추가 된 '비밀'/환경 변수를 사용하는 방법을 배울 수 있습니다.
다음은 Chatbase Custom GPT LLM Model API 및 Firebase (API)의 Themlebase (API)의 Telegram Chatbot에 대한이 유선형 웹 응용 프로그램에서 어떻게 수행했는지에 대한 예입니다.
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'))
출처 :