rag_application / utils.py
SamuelM0422's picture
Upload 3 files
46a68f8 verified
raw
history blame
1.01 kB
import uuid
from typing import TypedDict
from langchain_core.messages import AIMessage, HumanMessage, ToolMessage
from langchain_openai import ChatOpenAI
import os
import re
from dotenv import load_dotenv
load_dotenv()
class MainState(TypedDict):
question: HumanMessage | str| None
scratchpad: list[AIMessage | ToolMessage] | None
answer: AIMessage | None
next_node: str | None
history: list[HumanMessage | AIMessage]
llm = ChatOpenAI(
model="gpt-4o-mini",
temperature=0,
api_key=os.environ.get('OPENAI_API_KEY'), # Insira sua chave aqui
)
def generate_uuid():
return str(uuid.uuid4())
def post_process(message: AIMessage) -> AIMessage:
matches = re.findall(r"\[SOT\](.*)\[EOT\]", message.content, re.DOTALL)
matches = matches[0] if matches else None
if matches:
return AIMessage(content='', additional_kwargs={'custom_tool_call': matches} ,tool_call_id=generate_uuid())
return AIMessage(content=message.content)