Spaces:
Sleeping
Sleeping
Update utils.py
Browse files
utils.py
CHANGED
|
@@ -1,33 +1,34 @@
|
|
| 1 |
-
import uuid
|
| 2 |
-
from typing import TypedDict
|
| 3 |
-
from langchain_core.messages import AIMessage, HumanMessage, ToolMessage
|
| 4 |
-
from langchain_openai import ChatOpenAI
|
| 5 |
-
import os
|
| 6 |
-
import re
|
| 7 |
-
from dotenv import load_dotenv
|
| 8 |
-
|
| 9 |
-
load_dotenv()
|
| 10 |
-
|
| 11 |
-
class MainState(TypedDict):
|
| 12 |
-
question: HumanMessage | str| None
|
| 13 |
-
scratchpad: list[AIMessage | ToolMessage] | None
|
| 14 |
-
answer: AIMessage | None
|
| 15 |
-
next_node: str | None
|
| 16 |
-
history: list[HumanMessage | AIMessage]
|
| 17 |
-
|
| 18 |
-
llm = ChatOpenAI(
|
| 19 |
-
model="
|
| 20 |
-
temperature=0,
|
| 21 |
-
api_key=os.environ.get('
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
matches =
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
|
|
|
| 33 |
return AIMessage(content=message.content)
|
|
|
|
| 1 |
+
import uuid
|
| 2 |
+
from typing import TypedDict
|
| 3 |
+
from langchain_core.messages import AIMessage, HumanMessage, ToolMessage
|
| 4 |
+
from langchain_openai import ChatOpenAI
|
| 5 |
+
import os
|
| 6 |
+
import re
|
| 7 |
+
from dotenv import load_dotenv
|
| 8 |
+
|
| 9 |
+
load_dotenv()
|
| 10 |
+
|
| 11 |
+
class MainState(TypedDict):
|
| 12 |
+
question: HumanMessage | str| None
|
| 13 |
+
scratchpad: list[AIMessage | ToolMessage] | None
|
| 14 |
+
answer: AIMessage | None
|
| 15 |
+
next_node: str | None
|
| 16 |
+
history: list[HumanMessage | AIMessage]
|
| 17 |
+
|
| 18 |
+
llm = ChatOpenAI(
|
| 19 |
+
model="sabiazinho-3",
|
| 20 |
+
temperature=0,
|
| 21 |
+
api_key=os.environ.get('MARITACA_API_KEY'), # Insira sua chave aqui
|
| 22 |
+
base_url="https://chat.maritaca.ai/api",
|
| 23 |
+
)
|
| 24 |
+
|
| 25 |
+
def generate_uuid():
|
| 26 |
+
return str(uuid.uuid4())
|
| 27 |
+
|
| 28 |
+
def post_process(message: AIMessage) -> AIMessage:
|
| 29 |
+
matches = re.findall(r"\[SOT\](.*)\[EOT\]", message.content, re.DOTALL)
|
| 30 |
+
matches = matches[0] if matches else None
|
| 31 |
+
|
| 32 |
+
if matches:
|
| 33 |
+
return AIMessage(content='', additional_kwargs={'custom_tool_call': matches} ,tool_call_id=generate_uuid())
|
| 34 |
return AIMessage(content=message.content)
|