ll7098ll commited on
Commit
22032f3
Β·
verified Β·
1 Parent(s): ed8ec9e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -38
app.py CHANGED
@@ -1,46 +1,51 @@
1
- # -*- coding: utf-8 -*-
2
- """Untitled1.ipynb
3
- Automatically generated by Colab.
4
- Original file is located at
5
- https://colab.research.google.com/drive/1huUmrgIbG1wwEKxs3zsCdRNir_IY5ICf
6
- """
7
-
8
  import os
 
 
9
 
10
- from openai import OpenAI
11
- import openai
12
-
13
- openai_api_key = os.getenv("OPENAI_API_KEY")
14
-
15
- client = openai.OpenAI(api_key = openai_api_key)
16
-
17
- def openai_chat(text):
18
- from openai import OpenAI
19
-
20
- completion = client.chat.completions.create(
21
- model="gpt-4o",
22
- messages=[
23
- {"role": "system", "content": "μ΄ˆλ“±ν•™κ΅ 6ν•™λ…„ μˆ˜μ€€ λ²”μœ„ λ‚΄μ—μ„œ ν•™μƒμ˜ μ§ˆλ¬Έμ— μΉœμ ˆν•˜κ²Œ λ‹΅ν•˜λŠ” ꡐ사 μ—­ν• , μ„€λͺ…은 ꡬ체적인 μ˜ˆμ‹œλ₯Ό λ“€μ–΄μ„œ, μ–΄λ €μš΄ λ‹¨μ–΄λŠ” λ³„λ„λ‘œ μ„€λͺ…ν•΄μ€˜. μž˜ν•˜λ©΄ 10λ‹¬λŸ¬μ˜ νŒμ„ μ€„κ²Œ."},
24
- {"role": "user", "content": text}
25
- ],
26
- temperature=1,
27
- max_tokens=1000,
28
- top_p=0.9,
29
- frequency_penalty=0,
30
- presence_penalty=0
 
 
31
  )
32
 
33
- return completion.choices[0].message.content
34
-
35
- openai_chat("ν•œκΈ€μ€ λˆ„κ°€ λ§Œλ“€μ—ˆμ–΄?")
36
 
37
- import gradio as gr
 
 
 
 
38
 
39
- with gr.Blocks() as demo:
40
- Q = gr.Textbox(label="질문", placeholder="μ§ˆλ¬Έμ„ λ„£μ–΄μ£Όμ„Έμš”.")
41
- btn = gr.Button("μ§ˆλ¬Έν•˜κΈ°")
42
- A = gr.TextArea(label="AI μ„ μƒλ‹˜μ˜ μ„€λͺ…", placeholder="AI μ„ μƒλ‹˜μ΄ λ‹΅λ³€ 쀑 μž…λ‹ˆλ‹€.")
43
 
44
- btn.click(openai_chat, inputs=Q, outputs=A)
 
 
 
 
 
45
 
46
- demo.launch()
 
 
 
 
 
 
 
 
 
1
  import os
2
+ import google.generativeai as genai
3
+ import gradio as gr
4
 
5
+ genai.configure(api_key=os.environ["GEMINI_API_KEY"])
6
+
7
+ genai.configure(api_key=GEMINI_API_KEY)
8
+
9
+ generation_config = {
10
+ "temperature": 1,
11
+ "top_p": 0.95,
12
+ "top_k": 64,
13
+ "max_output_tokens": 8192,
14
+ "response_mime_type": "text/plain",
15
+ }
16
+ safety_settings = [
17
+ {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
18
+ {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
19
+ {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
20
+ {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
21
+ ]
22
+
23
+ model = genai.GenerativeModel(
24
+ model_name="gemini-1.5-pro",
25
+ safety_settings=safety_settings,
26
+ generation_config=generation_config,
27
+ system_instruction="ꡐ사가 ν•™μŠ΅ λͺ©ν‘œλ₯Ό μž…λ ₯ν•˜λ©΄, 학생듀이 ν•™μŠ΅ λͺ©ν‘œμ— 도달할 수 있게 μ§ˆλ¬Έμ„ 계속 ν•΄μ€˜, 학생듀은 λ„€ μ§ˆλ¬Έμ— 닡을 ν•  것이야. 그러면 λ°”λ‘œ 닡을 μ œμ‹œν•˜μ§€ 말고 μ§ˆλ¬Έν˜•νƒœλ‘œ ν”Όλ“œλ°±μ„ ν•΄μ€˜. μ§ˆλ¬Έμ„ ν†΅ν•΄μ„œ 학생듀이 슀슀둜 ν•™μŠ΅ λͺ©ν‘œλ₯Ό 도달할 수 μžˆλ„λ‘ λ„μ™€μ€˜.",
28
  )
29
 
30
+ chat_session = model.start_chat(history=[])
 
 
31
 
32
+ def chatbot(message, history):
33
+ """
34
+ μ±—λ΄‡κ³Όμ˜ λŒ€ν™”λ₯Ό μ²˜λ¦¬ν•˜λŠ” ν•¨μˆ˜
35
+ """
36
+ global chat_session
37
 
38
+ # μƒˆλ‘œμš΄ λ©”μ‹œμ§€κ°€ μž…λ ₯되면 챗봇에 전달
39
+ response = chat_session.send(message)
40
+ history.append((message, response))
41
+ return history, response
42
 
43
+ iface = gr.ChatInterface(
44
+ fn=chatbot,
45
+ title="ν•™μŠ΅ 챗봇",
46
+ description="ν•™μŠ΅ λͺ©ν‘œλ₯Ό μž…λ ₯ν•˜κ³  챗봇과 λŒ€ν™”ν•΄λ³΄μ„Έμš”!",
47
+ theme="compact",
48
+ )
49
 
50
+ # μ‹€ν–‰
51
+ iface.launch(share=True)