Spaces:
Paused
Paused
File size: 1,648 Bytes
dcf6f0c 4bed6fd b39f806 46152dd 21b7e19 feabab6 be64225 4bed6fd b37eabc 21b7e19 dcf6f0c 5d92ad1 d8d8f1a 5d92ad1 dcf6f0c 34129b5 7bdd50b 5d92ad1 d8d8f1a f74ef39 34129b5 dcf6f0c 610a175 21b7e19 46152dd 1630497 46152dd 21b7e19 46152dd 610a175 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 61 62 63 |
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, iniziando con 'D: ', e voglio che tu mi fornisca le risposte, in maniera concisa.
Le risposte sono indirizzate a me, quindi usa sempre la seconda persona singolare nelle risposte, che inizieranno con 'R: '.
D: """
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("R: ", "").replace("?", " ").strip()
logger.info(f"Q: {input} - A: {ans}")
return ans
|