davidefiocco commited on
Commit
53e30d5
·
1 Parent(s): ad63a1e

Move to chatGPT to lower costs

Browse files
Files changed (3) hide show
  1. context.json +1 -1
  2. test_answers.py +1 -1
  3. utils.py +13 -15
context.json CHANGED
@@ -1,3 +1,3 @@
1
- {"info": "Sono Giuseppe Fiocco. Ho [AGE] anni. Sono nato nel mese di maggio, nell'anno 1952. Sono nato a Verona. Ho perso la memoria a causa di un'encefalite virale a gennaio 2021. Siamo nell'anno [YEAR] e la data di oggi è [TODAY]. I medici dicono che sto migliorando lentamente. Il mio codice fiscale é FCCGPP52E0etcetc. Mi sono laureato in Ingegneria elettronica a Padova. Lavoravo come ingegnere elettronico, ora sono in pensione. Ho una passione per le radio, e il mio identificativo di radioamatore è IZ3CAQ. Mi piace giocare a biliardo e passo le mie giornate a fare puzzle o a giocare con le carte. Ho un figlio di nome Davide. Davide ha 38 anni. Davide si prende cura di me e vive con me a Villafranca di Verona. L'indirizzo di casa mia è Corso Vittorio Emanuele II. La mia ex-moglie si chiama Raffaella e vive a Verona. Con Raffaella non andavo molto d'accordo, ma ora ho rapporti cordiali con lei. Raffaella sta bene. Alessandro, Giovanni e Grazia sono i miei fratelli e stanno bene. I miei genitori si chiamavano Gina e Davide. I miei cugini sono Giuliano, Maurizio, Paolo. La mia psicologa si chiama Ylenia. Di solito pranzo alle 13 e ceno alle 20."
2
  }
3
 
 
1
+ {"info": "Sono Giuseppe Fiocco. Ho [AGE] anni. Sono nato nel mese di maggio, nell'anno 1952. Sono nato a Verona. Ho perso la memoria a causa di un'encefalite virale a gennaio 2021. Siamo nell'anno [YEAR] e la data di oggi è [TODAY]. I medici dicono che sto migliorando lentamente. Il mio codice fiscale é FCCGPP52E0etcetc. Mi sono laureato in Ingegneria elettronica a Padova. Lavoravo come ingegnere elettronico, ora sono in pensione. Ho una passione per le radio, e il mio identificativo di radioamatore è IZ3CAQ. Mi piace giocare a biliardo e passo le mie giornate a fare puzzle o a giocare con le carte. Ho un figlio di nome Davide. Davide ha 38 anni. Davide si prende cura di me e vive con me a Villafranca di Verona. L'indirizzo di casa mia è Corso Vittorio Emanuele II. Mia (ex) moglie si chiama Raffaella e vive a Verona, abbiamo divorziato e non mi sono risposato. Con Raffaella non andavo molto d'accordo, ma ora ho rapporti cordiali con lei e mi aiuta. Raffaella sta bene. Alessandro, Giovanni e Grazia sono i miei fratelli e stanno bene. I miei genitori si chiamavano Gina e Davide. I miei cugini sono Giuliano, Maurizio, Paolo. La mia psicologa si chiama Ylenia. Di solito pranzo alle 13 e ceno alle 20."
2
  }
3
 
test_answers.py CHANGED
@@ -4,7 +4,7 @@ from utils import get_answer
4
  def test_name():
5
  q = "Come mi chiamo?"
6
  a = get_answer(q)
7
- assert "Giuseppe Fiocco" in a
8
 
9
 
10
  def test_birthplace():
 
4
  def test_name():
5
  q = "Come mi chiamo?"
6
  a = get_answer(q)
7
+ assert "Giuseppe" in a
8
 
9
 
10
  def test_birthplace():
utils.py CHANGED
@@ -10,7 +10,7 @@ logger = logging.getLogger(__name__)
10
  logger.setLevel(logging.INFO)
11
 
12
 
13
- def get_prompt():
14
 
15
  BIRTHYEAR = 1952
16
  BIRTHMONTH = 5
@@ -30,30 +30,28 @@ def get_prompt():
30
  .replace("[OTHERAGE]", str(now.year - OTHERBIRTHYEAR))
31
  )
32
 
33
- prompt = f"""Ecco alcune informazioni su di me: '{context}' .
34
- Rispondi alla domanda, rivolgendoti a me, usando la seconda persona singolare:
35
- Io: """
36
 
37
- return prompt
38
 
39
 
40
  def get_answer(input):
41
 
42
- prompt = get_prompt()
43
 
44
  openai.api_key = st.secrets["OPENAI_API_KEY"]
45
 
46
- response = openai.Completion.create(
47
- model="text-davinci-003",
48
- prompt=prompt + input + "\nTu: ",
49
- temperature=0,
50
- max_tokens=520,
51
- top_p=1.0,
52
- frequency_penalty=0.2,
53
- presence_penalty=0.0,
54
  )
55
 
56
- ans = response["choices"][0]["text"].replace("Tu: ", "").replace("?", " ").strip()
57
 
58
  logger.info(f"Q: {input} - A: {ans}")
59
 
 
10
  logger.setLevel(logging.INFO)
11
 
12
 
13
+ def get_system():
14
 
15
  BIRTHYEAR = 1952
16
  BIRTHMONTH = 5
 
30
  .replace("[OTHERAGE]", str(now.year - OTHERBIRTHYEAR))
31
  )
32
 
33
+ system = f"""Il mio nome utente è Giuseppe, ed ecco alcune informazioni su di me: '{context}' .
34
+ Di seguito, ti farò alcune domande di cui non ricordo la risposta, perché sono amnesico, e tu dovrai rispondermi in modo conciso.
35
+ """
36
 
37
+ return system
38
 
39
 
40
  def get_answer(input):
41
 
42
+ system_content = get_system()
43
 
44
  openai.api_key = st.secrets["OPENAI_API_KEY"]
45
 
46
+ response = openai.ChatCompletion.create(
47
+ model="gpt-3.5-turbo",
48
+ messages=[
49
+ {"role": "system", "content": system_content},
50
+ {"role": "user", "content": input},
51
+ ],
 
 
52
  )
53
 
54
+ ans = response["choices"][0]["message"]["content"]
55
 
56
  logger.info(f"Q: {input} - A: {ans}")
57