Skip to main content
Open In ColabOpen on GitHub

YouTube 转录文本

YouTube 是一个由谷歌创建的在线视频分享和社交媒体平台。

这个笔记本涵盖了如何从YouTube transcripts加载文档。

from langchain_community.document_loaders import YoutubeLoader
%pip install --upgrade --quiet  youtube-transcript-api
loader = YoutubeLoader.from_youtube_url(
"https://www.youtube.com/watch?v=QsYGlZkevEg", add_video_info=False
)
loader.load()

添加视频信息

%pip install --upgrade --quiet  pytube
loader = YoutubeLoader.from_youtube_url(
"https://www.youtube.com/watch?v=QsYGlZkevEg", add_video_info=True
)
loader.load()

添加语言偏好设置

语言参数 : 它是一系列按优先级降序排列的语言代码,默认值为en

翻译参数 : 这是一个翻译偏好,您可以将可用的字幕翻译成您偏好的语言。

loader = YoutubeLoader.from_youtube_url(
"https://www.youtube.com/watch?v=QsYGlZkevEg",
add_video_info=True,
language=["en", "id"],
translation="en",
)
loader.load()

将录音转录为带有时间戳的片段

获取一个或多个Document对象,每个对象包含视频转录的一部分。可以指定每个片段的长度(以秒为单位)。每个片段的元数据包括指向YouTube视频的URL,在该URL中将从特定片段的开始位置播放视频。

transcript_format 参数: 一个 langchain_community.document_loaders.youtube.TranscriptFormat 的值。在这种情况下,TranscriptFormat.CHUNKS

chunk_size_seconds 参数: 每个片段转录数据代表的视频秒数。默认值为120秒。

from langchain_community.document_loaders.youtube import TranscriptFormat

loader = YoutubeLoader.from_youtube_url(
"https://www.youtube.com/watch?v=TKCMw0utiak",
add_video_info=True,
transcript_format=TranscriptFormat.CHUNKS,
chunk_size_seconds=30,
)
print("\n\n".join(map(repr, loader.load())))
API 参考:TranscriptFormat

YouTube loader 从 Google Cloud

前置条件

  1. 创建一个Google Cloud项目或使用现有项目
  2. 启用 YouTube API
  3. 授权桌面应用的凭证
  4. pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib youtube-transcript-api

🧑‍💻 指南,用于导入您的 Google 文档数据

By default, the GoogleDriveLoader expects the credentials.json file to be ~/.credentials/credentials.json, but this is configurable using the credentials_file keyword argument. Same thing with token.json. Note that token.json will be created automatically the first time you use the loader.

GoogleApiYoutubeLoader可以从一个包含Google Docs文档ID的列表或一个文件夹ID中加载。您可以从URL中获得您的文件夹和文档ID: 注意,根据您的设置,可能需要设置service_account_path。更多详情请参见这里

# Init the GoogleApiClient
from pathlib import Path

from langchain_community.document_loaders import GoogleApiClient, GoogleApiYoutubeLoader

google_api_client = GoogleApiClient(credentials_path=Path("your_path_creds.json"))


# Use a Channel
youtube_loader_channel = GoogleApiYoutubeLoader(
google_api_client=google_api_client,
channel_name="Reducible",
captions_language="en",
)

# Use Youtube Ids

youtube_loader_ids = GoogleApiYoutubeLoader(
google_api_client=google_api_client, video_ids=["TrdevFK_am4"], add_video_info=True
)

# returns a list of Documents
youtube_loader_channel.load()