Spaces:
Sleeping
Sleeping
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 |