Spaces:
Sleeping
Sleeping
# 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("Привет, мир!") |