Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
@@ -48,49 +48,39 @@ messages = [
|
|
48 |
prompt = ChatPromptTemplate.from_messages(messages)
|
49 |
|
50 |
from langchain.chat_models import ChatOpenAI
|
51 |
-
from langchain.chains import
|
52 |
|
53 |
chain_type_kwargs = {"prompt": prompt}
|
54 |
|
55 |
-
chain =
|
56 |
llm=llm,
|
57 |
chain_type="stuff",
|
58 |
retriever=retriever,
|
59 |
-
return_source_documents=
|
60 |
chain_type_kwargs=chain_type_kwargs,
|
61 |
reduce_k_below_max_tokens=True,
|
62 |
verbose=True,
|
63 |
)
|
64 |
|
|
|
65 |
query = "행복한 인생이란?"
|
66 |
-
result = chain(query)
|
67 |
-
|
68 |
-
|
69 |
-
for doc in result['source_documents']:
|
70 |
-
print('내용 : ' + doc.page_content[0:100].replace('\n', ' '))
|
71 |
-
print('파일 : ' + doc.metadata['source'])
|
72 |
-
print('페이지 : ' + str(doc.metadata['page']))
|
73 |
-
|
74 |
-
|
75 |
-
def respond(message, chat_history): # 채팅봇의 응답을 처리하는 함수를 정의합니다.
|
76 |
-
|
77 |
-
result = chain(message)
|
78 |
|
|
|
|
|
|
|
79 |
bot_message = result['answer']
|
|
|
|
|
|
|
|
|
80 |
|
81 |
-
|
82 |
-
bot_message += '[' + str(i+1) + '] ' + doc.metadata['source'] + '(' + str(doc.metadata['page']) + ') '
|
83 |
-
|
84 |
-
chat_history.append((message, bot_message)) # 채팅 기록에 사용자의 메시지와 봇의 응답을 추가합니다.
|
85 |
-
|
86 |
-
return "", chat_history # 수정된 채팅 기록을 반환합니다.
|
87 |
-
|
88 |
-
with gr.Blocks(theme='gstaff/sketch') as demo: # gr.Blocks()를 사용하여 인터페이스를 생성합니다.
|
89 |
gr.Markdown("# 안녕하세요. 이태석 신부와 대화해보세요. \n 답변 생성에 조금 시간이 소요될 수 있습니다.")
|
90 |
-
chatbot = gr.Chatbot(label="채팅창")
|
91 |
-
msg = gr.Textbox(label="입력")
|
92 |
-
clear = gr.Button("초기화")
|
93 |
|
94 |
-
msg.submit(respond, [msg, chatbot], [msg, chatbot])
|
95 |
-
clear.click(lambda: None, None, chatbot, queue=False)
|
96 |
-
demo.launch(debug=True)
|
|
|
48 |
prompt = ChatPromptTemplate.from_messages(messages)
|
49 |
|
50 |
from langchain.chat_models import ChatOpenAI
|
51 |
+
from langchain.chains import ConversationalRetrievalChain
|
52 |
|
53 |
chain_type_kwargs = {"prompt": prompt}
|
54 |
|
55 |
+
chain = ConversationalRetrievalChain.from_llm(
|
56 |
llm=llm,
|
57 |
chain_type="stuff",
|
58 |
retriever=retriever,
|
59 |
+
return_source_documents=False,
|
60 |
chain_type_kwargs=chain_type_kwargs,
|
61 |
reduce_k_below_max_tokens=True,
|
62 |
verbose=True,
|
63 |
)
|
64 |
|
65 |
+
chat_history = []
|
66 |
query = "행복한 인생이란?"
|
67 |
+
result = chain({"question": query, "chat_history": chat_history})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
|
69 |
+
def respond(message, chat_history):
|
70 |
+
result = chain({"question": message, "chat_history": chat_history})
|
71 |
+
|
72 |
bot_message = result['answer']
|
73 |
+
|
74 |
+
chat_history.append((message, bot_message))
|
75 |
+
|
76 |
+
return "", chat_history
|
77 |
|
78 |
+
with gr.Blocks(theme='gstaff/sketch') as demo:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
gr.Markdown("# 안녕하세요. 이태석 신부와 대화해보세요. \n 답변 생성에 조금 시간이 소요될 수 있습니다.")
|
80 |
+
chatbot = gr.Chatbot(label="채팅창")
|
81 |
+
msg = gr.Textbox(label="입력")
|
82 |
+
clear = gr.Button("초기화")
|
83 |
|
84 |
+
msg.submit(respond, [msg, chatbot], [msg, chatbot])
|
85 |
+
clear.click(lambda: None, None, chatbot, queue=False)
|
86 |
+
demo.launch(debug=True)
|