YouTube transcripts
YouTube 是由 Google 建立的線上影片分享和社群媒體平台。
本筆記本涵蓋如何從 YouTube 轉錄
載入文件。
from langchain_community.document_loaders import YoutubeLoader
API 參考: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()
新增語言偏好設定
Language 參數:它是一個語言代碼列表,依優先順序降序排列,預設為 en。
translation 參數:它是一個翻譯偏好設定,您可以將可用的轉錄翻譯成您偏好的語言。
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
從 Google Cloud 載入 YouTube
先決條件
- 建立 Google Cloud 專案或使用現有專案
- 啟用 Youtube API
- 授權桌面應用程式的憑證
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib youtube-transcript-api
🧑 匯入 Google 文件資料的說明
預設情況下,GoogleDriveLoader
期望 credentials.json 檔案位於 ~/.credentials/credentials.json
,但可以使用 credentials_file
關鍵字參數進行配置。token.json 也一樣。請注意,token.json 將在您第一次使用載入器時自動建立。
GoogleApiYoutubeLoader
可以從 Google 文件文件 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()
API 參考:GoogleApiClient | GoogleApiYoutubeLoader