import openai import time OPENAI_TRANSCRIPTION_MODEL='whisper-1' OPENAI_COMPLETION_MODEL = "gpt-4o-mini" TOKEN_LIMIT = 4096 openai_client = openai.OpenAI() def openai_query(prompt): response = openai_client.chat.completions.create( model = OPENAI_COMPLETION_MODEL, messages = [{'role': 'user', 'content': prompt} ], temperature = 0, max_tokens = TOKEN_LIMIT, top_p=1.0, frequency_penalty=0.0, presence_penalty=0.0) resp_text = response.choices[0].message.content return resp_text def nueva_ficha(resumen_historial, resumen_hoy): new_prompt = f'''Escribe una nueva ficha médica, considerando el historial médico: "{resumen_historial}", y también lo que ocurrió hoy: "{resumen_hoy}" ''' nueva = openai_query(new_prompt) return nueva def whisper_transcribe(fn, temperature=0): print('WT:', type(fn)) t0 = time.time() if isinstance(fn, str): audio_file = open(fn,'rb') # redundant? else: open('temp.wav','wb').write(fn) audio_file = 'temp.wav' whisper = openai_client.audio.transcriptions.create transcript = whisper(model=OPENAI_TRANSCRIPTION_MODEL, file = audio_file, language='es', temperature=0.0) # to do, explore temperature dt = round(time.time()-t0,2) transcript = transcript.text print(f'Whisper transcribe [dt={dt} secs]') return transcript def summarize(text): prompt = f"Resume todos los aspectos médicos de esta consulta: '{text}'" resp_text = openai_query(prompt) return resp_text