MathFrenchToast commited on
Commit
bd51214
·
1 Parent(s): 26e469b

doc: add more doc on env.example and rename stt, remove instrumentation if not locally run

Browse files
Files changed (4) hide show
  1. app.py +8 -5
  2. env.example +3 -1
  3. multiagents.py +2 -2
  4. tools/stt.py +7 -3
app.py CHANGED
@@ -11,8 +11,11 @@ from multiagents import MultiAgent
11
  from phoenix.otel import register
12
  from openinference.instrumentation.smolagents import SmolagentsInstrumentor
13
 
14
- register()
15
- SmolagentsInstrumentor().instrument()
 
 
 
16
 
17
  # (Keep Constants as is)
18
  # --- Constants ---
@@ -21,14 +24,13 @@ load_dotenv()
21
 
22
  max_questions = 20
23
 
24
-
25
  def run_and_submit_all(nb_questions: int, profile: gr.OAuthProfile | None):
26
  """
27
  Fetches all questions, runs my Agent on them, submits all answers,
28
  and displays the results.
29
  """
30
  # --- Determine HF Space Runtime URL and Repo URL ---
31
- space_id = os.getenv("SPACE_ID") # Get the SPACE_ID for sending link to the code
32
 
33
  if profile:
34
  username= f"{profile.username}"
@@ -96,8 +98,9 @@ def run_and_submit_all(nb_questions: int, profile: gr.OAuthProfile | None):
96
  agent_question = question_text
97
  if file_question_url:
98
  agent_question += f"\n\nFile URL: {file_question_url}"
99
-
100
  submitted_answer = agent(agent_question)
 
101
  answers_payload.append({"task_id": task_id, "submitted_answer": submitted_answer})
102
  results_log.append({"Task ID": task_id, "Question": question_text, "Submitted Answer": submitted_answer})
103
  except Exception as e:
 
11
  from phoenix.otel import register
12
  from openinference.instrumentation.smolagents import SmolagentsInstrumentor
13
 
14
+ # use space_host var to determine if running in HF space or locally, if so register local instrumentation
15
+ space_host_startup = os.getenv("SPACE_HOST")
16
+ if not space_host_startup:
17
+ register()
18
+ SmolagentsInstrumentor().instrument()
19
 
20
  # (Keep Constants as is)
21
  # --- Constants ---
 
24
 
25
  max_questions = 20
26
 
 
27
  def run_and_submit_all(nb_questions: int, profile: gr.OAuthProfile | None):
28
  """
29
  Fetches all questions, runs my Agent on them, submits all answers,
30
  and displays the results.
31
  """
32
  # --- Determine HF Space Runtime URL and Repo URL ---
33
+ space_id = os.getenv("SPACE_ID") # Get the SPACE_ID for sending link to the code
34
 
35
  if profile:
36
  username= f"{profile.username}"
 
98
  agent_question = question_text
99
  if file_question_url:
100
  agent_question += f"\n\nFile URL: {file_question_url}"
101
+
102
  submitted_answer = agent(agent_question)
103
+
104
  answers_payload.append({"task_id": task_id, "submitted_answer": submitted_answer})
105
  results_log.append({"Task ID": task_id, "Question": question_text, "Submitted Answer": submitted_answer})
106
  except Exception as e:
env.example CHANGED
@@ -1 +1,3 @@
1
- HF_TOKEN=<<your hf token>>
 
 
 
1
+ HF_TOKEN=<<your hf token>>
2
+ SPACE_ID=<<your hf sapce id>>
3
+ OPENAI_API_KEY=<<your open ai key>>
multiagents.py CHANGED
@@ -7,7 +7,7 @@ from smolagents import OpenAIServerModel
7
  from tools.fetch import fetch_webpage, search_web
8
  from smolagents import PythonInterpreterTool
9
  from tools.yttranscript import get_youtube_transcript, get_youtube_title_description
10
- from tools.stt import stt
11
  from tools.image import analyze_image
12
  from tools.mylogger import save_file_with_timestamp, mylog
13
  import myprompts
@@ -70,7 +70,7 @@ audiovideo_agent = CodeAgent(
70
  tools=[
71
  get_youtube_transcript,
72
  get_youtube_title_description,
73
- stt,
74
  analyze_image
75
  ],
76
  name="audiovideo_agent",
 
7
  from tools.fetch import fetch_webpage, search_web
8
  from smolagents import PythonInterpreterTool
9
  from tools.yttranscript import get_youtube_transcript, get_youtube_title_description
10
+ from tools.stt import get_text_transcript_from_audio_file
11
  from tools.image import analyze_image
12
  from tools.mylogger import save_file_with_timestamp, mylog
13
  import myprompts
 
70
  tools=[
71
  get_youtube_transcript,
72
  get_youtube_title_description,
73
+ get_text_transcript_from_audio_file,
74
  analyze_image
75
  ],
76
  name="audiovideo_agent",
tools/stt.py CHANGED
@@ -5,9 +5,11 @@ import subprocess
5
  import requests
6
  import uuid
7
  from smolagents import tool
 
 
8
 
9
  @tool
10
- def stt(file_url: str, language: str = "en-US") -> str:
11
  """
12
  Convert speech to text using local whisper model.
13
  This function downloads an audio file from a given URL, converts it to WAV format if necessary,
@@ -23,7 +25,9 @@ def stt(file_url: str, language: str = "en-US") -> str:
23
 
24
  file_name = uuid.uuid4().hex +".mp3"
25
 
26
- dest_folder = "c:\\Users\\mathi\\dev\\stt"
 
 
27
  file_path = os.path.join(dest_folder + "\\tmp", file_name)
28
  # 1. download the file from url (in pure python without wget or curl)
29
  if not os.path.exists(file_name):
@@ -64,5 +68,5 @@ def stt(file_url: str, language: str = "en-US") -> str:
64
  return text
65
 
66
  if __name__ == "__main__":
67
- transcript = stt("https://agents-course-unit4-scoring.hf.space/files/99c9cc74-fdc8-46c6-8f8d-3ce2d3bfeea3", )
68
  print(transcript)
 
5
  import requests
6
  import uuid
7
  from smolagents import tool
8
+ import dotenv
9
+ dotenv.load_dotenv()
10
 
11
  @tool
12
+ def get_text_transcript_from_audio_file(file_url: str, language: str = "en-US") -> str:
13
  """
14
  Convert speech to text using local whisper model.
15
  This function downloads an audio file from a given URL, converts it to WAV format if necessary,
 
25
 
26
  file_name = uuid.uuid4().hex +".mp3"
27
 
28
+ dest_folder = os.getenv("STT_FOLDER")
29
+ if not dest_folder:
30
+ dest_folder = '.'
31
  file_path = os.path.join(dest_folder + "\\tmp", file_name)
32
  # 1. download the file from url (in pure python without wget or curl)
33
  if not os.path.exists(file_name):
 
68
  return text
69
 
70
  if __name__ == "__main__":
71
+ transcript = get_text_transcript_from_audio_file("https://agents-course-unit4-scoring.hf.space/files/99c9cc74-fdc8-46c6-8f8d-3ce2d3bfeea3", )
72
  print(transcript)