Spaces:
Paused
Paused
| import datetime | |
| import json | |
| import random | |
| import streamlit as st | |
| from openai import OpenAI | |
| client = OpenAI(api_key=st.secrets["OPENAI_API_KEY"]) | |
| import logging | |
| logger = logging.getLogger(__name__) | |
| logger.setLevel(logging.INFO) | |
| def get_system(): | |
| BIRTHYEAR = 1952 | |
| BIRTHMONTH = 5 | |
| OTHERBIRTHYEAR = 1984 | |
| now = datetime.datetime.now() | |
| with open("context.json") as f: | |
| context = ( | |
| json.load(f)["info"] | |
| .replace("[YEAR]", str(now.year)) | |
| .replace("[TODAY]", f"{now:%d-%m-%Y}") | |
| .replace("[BIRTHYEAR]", str(BIRTHYEAR)) | |
| .replace( | |
| "[AGE]", | |
| str((now - datetime.datetime(BIRTHYEAR, BIRTHMONTH, 1)).days // 365), | |
| ) | |
| .replace("[OTHERAGE]", str(now.year - OTHERBIRTHYEAR)) | |
| ) | |
| system = f"""Giuseppe è amnesico, ecco alcune informazioni su di lui: '{context}' . | |
| Di seguito, Giuseppe farà domande di cui non sa o non ricorda la risposta. Cerca di aiutarlo con risposte concise, in un italiano perfetto. | |
| """ | |
| return system | |
| def get_answer(input): | |
| system_content = get_system() | |
| response = client.chat.completions.create(model="gpt-3.5-turbo", | |
| messages=[ | |
| {"role": "system", "content": system_content}, | |
| {"role": "user", "content": input}, | |
| ]) | |
| ans = response.choices[0].message.content | |
| logger.info(f"Q: {input} - A: {ans}") | |
| return ans | |