Spaces:
Paused
Paused
File size: 1,540 Bytes
dcf6f0c 4bed6fd b39f806 46152dd 21b7e19 feabab6 be64225 4bed6fd b37eabc 21b7e19 dcf6f0c 5d92ad1 d8d8f1a 5d92ad1 dcf6f0c 34129b5 7bdd50b 5d92ad1 d8d8f1a f74ef39 34129b5 dcf6f0c 90ae5a7 21b7e19 46152dd 1630497 46152dd 21b7e19 46152dd 4d5fcf9 feabab6 4d5fcf9 feabab6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
import datetime
import json
import random
import streamlit as st
import openai
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
def get_prompt():
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))
)
prompt = f"""Sono amnesico, ecco alcune informazioni su di me: '{context}' . Purtroppo non riesco a ricordarle da solo. Ora dunque ti farò delle domande, e voglio che tu mi fornisca le risposte, in maniera concisa. Cerca di usare la seconda persona singolare nelle risposte.
Domanda:"""
return prompt
def get_answer(input):
prompt = get_prompt()
openai.api_key = st.secrets["OPENAI_API_KEY"]
response = openai.Completion.create(
model="text-davinci-003",
prompt=prompt + input,
temperature=0,
max_tokens=520,
top_p=1.0,
frequency_penalty=0.2,
presence_penalty=0.0,
)
ans = response["choices"][0]["text"].replace("Risposta:", "").strip()
logger.info(f"Q: {input} - A: {ans}")
return ans
|