mgokg commited on
Commit
c0c289e
·
verified ·
1 Parent(s): 1aee86c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -2
app.py CHANGED
@@ -9,6 +9,7 @@ from audiorecorder import audiorecorder
9
  # Umgebungsvariablen laden
10
  groq_api_key = os.getenv('groqwhisper')
11
  gemini_api_key = os.getenv('geminiapi')
 
12
 
13
  if not groq_api_key or not gemini_api_key:
14
  st.error("Bitte setze die Umgebungsvariablen 'groqwhisper' und 'geminiapi'")
@@ -41,6 +42,24 @@ if "chat_session" not in st.session_state:
41
  if "display_history" not in st.session_state:
42
  st.session_state.display_history = []
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  def process_audio(audio_data):
45
  """Verarbeitet Audiodaten und gibt Transkript zurück."""
46
  try:
@@ -90,8 +109,9 @@ if audio_bytes:
90
  if transcription.startswith("Fehler:"):
91
  st.error(transcription)
92
  else:
93
- #st.session_state.display_history.append(("user", transcription))
94
- full_prompt = f"{transcription}\nAntworte immer auf Deutsch"
 
95
  response = st.session_state.chat_session.send_message(full_prompt)
96
  response_text = response.candidates[0].content.parts[0].text if response.candidates else "Keine Antwort"
97
  messages.chat_message("assistant").write(f"{response_text}")
@@ -104,6 +124,8 @@ if audio_bytes:
104
  # Texteingabe verarbeiten
105
  user_input = st.text_input("Schreibe deine Frage:", key="user_input")
106
  if user_input:
 
 
107
  #st.session_state.display_history.append(("user", user_input))
108
  full_prompt = f"{user_input}\nAntworte immer auf Deutsch\n antworte kurz und knapp."
109
  response = st.session_state.chat_session.send_message(full_prompt)
 
9
  # Umgebungsvariablen laden
10
  groq_api_key = os.getenv('groqwhisper')
11
  gemini_api_key = os.getenv('geminiapi')
12
+ google_api_key = os.getenv('google_search')
13
 
14
  if not groq_api_key or not gemini_api_key:
15
  st.error("Bitte setze die Umgebungsvariablen 'groqwhisper' und 'geminiapi'")
 
42
  if "display_history" not in st.session_state:
43
  st.session_state.display_history = []
44
 
45
+
46
+ def websearch(prompt):
47
+ headers = {
48
+ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
49
+ }
50
+ url = f"https://www.googleapis.com/customsearch/v1?key={google_api_key}&cx={cx}&q={prompt}"
51
+ response = requests.get(url, headers=headers)
52
+ data = response.json() # JSON-Daten direkt verarbeiten
53
+ # Extrahieren des Textes aus den Ergebnissen
54
+ items = data.get('items', [])
55
+ results = [item['snippet'] for item in items]
56
+ result_text = '\n'.join(results)
57
+ # Formuliere die Antwort
58
+ search_query = f"{prompt} antworte kurz und knapp. antworte auf deutsch. du findest die antwort hier: {result_text}"
59
+ result = predict(search_query)
60
+ return result
61
+
62
+
63
  def process_audio(audio_data):
64
  """Verarbeitet Audiodaten und gibt Transkript zurück."""
65
  try:
 
109
  if transcription.startswith("Fehler:"):
110
  st.error(transcription)
111
  else:
112
+ #st.session_state.display_history.append(("user", transcription))
113
+ websearch = websearch(transcription)
114
+ full_prompt = f"{transcription}\nAntworte immer auf Deutsch\n Du findest die Antwort hier:\n{webearch}"
115
  response = st.session_state.chat_session.send_message(full_prompt)
116
  response_text = response.candidates[0].content.parts[0].text if response.candidates else "Keine Antwort"
117
  messages.chat_message("assistant").write(f"{response_text}")
 
124
  # Texteingabe verarbeiten
125
  user_input = st.text_input("Schreibe deine Frage:", key="user_input")
126
  if user_input:
127
+
128
+
129
  #st.session_state.display_history.append(("user", user_input))
130
  full_prompt = f"{user_input}\nAntworte immer auf Deutsch\n antworte kurz und knapp."
131
  response = st.session_state.chat_session.send_message(full_prompt)