yunuseduran commited on
Commit
5bc4da7
1 Parent(s): a01a515

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +63 -0
  2. requirements.txt +3 -0
app.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import time
3
+ import openai
4
+ import os
5
+ from dotenv import load_dotenv
6
+ from openai import OpenAI
7
+ client = OpenAI()
8
+
9
+ # Ortam değişkenlerini yükle
10
+ load_dotenv()
11
+ openai.api_key = os.getenv("OPENAI_API_KEY")
12
+
13
+ # Duygu analizi fonksiyonu
14
+ def sentiment_analysis(text):
15
+ try:
16
+ my_assistant = client.beta.assistants.create(
17
+ instructions="Sen duygu analizi asistanısın. Sana verilen metinleri kendi dillerinde duygu durumuna göre analiz et ve değerlendir. Cümleler farklı duygu durumlarını yansıtabilir. Metnin ana duygusunu ağır basan duyguyu ele al. Duygu durumu pozitif ise: 1, Negatif ise: -1 veya Nötr ise: 0 değerlerinden birini döndür. Senin yanıtın 1, 0 veya -1 sayılarından yalnızca birisi olmalıdır. Yanıtta başka bir şey yer almamalıdır.",
18
+ name="SenAssist",
19
+ #model="gpt-4-turbo",
20
+ model='gpt-3.5-turbo',
21
+ )
22
+ my_thread = client.beta.threads.create()
23
+ my_message = client.beta.threads.messages.create(
24
+ thread_id=my_thread.id,
25
+ role="user",
26
+ content=text)
27
+ my_run = client.beta.threads.runs.create(
28
+ thread_id=my_thread.id,
29
+ assistant_id=my_assistant.id
30
+ )
31
+ my_run = client.beta.threads.runs.retrieve(
32
+ thread_id=my_thread.id,
33
+ run_id=my_run.id
34
+ )
35
+ while my_run.status in ['queued', 'in_progress', 'cancelling']:
36
+ time.sleep(1) # Wait for 1 second
37
+ my_run = client.beta.threads.runs.retrieve(
38
+ thread_id=my_thread.id,
39
+ run_id=my_run.id
40
+ )
41
+ if my_run.status == 'completed':
42
+ # list messages for my_thread
43
+ new_messages = client.beta.threads.messages.list(thread_id=my_thread.id)
44
+ # determine response from new_messages
45
+ response = new_messages.data[0].content[0].text.value
46
+ return response
47
+ #print(f"Assistant response: {response}")
48
+ else:
49
+ return my_run.status
50
+ except Exception as e:
51
+ return str(e)
52
+
53
+ # Gradio arayüzü
54
+ iface = gr.Interface(
55
+ fn=sentiment_analysis,
56
+ inputs=gr.Textbox(lines=2, placeholder="Metni buraya giriniz..."),
57
+ outputs="text",
58
+ title="Duygu Analizi",
59
+ description="Girilen metnin duygu durumunu değerlendiren bir araç."
60
+ )
61
+
62
+ if __name__ == "__main__":
63
+ iface.launch()
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ gradio
2
+ openai
3
+ python-dotenv