====== A3Dbot Web App bouwen 2 ====== <= [[start|Terug naar start]]\\ <- [[projecten|Terug naar A3Dbot Start]]\\ <- -- [[a3d_bot_bouwen|Web Chat App bouwen 1]]\\ [[https://github.com/AdrieVanDijke/FinalChatBotCat|A3D GitHub repo: FinalChatBotCat]]. Uiteindelijke chatbot. ===== Doel ===== 🔸 Een Python/Streamlit applicatie bouwen die gebruikersvragen beantwoord en als bron voor het antwoord zoekt in een Pinecone Vector database. ===== Bronnen ===== [[https://docs.streamlit.io/knowledge-base/tutorials/build-conversational-apps|Bouw een Chatbot met streamlet]]\\ [[https://www.youtube.com/watch?v=sBhK-2K9bUc|Bijbehoorende Video op YouTube]]\\ [[https://www.youtube.com/watch?v=1vQdFx46FcY|How To Build ChatGPT Clone With Streamlit and LangChain | Python]]\\ [[https://python.langchain.com/docs/use_cases/question_answering/conversational_retrieval_agents|Conversational Retrieval Agents]]✨\\ ===== Start ===== [[https://www.youtube.com/watch?v=bupx08ZgSFg|Video YouTube: Tutorial Chat with any Website using Python and Langchain (LATEST VERSION)]] Retriever met geheugen\\ [[https://github.com/alejandro-ao/chat-with-websites|Bijbehoordende Reposetory op GitHub]]\\ 🔸 Bouw de chat-bot Gebruikers interface\\ -- -> met streamlit\\ -- -> Eerste gedeelte van de video\\ 🔸 Haal gegevens op uit Pinecone verctor database\\ -- -> Vanaf minuut 49\\ -- -> Maar voeg eerst geheugen toe en herformuleer de vraag\\ 🔸 Als het de documenten uit de database komen deze herschikken zodat meest relevante documenten als eerste en laatste worden doorgegeven aan het llm. Gebruik van LongContextReorder\\ 🔸 Vraag een antwoord te halen uit de content met een llm (OpenAI)\\ 🔸 Herformuleren van het antwoord //(toon en structuur)// 🔹 //Mogelijk nog een paar stappen tussenvoegen indien nodig// ==== Streamlit Gebruikersinterface ==== -> Aangepaste afbeelding of icon in de chat app: with st.chat_message('assistant', avatar='./bot-icon.png'): st.write('Hello world!')