|
|
|
import streamlit as st |
|
|
|
|
|
from langchain.chat_models import ChatOpenAI |
|
from langchain.schema import ( |
|
AIMessage, |
|
HumanMessage, |
|
SystemMessage |
|
) |
|
|
|
|
|
st.set_page_config(page_title="LangChain 이라떼", page_icon=":robot:") |
|
st.header("안녕하세요. 저는 이라떼 짹짹이입니다. 무엇을 도와드릴까요?") |
|
|
|
|
|
|
|
if "sessionMessages" not in st.session_state: |
|
st.session_state.sessionMessages = [ |
|
SystemMessage(content="당신은 만능 척척박사입니다. 무엇이든 알고 있는 디지털 비서입니다.") |
|
] |
|
|
|
|
|
|
|
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 |
|
|
|
|
|
chat = ChatOpenAI(temperature=0) |
|
|
|
|
|
|
|
|
|
user_input=get_text() |
|
submit = st.button('생성') |
|
|
|
if submit: |
|
|
|
response = load_answer(user_input) |
|
st.subheader("답변 :") |
|
|
|
st.write(response,key= 1) |
|
|
|
|