Spaces:
Running
Running
from langchain_core.tools import tool | |
from loguru import logger | |
from youtube_transcript_api import YouTubeTranscriptApi, FetchedTranscript | |
def youtube_transcript(video_id: str) -> str: | |
""" | |
Fetches the transcript of a YouTube video using its video ID. | |
The video ID must be provided to successfully fetch the transcript. | |
Args: | |
video_id (str): The unique identifier of a YouTube video. You can retrieve the video_id from the URL of the video. For example, with the URL https://www.youtube.com/watch?v=12345 the video_id is 12345. | |
Returns: | |
FetchedTranscript: The transcript of the specified YouTube video. | |
Raises: | |
Any exceptions related to YouTubeTranscriptApi when a problem | |
occurs during fetching the transcript. | |
""" | |
logger.info(f"use youtube_transcript with param: {video_id}") | |
transcript = YouTubeTranscriptApi().fetch(video_id).to_raw_data() | |
bullet_points = '\n'.join(f"- {entry['text']}" for entry in transcript) | |
return bullet_points | |
if __name__ == "__main__": | |
transcript = youtube_transcript.invoke("1htKBjuUWec") | |
print(transcript) |