File size: 1,426 Bytes
1286e81
12d3e1a
1286e81
 
 
 
12d3e1a
 
20e3edd
1286e81
7fa7a9c
1286e81
 
 
 
 
 
 
12d3e1a
1286e81
 
 
 
baeaaa5
1286e81
baeaaa5
1286e81
12d3e1a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
from setup.environment import default_model
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI


async def aclaude_answer(claude_client, claude_context_model, prompt):
    print("\n\nComeçou uma requisição pelo Claude")
    response = await claude_client.messages.create(
        model=claude_context_model,
        max_tokens=100,  # Máximo é 4096
        messages=[{"role": "user", "content": prompt}],
    )
    return response.content[
        0
    ].text  # O response.content é uma lista pois é passada uma lista de mensagens, e também retornado uma lista de mensagens, sendo a primeira a mais recente, que é a resposta do model


async def agpt_answer(prompt):
    gpt = ChatOpenAI(
        temperature=0,
        model="gpt-4o-mini",
        api_key=os.environ.get("OPENAI_API_KEY"),
        max_retries=5,
    )
    response = await gpt.ainvoke([HumanMessage(content=prompt)])
    return response.content


def gpt_answer(
    prompt,
    temperature=0,
    model=default_model,
    max_retries=5,
    shouldReturnFullResponse=False,
):
    gpt = ChatOpenAI(
        temperature=temperature,
        model=model,
        api_key=os.environ.get("OPENAI_API_KEY"),
        max_retries=max_retries,
    )
    response = gpt.invoke([HumanMessage(content=prompt)])
    if shouldReturnFullResponse:
        return response
    else:
        return response.content