IAMTFRMZA commited on
Commit
ad10eed
Β·
verified Β·
1 Parent(s): 4347999

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -17
app.py CHANGED
@@ -3,45 +3,52 @@ import openai
3
  import os
4
  import time
5
 
6
- # 🧠 Load secrets
7
  OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
8
  ASSISTANT_ID = os.getenv("OPENAI_ASSISTANT_ID")
9
 
10
- print("πŸ” API Key Set:", bool(OPENAI_API_KEY))
11
- print("πŸ€– Assistant ID Set:", bool(ASSISTANT_ID))
12
-
13
  openai.api_key = OPENAI_API_KEY
14
 
15
  def chat_with_assistant(message):
16
  try:
17
  if not OPENAI_API_KEY or not ASSISTANT_ID:
18
- return "🚫 Secrets are missing. Check Hugging Face settings."
19
-
20
- print(f"πŸ“¨ User message: {message}")
21
 
 
22
  thread = openai.beta.threads.create()
23
- openai.beta.threads.messages.create(thread_id=thread.id, role="user", content=message)
24
- run = openai.beta.threads.runs.create(thread_id=thread.id, assistant_id=ASSISTANT_ID)
25
-
26
- # Poll until complete
 
 
 
 
 
 
 
 
 
27
  while True:
28
- run_status = openai.beta.threads.runs.retrieve(thread_id=thread.id, run_id=run.id)
 
 
 
29
  if run_status.status == "completed":
30
  break
31
  elif run_status.status == "failed":
32
- print("❌ Assistant run failed")
33
- return "❌ Assistant run failed"
34
  time.sleep(1)
35
 
 
36
  messages = openai.beta.threads.messages.list(thread_id=thread.id)
37
  for msg in reversed(messages.data):
38
  if msg.role == "assistant":
39
- print("βœ… Assistant response:", msg.content[0].text.value)
40
  return msg.content[0].text.value
41
 
42
- return "⚠️ Assistant did not reply."
 
43
  except Exception as e:
44
- print("πŸ’₯ Error:", str(e))
45
  return f"❌ Error: {str(e)}"
46
 
47
  demo = gr.Interface(fn=chat_with_assistant, inputs="text", outputs="text", title="LOR Chat Assistant")
 
3
  import os
4
  import time
5
 
6
+ # Load secrets from HF Space secrets
7
  OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
8
  ASSISTANT_ID = os.getenv("OPENAI_ASSISTANT_ID")
9
 
 
 
 
10
  openai.api_key = OPENAI_API_KEY
11
 
12
  def chat_with_assistant(message):
13
  try:
14
  if not OPENAI_API_KEY or not ASSISTANT_ID:
15
+ return "🚫 Missing OpenAI credentials or Assistant ID"
 
 
16
 
17
+ # Create thread + add user message
18
  thread = openai.beta.threads.create()
19
+ openai.beta.threads.messages.create(
20
+ thread_id=thread.id,
21
+ role="user",
22
+ content=message
23
+ )
24
+
25
+ # Run the assistant
26
+ run = openai.beta.threads.runs.create(
27
+ thread_id=thread.id,
28
+ assistant_id=ASSISTANT_ID
29
+ )
30
+
31
+ # Wait until complete
32
  while True:
33
+ run_status = openai.beta.threads.runs.retrieve(
34
+ thread_id=thread.id,
35
+ run_id=run.id
36
+ )
37
  if run_status.status == "completed":
38
  break
39
  elif run_status.status == "failed":
40
+ return "❌ Assistant failed to generate a response."
 
41
  time.sleep(1)
42
 
43
+ # Fetch reply
44
  messages = openai.beta.threads.messages.list(thread_id=thread.id)
45
  for msg in reversed(messages.data):
46
  if msg.role == "assistant":
 
47
  return msg.content[0].text.value
48
 
49
+ return "⚠️ No assistant reply found."
50
+
51
  except Exception as e:
 
52
  return f"❌ Error: {str(e)}"
53
 
54
  demo = gr.Interface(fn=chat_with_assistant, inputs="text", outputs="text", title="LOR Chat Assistant")