seawolf2357 commited on
Commit
b4a6b7a
β€’
1 Parent(s): f604197

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -28
app.py CHANGED
@@ -5,38 +5,31 @@ import os
5
  # OpenAI API ν‚€ μ„€μ •
6
  openai.api_key = os.getenv("OPENAI_API_KEY")
7
 
8
- def generate_keyword_from_text(input_text):
9
- try:
10
- # OpenAI ChatCompletion 을 μ‚¬μš©ν•˜μ—¬ ν•œ μ€„μ˜ ν‚€μ›Œλ“œ μš”μ²­
11
- response = openai.ChatCompletion.create(
12
- model="gpt-3.5-turbo",
13
- messages=[{
14
- 'role': 'user',
15
- 'content': f"λ‹€μŒ ν…μŠ€νŠΈλ₯Ό λ°”νƒ•μœΌλ‘œ Pexels μ—μ„œ 잘 검색될 영문 ν‚€μ›Œλ“œ ν•œ 쀄을 μƒμ„±ν•˜μ„Έμš”: '{input_text}'"
16
- }]
17
- )
18
- # 첫 번째 choiceμ—μ„œ message contentλ₯Ό λ°›μ•„μ˜΄
19
- keyword_full_response = response['choices'][0]['message']['content']
20
-
21
- # κ°€μž₯ 첫 번째 라인만 μΆ”μΆœ
22
- keyword = keyword_full_response.split('\n', 1)[0].strip()
23
-
24
- # '""'둜 감싼 ν‚€μ›Œλ“œ 제거
25
- if keyword.startswith('"') and keyword.endswith('"'):
26
- keyword = keyword[1:-1].strip()
27
 
28
- return keyword
29
- except Exception as e:
30
- print(f"μ—λŸ¬ λ°œμƒ: {e}")
31
- return f"ν‚€μ›Œλ“œ 생성 쀑 μ—λŸ¬ λ°œμƒ: {e}"
 
 
 
 
 
 
 
 
32
 
33
  # Gradio μΈν„°νŽ˜μ΄μŠ€ μ„€μ •κ³Ό μ‹€ν–‰
34
  iface = gr.Interface(
35
- fn=generate_keyword_from_text,
36
- inputs=gr.Textbox(lines=2, placeholder="여기에 Pexels 검색을 μœ„ν•œ ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜μ„Έμš”."),
37
- outputs="text",
38
- title="GPTλ₯Ό μ΄μš©ν•œ Pexels 검색 ν‚€μ›Œλ“œ 생성",
39
- description="제곡된 ν…μŠ€νŠΈλ₯Ό λ°”νƒ•μœΌλ‘œ Pexels 검색에 μ‚¬μš©ν•  영문 ν‚€μ›Œλ“œλ₯Ό μžλ™ μƒμ„±ν•©λ‹ˆλ‹€."
40
  )
41
 
42
  iface.launch()
 
5
  # OpenAI API ν‚€ μ„€μ •
6
  openai.api_key = os.getenv("OPENAI_API_KEY")
7
 
8
+ def generate_keywords_and_search_images(input_text):
9
+ # μž…λ ₯ ν…μŠ€νŠΈλ₯Ό μ€„λ³„λ‘œ 뢄리
10
+ lines = input_text.strip().split('\n')
11
+ all_image_urls = []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
+ for line in lines:
14
+ # 각 쀄에 λŒ€ν•œ ν‚€μ›Œλ“œ 생성
15
+ keyword = generate_keyword_from_text(line)
16
+ if keyword.startswith("ν‚€μ›Œλ“œ 생성 쀑 μ—λŸ¬ λ°œμƒ"):
17
+ print(keyword)
18
+ continue # ν‚€μ›Œλ“œ 생성 μ‹€νŒ¨ μ‹œ, λ‹€μŒ μ€„λ‘œ λ„˜μ–΄κ°
19
+
20
+ # μƒμ„±λœ ν‚€μ›Œλ“œλ‘œ Pexels 검색
21
+ image_urls = search_pexels(keyword)
22
+ all_image_urls.extend(image_urls) # κ²€μƒ‰λœ 이미지 URL듀을 전체 λͺ©λ‘μ— μΆ”κ°€
23
+
24
+ return all_image_urls
25
 
26
  # Gradio μΈν„°νŽ˜μ΄μŠ€ μ„€μ •κ³Ό μ‹€ν–‰
27
  iface = gr.Interface(
28
+ fn=generate_keywords_and_search_images,
29
+ inputs=gr.Textbox(lines=5, placeholder="여기에 Pexels 검색을 μœ„ν•œ ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜μ„Έμš”. 각 μ€„λ§ˆλ‹€ λ³„λ„μ˜ 검색 ν‚€μ›Œλ“œκ°€ μƒμ„±λ©λ‹ˆλ‹€."),
30
+ outputs=gr.Gallery(),
31
+ title="GPT 및 Pexels APIλ₯Ό μ΄μš©ν•œ 닀쀑 이미지 검색",
32
+ description="제곡된 ν…μŠ€νŠΈμ˜ 각 쀄을 λ°”νƒ•μœΌλ‘œ Pexels 검색에 μ‚¬μš©ν•  영문 ν‚€μ›Œλ“œλ₯Ό μžλ™ μƒμ„±ν•˜κ³ , ν•΄λ‹Ή ν‚€μ›Œλ“œλ‘œ Pexelsμ—μ„œ 이미지λ₯Ό κ²€μƒ‰ν•©λ‹ˆλ‹€."
33
  )
34
 
35
  iface.launch()