import streamlit as st from langchain_openai import ChatOpenAI from langchain.schema import AIMessage, HumanMessage, SystemMessage # Streamlit UI 설정 st.set_page_config(page_title="대화형 AI 봇-의료 상담", page_icon=":robot:") st.header("안녕하세요. 저는 의료 상담 AI 챗봇으로 말씀하시는 것을 기억합니다. 계속해서 질문해주시면 되요.") # 세션 메시지 초기화 if "sessionMessages" not in st.session_state: st.session_state.sessionMessages = [ SystemMessage(content="You are a renowned medical doctor.") ] # 대답 로드 함수 def load_answer(question): st.session_state.sessionMessages.append(HumanMessage(content=question)) assistant_answer = chat(st.session_state.sessionMessages) st.session_state.sessionMessages.append(AIMessage(content=assistant_answer.content)) return assistant_answer.content # 사용자 입력 받기 def get_text(): input_text = st.text_input("상담자: ", key="input") return input_text # ChatOpenAI 객체 생성 chat = ChatOpenAI(temperature=0.7) user_input = get_text() submit = st.button('상담하기') if submit: response = load_answer(user_input) st.subheader("Answer:") st.write(response, key=1)