...
/دمج روبوتات الدردشة مع واجهة Streamlit
دمج روبوتات الدردشة مع واجهة Streamlit
تعرف على كيفية دمج واجهة الدردشة Streamlit مع LLMs.
سنغطي ما يلي...
Introduction to chat elements
يوفر Streamlit بعض عناصر الدردشة المصممة خصيصًا بناء روبوتات دردشة تفاعلية. تتيح لنا هذه العناصر بناء حوار أسئلة وأجوبة بين المستخدم ومسؤول التعليم.
st.chat_input
: يعرض هذا عنصر واجهة مستخدم إدخال الدردشة الذي يسمح للمستخدم بكتابة الاستعلامات.st.chat_message
: يعرض هذا حاوية رسالة الدردشة التي تسمح للتطبيق بعرض الرسائل من المستخدم أو LLM.st.status
: يعرض هذا إخراج من العمليات طويلة الأمد ومكالمات API الخارجية حتى يتمكن المستخدم من الحصول على التحديثات أثناء عمل chatbot على استجابة.
Understanding the coding process
بناء روبوت محادثة باستخدام Streamlit وGroq وLlama LLM. سنبدأ بشرح الكود لفهم كيفية عمل العناصر والوظائف المختلفة.
سنبدأ بترميز البرنامج النصي الرئيسي app.py
:
import streamlit as stimport pandas as pdfrom chatbot import generate_answer# Set the general configuration of the main pagest.set_page_config(page_title="Chatbot",page_icon="🧊",layout="wide",initial_sidebar_state="expanded")# Set the titlest.title(":rainbow[LLM chatbot]")# Initialize chat historyif "messages" not in st.session_state:st.session_state.messages = []# Display chat messages from history on app rerunfor message in st.session_state.messages:with st.chat_message(message["role"]):st.markdown(message["content"])# Accept user inputif prompt := st.chat_input("How can I help you today?"):# Add user message to chat historyst.session_state.messages.append({"role": "user", "content": prompt})# Display user message in chat message containerwith st.chat_message("user"):st.markdown(prompt)# Display assistant response in chat message containerresponse = generate_answer(prompt)st.session_state.messages.append({"role": "assistant", "content": response})
في هذا الكود نقوم بالخطوات التالية:
السطرين 1-2 : نقوم باستيراد المكتبات الضرورية، بما في ذلك
streamlit
و ...