Spaces:
Paused
Paused
import datetime | |
import json | |
import random | |
import streamlit as st | |
import openai | |
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"""Il mio nome utente è Giuseppe, ed ecco alcune informazioni su di me: '{context}' . | |
Di seguito, ti farò alcune domande di cui non ricordo la risposta, perché sono amnesico, e tu dovrai rispondermi in modo conciso. | |
""" | |
return system | |
def get_answer(input): | |
system_content = get_system() | |
openai.api_key = st.secrets["OPENAI_API_KEY"] | |
response = openai.ChatCompletion.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 | |