File size: 1,385 Bytes
dcf6f0c
4bed6fd
b39f806
 
46152dd
21b7e19
4bed6fd
b37eabc
21b7e19
dcf6f0c
5d92ad1
d8d8f1a
5d92ad1
dcf6f0c
 
 
34129b5
 
 
7bdd50b
5d92ad1
d8d8f1a
 
 
 
f74ef39
34129b5
dcf6f0c
21b7e19
 
 
 
 
 
 
 
 
46152dd
21b7e19
46152dd
21b7e19
 
 
 
 
 
 
 
46152dd
 
4d5fcf9
 
 
 
 
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
import datetime
import json
import random

import streamlit as st
import openai


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}' Ora mi dimenticherò di quanto sopra, e ti farò delle domande, e voglio che tu mi fornisca le risposte, in maniera concisa, devi darmi del tu.
    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()

    print(f"{input} {ans}")

    return ans