Spaces:
Running
Running
Update agent.py
Browse files
agent.py
CHANGED
@@ -3,19 +3,19 @@
|
|
3 |
import os
|
4 |
from dotenv import load_dotenv
|
5 |
from langgraph.graph import START, StateGraph, MessagesState
|
6 |
-
from langgraph.prebuilt import tools_condition
|
7 |
-
from langgraph.prebuilt import ToolNode
|
8 |
from langchain_google_genai import ChatGoogleGenerativeAI
|
9 |
from langchain_groq import ChatGroq
|
10 |
from langchain_huggingface import ChatHuggingFace, HuggingFaceEndpoint, HuggingFaceEmbeddings
|
11 |
from langchain_community.tools.tavily_search import TavilySearchResults
|
12 |
-
from langchain_community.document_loaders import WikipediaLoader
|
13 |
-
from langchain_community.document_loaders import ArxivLoader
|
14 |
from langchain_community.vectorstores import SupabaseVectorStore
|
15 |
from langchain_core.messages import SystemMessage, HumanMessage
|
16 |
from langchain_core.tools import tool
|
17 |
from langchain.tools.retriever import create_retriever_tool
|
18 |
from supabase.client import Client, create_client
|
|
|
|
|
19 |
|
20 |
load_dotenv()
|
21 |
|
@@ -129,7 +129,7 @@ supabase = create_client(
|
|
129 |
vector_store = SupabaseVectorStore(
|
130 |
client=supabase,
|
131 |
embedding= embeddings,
|
132 |
-
table_name="
|
133 |
query_name="match_docs",
|
134 |
)
|
135 |
create_retriever_tool = create_retriever_tool(
|
@@ -181,14 +181,15 @@ def build_graph(provider: str = "google"):
|
|
181 |
"""Assistant node"""
|
182 |
return {"messages": [llm_with_tools.invoke(state["messages"])]}
|
183 |
|
184 |
-
#
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
|
|
|
192 |
from langchain_core.messages import AIMessage
|
193 |
|
194 |
def retriever(state: MessagesState):
|
@@ -216,8 +217,8 @@ def build_graph(provider: str = "google"):
|
|
216 |
#builder.add_edge("tools", "assistant")
|
217 |
|
218 |
builder = StateGraph(MessagesState)
|
219 |
-
builder.add_node("retriever", retriever)
|
220 |
builder.add_node("assistant", assistant)
|
|
|
221 |
|
222 |
# Retriever ist Start und Endpunkt
|
223 |
builder.set_entry_point("retriever")
|
|
|
3 |
import os
|
4 |
from dotenv import load_dotenv
|
5 |
from langgraph.graph import START, StateGraph, MessagesState
|
6 |
+
from langgraph.prebuilt import tools_condition, ToolNode
|
|
|
7 |
from langchain_google_genai import ChatGoogleGenerativeAI
|
8 |
from langchain_groq import ChatGroq
|
9 |
from langchain_huggingface import ChatHuggingFace, HuggingFaceEndpoint, HuggingFaceEmbeddings
|
10 |
from langchain_community.tools.tavily_search import TavilySearchResults
|
11 |
+
from langchain_community.document_loaders import WikipediaLoader, ArxivLoader
|
|
|
12 |
from langchain_community.vectorstores import SupabaseVectorStore
|
13 |
from langchain_core.messages import SystemMessage, HumanMessage
|
14 |
from langchain_core.tools import tool
|
15 |
from langchain.tools.retriever import create_retriever_tool
|
16 |
from supabase.client import Client, create_client
|
17 |
+
from typing import TypedDict, List, Annotated
|
18 |
+
import operator
|
19 |
|
20 |
load_dotenv()
|
21 |
|
|
|
129 |
vector_store = SupabaseVectorStore(
|
130 |
client=supabase,
|
131 |
embedding= embeddings,
|
132 |
+
table_name="docs",
|
133 |
query_name="match_docs",
|
134 |
)
|
135 |
create_retriever_tool = create_retriever_tool(
|
|
|
181 |
"""Assistant node"""
|
182 |
return {"messages": [llm_with_tools.invoke(state["messages"])]}
|
183 |
|
184 |
+
#def retriever(state: MessagesState):
|
185 |
+
# """Retriever node"""
|
186 |
+
# similar_question = vector_store.similarity_search(state["messages"][0].content)
|
187 |
+
# example_msg = HumanMessage(
|
188 |
+
# content=f"Here I provide a similar question and answer for reference: \n\n{similar_question[0].page_content}",
|
189 |
+
# )
|
190 |
+
# return {"messages": [sys_msg] + state["messages"] + [example_msg]}
|
191 |
|
192 |
+
|
193 |
from langchain_core.messages import AIMessage
|
194 |
|
195 |
def retriever(state: MessagesState):
|
|
|
217 |
#builder.add_edge("tools", "assistant")
|
218 |
|
219 |
builder = StateGraph(MessagesState)
|
|
|
220 |
builder.add_node("assistant", assistant)
|
221 |
+
builder.add_node("retriever", retriever)
|
222 |
|
223 |
# Retriever ist Start und Endpunkt
|
224 |
builder.set_entry_point("retriever")
|