File size: 2,400 Bytes
59956f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
64
65
66
67
68
import json

#Substitua sua chave de API OpenAI:
import openai
import os
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env file
openai.api_key  = os.environ['OPENAI_API_KEY']


def Greetings_or_Goodbyes(query):
    
    response = openai.ChatCompletion.create(
            model='gpt-3.5-turbo-0613',
            temperature=0.0,
            messages=[
            {
                "role": "user",
                "content": f"""
                               Você deve detectar a INTENÇÃO de Saudação ou INTENÇÃO de Despedida ou Frase Geral na query do usuário:  ```{query}```. \
                               Se a query conter uma intenção de Saudação ou de Despedida você deverá responder a essas queries. E se você Identificar \
                               uma Frase Geral da query do usuário, você deverá dizer: Fora do Escopo.                
                            """,
            }
            ],
            functions=[
                {
                    "name": "get_answer_for_user_query",
                    "description": "Responde apenas em português à intenção (query) do usuário, ou seja, tom de SAUDAÇÃO ou tom DESPEDIDA",
                    "parameters": {
                        "type": "object",
                        "properties": {
                            "INTENTION": {
                                "type": "string",
                                "description": "Detecta a INTENÇÃO na query do usuário"
                            },
                            "ANSWER_INTENTION": {
                                "type": "string",
                                "description": "Responder de maneira coerente à query do usuário"
                            }
                            },
                        "required": ["INTENTION", "ANSWER_INTENTION"]
                                  }
                }
            ],
            function_call={"name": "get_answer_for_user_query"}
        )


    output = json.loads(response.choices[0]["message"]["function_call"]["arguments"])

    return output




if __name__ == "__main__":
    while True:
        query = input("User: " )
        resposta = Greetings_or_Goodbyes(query=query)
        #print(resposta['ANSWER_INTENTION'])
        print(resposta)

        
        if not query:
            break