Spaces:
Sleeping
Sleeping
Ihor Kozar commited on
Commit ·
387c120
1
Parent(s): 1aa9547
chore
Browse files- agent.py +2 -4
- agent_tools.py +2 -1
- requirements.txt +1 -0
- test.py +1 -2
agent.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
import time
|
| 2 |
from langchain.chains import RetrievalQA
|
| 3 |
-
from
|
| 4 |
from langchain_core.messages import SystemMessage, HumanMessage
|
| 5 |
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
|
| 6 |
from langgraph.graph import StateGraph, START
|
|
@@ -34,8 +34,6 @@ sys_msg = SystemMessage(
|
|
| 34 |
"""
|
| 35 |
)
|
| 36 |
|
| 37 |
-
print("agent.py loaded")
|
| 38 |
-
|
| 39 |
class CUSTOM_AGENT:
|
| 40 |
"""
|
| 41 |
A simple deterministic agent that leverages our tools directly and avoids
|
|
@@ -76,7 +74,7 @@ class CUSTOM_AGENT:
|
|
| 76 |
def _retriever_node(self, state: MessagesState):
|
| 77 |
"""Retriever node"""
|
| 78 |
question = state["messages"][ -1 ].content
|
| 79 |
-
docs = self.retriever.
|
| 80 |
|
| 81 |
if docs:
|
| 82 |
context = "\n\n".join([d.page_content for d in docs])
|
|
|
|
| 1 |
import time
|
| 2 |
from langchain.chains import RetrievalQA
|
| 3 |
+
from langchain_chroma import Chroma
|
| 4 |
from langchain_core.messages import SystemMessage, HumanMessage
|
| 5 |
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
|
| 6 |
from langgraph.graph import StateGraph, START
|
|
|
|
| 34 |
"""
|
| 35 |
)
|
| 36 |
|
|
|
|
|
|
|
| 37 |
class CUSTOM_AGENT:
|
| 38 |
"""
|
| 39 |
A simple deterministic agent that leverages our tools directly and avoids
|
|
|
|
| 74 |
def _retriever_node(self, state: MessagesState):
|
| 75 |
"""Retriever node"""
|
| 76 |
question = state["messages"][ -1 ].content
|
| 77 |
+
docs = self.retriever.invoke(question)
|
| 78 |
|
| 79 |
if docs:
|
| 80 |
context = "\n\n".join([d.page_content for d in docs])
|
agent_tools.py
CHANGED
|
@@ -99,7 +99,8 @@ def visit_webpage(url: str) -> str:
|
|
| 99 |
""")
|
| 100 |
def duckduck_websearch(query: str) -> str:
|
| 101 |
search_engine = DuckDuckGoSearchResults(output_format="list", num_results=2)
|
| 102 |
-
|
|
|
|
| 103 |
|
| 104 |
loader = WebBaseLoader(web_paths=page_urls)
|
| 105 |
docs = loader.load()
|
|
|
|
| 99 |
""")
|
| 100 |
def duckduck_websearch(query: str) -> str:
|
| 101 |
search_engine = DuckDuckGoSearchResults(output_format="list", num_results=2)
|
| 102 |
+
results = search_engine.invoke({"query": query})
|
| 103 |
+
page_urls = [url["link"] for url in results]
|
| 104 |
|
| 105 |
loader = WebBaseLoader(web_paths=page_urls)
|
| 106 |
docs = loader.load()
|
requirements.txt
CHANGED
|
@@ -31,3 +31,4 @@ langchain-google-genai
|
|
| 31 |
pytesseract
|
| 32 |
matplotlib
|
| 33 |
sentence_transformers
|
|
|
|
|
|
| 31 |
pytesseract
|
| 32 |
matplotlib
|
| 33 |
sentence_transformers
|
| 34 |
+
langchain_chroma
|
test.py
CHANGED
|
@@ -107,7 +107,6 @@ questions = [
|
|
| 107 |
# Test
|
| 108 |
if __name__ == "__main__":
|
| 109 |
agent = CUSTOM_AGENT()
|
| 110 |
-
q = questions[
|
| 111 |
-
print("Question:", q["question"])
|
| 112 |
answer = agent.run(q)
|
| 113 |
print("Answer:", answer)
|
|
|
|
| 107 |
# Test
|
| 108 |
if __name__ == "__main__":
|
| 109 |
agent = CUSTOM_AGENT()
|
| 110 |
+
q = questions[0]
|
|
|
|
| 111 |
answer = agent.run(q)
|
| 112 |
print("Answer:", answer)
|