Spaces:
Sleeping
Sleeping
Kyudan
commited on
Commit
ยท
e7dcf3d
1
Parent(s):
8df7c3a
upload app
Browse files- app.py +50 -3
- requirements.txt +2 -0
app.py
CHANGED
@@ -1,7 +1,54 @@
|
|
1 |
import gradio as gr
|
|
|
|
|
|
|
2 |
|
3 |
-
|
4 |
-
|
|
|
|
|
|
|
|
|
|
|
5 |
|
6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
demo.launch()
|
|
|
1 |
import gradio as gr
|
2 |
+
from langchain.embeddings.huggingface import HuggingFaceEmbeddings
|
3 |
+
from langchain.vectorstores import FAISS
|
4 |
+
from openai import OpenAI
|
5 |
|
6 |
+
YOUR_OPENAI_API_KEY = "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"
|
7 |
+
# ์๋ฒ ๋ฉ ๋ชจ๋ธ ๋ก๋
|
8 |
+
embedding_model_name = "snunlp/KR-SBERT-V40K-klueNLI-augSTS"
|
9 |
+
embedding_model = HuggingFaceEmbeddings(
|
10 |
+
model_name=embedding_model_name,
|
11 |
+
encode_kwargs={"normalize_embeddings": True},
|
12 |
+
)
|
13 |
|
14 |
+
# vector DB ๋ก๋๋
|
15 |
+
save_path = "./my_faiss_index"
|
16 |
+
vectorstore = FAISS.load_local(save_path, embedding_model,allow_dangerous_deserialization=True)
|
17 |
+
retriever = vectorstore.as_retriever(search_kwargs={"k": 3})
|
18 |
+
|
19 |
+
|
20 |
+
|
21 |
+
def chatbot(input_question):
|
22 |
+
basic_docs = retriever.invoke(input_question)
|
23 |
+
context = "\n".join([doc.page_content for doc in basic_docs])
|
24 |
+
|
25 |
+
client = OpenAI(
|
26 |
+
api_key=YOUR_OPENAI_API_KEY)
|
27 |
+
|
28 |
+
# question๊ณผ context๋ฅผ message์ ์ฝ์
|
29 |
+
completion = client.chat.completions.create(
|
30 |
+
model="gpt-4o-mini",
|
31 |
+
messages=[
|
32 |
+
{
|
33 |
+
"role": "user",
|
34 |
+
"content": f"""๋น์ ์ ๋ฐ๋์ฒด์ ์ฐจ์ธ๋๋ฐ๋์ฒดํ๊ณผ์ ๋ํด์ ์ค๋ช
ํ๋ Assistant์
๋๋ค.
|
35 |
+
์ฐจ์ธ๋๋ฐ๋์ฒดํ๊ณผ๋ ํ๊ตญ ์์ธ์ ์ค์๋ํ๊ต์ ์ฐฝ์ICT๊ณต๊ณผ๋ํ์ ์ค๋ฆฝ๋ ํ๊ณผ์
๋๋ค.
|
36 |
+
๋ค์ ๋งฅ๋ฝ์ ๋ง๊ฒ ์ง๋ฌธ์ ๋ตํ์ธ์.
|
37 |
+
|
38 |
+
๋งฅ๋ฝ: {context}
|
39 |
+
|
40 |
+
์ง๋ฌธ: {input_question}
|
41 |
+
"""
|
42 |
+
}
|
43 |
+
]
|
44 |
+
)
|
45 |
+
|
46 |
+
|
47 |
+
|
48 |
+
return completion.choices[0].message.content
|
49 |
+
|
50 |
+
|
51 |
+
|
52 |
+
|
53 |
+
demo = gr.Interface(fn=chatbot, inputs="text", outputs="text")
|
54 |
demo.launch()
|
requirements.txt
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
langchain==0.3.13
|
2 |
+
openai==1.58.1
|