chatbot / app.py
gamza's picture
Update app.py
8de1fde
raw
history blame
1.6 kB
import gradio as gr
import pandas as pd
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
title = "๐Ÿ€๊ณ ๋ฏผ ํ•ด๊ฒฐ ๋„์„œ ์ถ”์ฒœ ์ฑ—๋ด‡๐Ÿ€"
description = "๊ณ ๋ฏผ์ด ๋ฌด์—‡์ธ๊ฐ€์š”? ๊ณ ๋ฏผ ํ•ด๊ฒฐ์„ ๋„์™€์ค„ ์ฑ…์„ ์ถ”์ฒœํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค"
examples = [["์š”์ฆ˜ ์ž ์ด ์•ˆ ์˜จ๋‹ค"]]
model = SentenceTransformer('jhgan/ko-sroberta-multitask')
df = pd.read_pickle('BookData_emb.pkl')
df_emb = df[['์„œํ‰์ž„๋ฒ ๋”ฉ']].copy()
def recommend(message):
embedding = model.encode(message)
df_emb['๊ฑฐ๋ฆฌ'] = df_emb['์„œํ‰์ž„๋ฒ ๋”ฉ'].map(lambda x: cosine_similarity([embedding], [x]).squeeze())
answer = df.loc[df_emb['๊ฑฐ๋ฆฌ'].idxmax()]
Book_title = answer['์ œ๋ชฉ']
Book_author = answer['์ž‘๊ฐ€']
Book_publisher = answer['์ถœํŒ์‚ฌ']
Book_comment = answer['์„œํ‰']
return Book_title
gr.ChatInterface(
fn=recommend,
textbox=gr.Textbox(placeholder="๋ง๊ฑธ์–ด์ฃผ์„ธ์š”..", container=False, scale=7),
title="์–ด๋–ค ์ฑ—๋ด‡์„ ์›ํ•˜์‹ฌ๋ฏธ๊นŒ?",
description="๋ฌผ์–ด๋ณด๋ฉด ๋‹ตํ•˜๋Š” ์ฑ—๋ด‡์ž„๋ฏธ๋‹ค.",
theme="soft",
examples=[["์•ˆ๋‡ฝ"], ["์š”์ฆ˜ ๋ฅ๋‹ค ใ… ใ… "], ["์ ์‹ฌ๋ฉ”๋‰ด ์ถ”์ฒœ๋ฐ”๋žŒ, ์งœ์žฅ ์งฌ๋ฝ• ํƒ 1"]],
retry_btn="๋‹ค์‹œ๋ณด๋‚ด๊ธฐ โ†ฉ",
undo_btn="์ด์ „์ฑ— ์‚ญ์ œ โŒ",
clear_btn="์ „์ฑ— ์‚ญ์ œ ๐Ÿ’ซ").launch()
# gr.Interface(
# fn=response,
# title=title,
# description=description,
# examples=examples,
# inputs=["text", "state"],
# outputs=["chatbot", "state"],
# theme="finlaymacklon/boxy_violet",
# ).launch()