|
1 | | -import os |
2 | 1 | import textwrap |
3 | | -from typing import Annotated, Sequence, TypedDict |
4 | | - |
5 | | -from langchain.agents.agent_toolkits import create_retriever_tool |
6 | | -from langchain.chains import LLMChain, RetrievalQA |
7 | | -from langchain.prompts import PromptTemplate |
8 | | -from langchain.schema import BaseMessage |
9 | | -from langchain.tools import Tool |
10 | 2 | from langchain_community.agent_toolkits import SQLDatabaseToolkit |
11 | | -from langchain_community.agent_toolkits.sql.base import create_sql_agent |
12 | | -from langchain_community.document_loaders import DirectoryLoader, TextLoader |
13 | | -from langchain_community.embeddings import OpenAIEmbeddings |
14 | | -from langchain_community.vectorstores import FAISS # or Chroma, Weaviate, etc. |
15 | 3 | from langchain_openai import ChatOpenAI |
16 | | -from langgraph.graph import MessageGraph, StateGraph |
17 | | -from langgraph.graph.message import add_messages |
18 | 4 | from langgraph.prebuilt import create_react_agent |
19 | | -from chromadb.config import DEFAULT_TENANT, DEFAULT_DATABASE, Settings |
20 | | -from .retrieverutils import get_retriever_tool |
| 5 | +from .retriever_utils import get_retriever_tool |
21 | 6 |
|
22 | 7 | from .extensions import postgresdb |
23 | | -from .config import Config |
24 | 8 | from .mcp_client import get_mcp_client |
25 | | -import chromadb |
| 9 | +from .agent_utils import truncate_tool_messages |
26 | 10 |
|
27 | 11 |
|
28 | 12 | async def build_langgraph_agent(api_key, model_name, user_jwt): |
@@ -71,16 +55,13 @@ async def build_langgraph_agent(api_key, model_name, user_jwt): |
71 | 55 | tools = mcp_tools + db_tools |
72 | 56 | retriever_tool = get_retriever_tool(api_key) |
73 | 57 | tools.append(retriever_tool) |
74 | | - agent_node = create_react_agent(model=llm, tools=tools, prompt=system_prompt) |
| 58 | + agent_node = create_react_agent(model=llm, tools=tools, prompt=system_prompt, pre_model_hook=truncate_tool_messages) |
75 | 59 | return agent_node |
76 | 60 |
|
77 | 61 |
|
78 | 62 | async def execute_langgraph_agent( |
79 | 63 | api_key, model_name, messages, user_jwt, session_id=None |
80 | 64 | ): |
81 | 65 | agent = await build_langgraph_agent(api_key, model_name, user_jwt) |
82 | | - print("messages", messages) |
83 | | - print("Session ID", session_id) |
84 | 66 | response = await agent.ainvoke({"messages": messages}) |
85 | | - print("Response", response) |
86 | 67 | return response |
0 commit comments