Spaces:
Running
Running
import os | |
from pydantic import SecretStr | |
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): | |
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 | |