Update app.py
Browse files
app.py
CHANGED
@@ -11,9 +11,8 @@ from langchain.agents import initialize_agent, AgentType, Tool
|
|
11 |
from langchain_community.tools import DuckDuckGoSearchRun
|
12 |
from langchain_experimental.tools.python.tool import PythonREPLTool
|
13 |
from langchain_community.tools.youtube.search import YouTubeSearchTool
|
14 |
-
from langchain_community.tools.youtube.transcript import YouTubeTranscriptTool
|
15 |
from langchain_community.tools.wikipedia.tool import WikipediaQueryRun
|
16 |
-
from
|
17 |
from langchain.tools import tool
|
18 |
from langchain.chat_models import ChatOpenAI
|
19 |
|
@@ -32,9 +31,15 @@ llm = ChatOpenAI(model="gpt-4o", temperature=0)
|
|
32 |
duckduckgo = DuckDuckGoSearchRun()
|
33 |
wikipedia = WikipediaQueryRun(api_wrapper=None)
|
34 |
youtube_search = YouTubeSearchTool()
|
35 |
-
youtube_transcript = YouTubeTranscriptTool()
|
36 |
python_tool = PythonREPLTool()
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
@tool
|
39 |
def reverse_sentence_logic(sentence: str) -> str:
|
40 |
"""Handle reversed or encoded sentences like '.rewsna eht sa...'."""
|
@@ -109,7 +114,7 @@ tools: List[Tool] = [
|
|
109 |
duckduckgo,
|
110 |
wikipedia,
|
111 |
youtube_search,
|
112 |
-
youtube_transcript,
|
113 |
python_tool,
|
114 |
reverse_sentence_logic,
|
115 |
extract_vegetables,
|
|
|
11 |
from langchain_community.tools import DuckDuckGoSearchRun
|
12 |
from langchain_experimental.tools.python.tool import PythonREPLTool
|
13 |
from langchain_community.tools.youtube.search import YouTubeSearchTool
|
|
|
14 |
from langchain_community.tools.wikipedia.tool import WikipediaQueryRun
|
15 |
+
from langchain.document_loaders import YoutubeLoader
|
16 |
from langchain.tools import tool
|
17 |
from langchain.chat_models import ChatOpenAI
|
18 |
|
|
|
31 |
duckduckgo = DuckDuckGoSearchRun()
|
32 |
wikipedia = WikipediaQueryRun(api_wrapper=None)
|
33 |
youtube_search = YouTubeSearchTool()
|
|
|
34 |
python_tool = PythonREPLTool()
|
35 |
|
36 |
+
@tool
|
37 |
+
def get_yt_transcript(url: str) -> str:
|
38 |
+
"""Transcribe a YouTube video from its URL."""
|
39 |
+
loader = YoutubeLoader.from_youtube_url(url, add_video_info=False)
|
40 |
+
docs = loader.load()
|
41 |
+
return " ".join(doc.page_content for doc in docs)
|
42 |
+
|
43 |
@tool
|
44 |
def reverse_sentence_logic(sentence: str) -> str:
|
45 |
"""Handle reversed or encoded sentences like '.rewsna eht sa...'."""
|
|
|
114 |
duckduckgo,
|
115 |
wikipedia,
|
116 |
youtube_search,
|
117 |
+
Tool(name="youtube_transcript", func=get_yt_transcript, description="Transcribe YouTube video from URL"),
|
118 |
python_tool,
|
119 |
reverse_sentence_logic,
|
120 |
extract_vegetables,
|