Kyudan commited on
Commit
e7dcf3d
ยท
1 Parent(s): 8df7c3a

upload app

Browse files
Files changed (2) hide show
  1. app.py +50 -3
  2. requirements.txt +2 -0
app.py CHANGED
@@ -1,7 +1,54 @@
1
  import gradio as gr
 
 
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
 
 
 
 
 
5
 
6
- demo = gr.Interface(fn=greet, inputs="text", outputs="text")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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