Spaces:
Running
Running
File size: 2,050 Bytes
1286e81 9fa4a00 b374298 eebeb78 12d3e1a 1286e81 9d333bd 1286e81 6876423 12d3e1a 20e3edd 1286e81 7fa7a9c 1286e81 12d3e1a b374298 12d3e1a b374298 9d333bd 6876423 9fa4a00 9d333bd 9fa4a00 |
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 69 |
import os
from typing import Literal, cast
from pydantic import SecretStr
from _utils.langchain_utils.LLM_class import LLM
from setup.environment import default_model
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI
llm = LLM()
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):
api_key = os.environ.get("OPENAI_API_KEY")
if api_key:
gpt = ChatOpenAI(
temperature=0,
model="gpt-4o-mini",
api_key=SecretStr(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,
):
api_key = os.environ.get("OPENAI_API_KEY")
if api_key:
gpt = ChatOpenAI(
temperature=temperature,
model=model,
api_key=SecretStr(api_key),
max_retries=max_retries,
)
response = gpt.invoke([HumanMessage(content=prompt)])
if shouldReturnFullResponse:
return response
else:
return response.content
async def agemini_answer(
prompt,
model: Literal[
"gemini-2.5-pro-exp-03-25", "gemini-2.0-flash", "gemini-2.0-flash-lite"
] = "gemini-2.0-flash",
) -> str:
gemini = llm.google_gemini(model)
resposta = await gemini.ainvoke([HumanMessage(content=prompt)])
return cast(str, resposta.content)
|