testing-mvp / src /streamlit_app.py
Boris
new5
0820945
raw
history blame
3.82 kB
# import streamlit as st
# from langchain_core.messages import HumanMessage, AIMessage
# from get_classification import get_graph_class
# from datetime import datetime
# def message_to_dict(messages):
# result = []
# for message in messages:
# if isinstance(message, HumanMessage) or isinstance(message, AIMessage):
# print("message:", message.content)
# if message.content == "" or message.content is None:
# continue
# if isinstance(message, HumanMessage):
# result.append({"role": "user", "content": message.content})
# elif isinstance(message, AIMessage):
# result.append({"role": "assistant", "content": message.content})
# print("-" * 100)
# return result
# def find_last_bot_message(messages):
# """Находит последнее сообщение бота"""
# for message in messages[::-1]:
# if isinstance(message, AIMessage) and len(message.content) > 0:
# return message.content
# return None
# def display_chat_messages():
# """Отображает историю сообщений в чате"""
# for message in st.session_state.messages:
# with st.chat_message(message["role"]):
# st.markdown(message["content"])
# def save_broken_case():
# messages_dict = st.session_state.messages
# result_str = ""
# for elem in messages_dict:
# role = elem["role"]
# content = elem["content"]
# result_str += f"{role}: {content}\n"
# current_datetime = datetime.now()
# formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
# with open("/Users/admin/my_documents/retrieval_part/services/broken_cases.txt", "a") as file:
# file.write(f"{formatted_datetime}\n" + result_str + "\n" + "-" * 50 + "\n\n")
# def handle_user_input():
# """Обрабатывает ввод пользователя и генерирует ответ бота"""
# if prompt := st.chat_input("Введите ваш вопрос"):
# st.session_state.messages.append({"role": "user", "content": prompt})
# if prompt.lower().startswith("log"):
# save_broken_case()
# st.session_state.messages = []
# display_chat_messages()
# else:
# with st.chat_message("user"):
# st.markdown(prompt)
# if "bot" not in st.session_state:
# st.session_state.bot = get_graph_class(prompt)
# st.session_state.bot.invoke(prompt)
# # Извлекаем последнее сообщение бота
# last_bot_message = find_last_bot_message(st.session_state.bot.messages)
# st.session_state.messages.append(
# {"role": "assistant", "content": last_bot_message}
# )
# with st.chat_message("assistant"):
# st.markdown(last_bot_message)
# def clear_chat():
# """Очищает чат и пересоздает бота"""
# st.session_state.messages = []
# del st.session_state.bot
# def main():
# """Основная функция приложения"""
# # Заголовок приложения
# st.title("Чат-бот технической поддержки OpenVPN")
# # Кнопка очистки чата
# if st.button("Clear"):
# clear_chat()
# if "messages" not in st.session_state:
# st.session_state.messages = []
# # Отображение чата и обработка ввода
# display_chat_messages()
# handle_user_input()
# if __name__ == "__main__":
# main()
import streamlit as st
st.title("Моё приложение")
st.write("Привет, мир!")