Spaces:
Build error
Build error
| import re | |
| import unicodedata | |
| import streamlit as st | |
| from generator import generate_response | |
| from scraper import get_stock_info | |
| st.title("株価お知らせBot") | |
| stock_code = st.text_input("株コード", placeholder="株コード", max_chars=4, help='4桁の数字') | |
| if "content" not in st.session_state: | |
| st.write("はじめに、株コードを指定してください。") | |
| if st.button("株決定"): | |
| content = get_stock_info(stock_code) | |
| content = unicodedata.normalize('NFKD', content) | |
| st.session_state.content = re.sub('[\r\t\n]+', ' ', content) | |
| # メッセージがない時 | |
| if "messages" not in st.session_state.keys(): | |
| st.session_state.messages = [{"role": "assistant", "content": "何か御用ですか?"}] | |
| # チャット内容の表示 | |
| for message in st.session_state.messages: | |
| with st.chat_message(message["role"]): | |
| st.write(message["content"]) | |
| # ユーザーの質問 | |
| if prompt := st.chat_input(): | |
| st.session_state.messages.append({"role": "user", "content": prompt}) | |
| with st.chat_message("user"): | |
| st.write(prompt) | |
| # AIによる回答 | |
| if st.session_state.messages[-1]["role"] != "assistant": | |
| with st.chat_message("assistant"): | |
| with st.spinner("考え中.."): | |
| response = generate_response(st, prompt) | |
| st.write(response) | |
| message = {"role": "assistant", "content": response} | |
| st.session_state.messages.append(message) | |