Git(Git版本控制系统)
Git 是一种分布式版本控制系统,用于跟踪任何一组计算机文件的更改,通常用于协调程序员在软件开发过程中共同开发源代码的工作。
本文档展示了如何从 Git
代码库中加载文本文件。
从磁盘加载现有代码库
!pip install GitPython
from git import Repo
repo = Repo.clone_from(
"https://github.com/hwchase17/langchain", to_path="./example_data/test_repo1"
)
branch = repo.head.reference
from langchain.document_loaders import GitLoader
loader = GitLoader(repo_path="./example_data/test_repo1/", branch=branch)
data = loader.load()
len(data)
print(data[0])
page_content='.venv\n.github\n.git\n.mypy_cache\n.pytest_cache\nDockerfile' metadata={'file_path': '.dockerignore', 'file_name': '.dockerignore', 'file_type': ''}
从URL克隆代码库
from langchain.document_loaders import GitLoader
loader = GitLoader(
clone_url="https://github.com/hwchase17/langchain",
repo_path="./example_data/test_repo2/",
branch="master",
)
data = loader.load()
len(data)
1074
过滤要加载的文件
from langchain.document_loaders import GitLoader
# 例如,仅加载Python文件
loader = GitLoader(repo_path="./example_data/test_repo1/", file_filter=lambda file_path: file_path.endswith(".py"))
在上述示例中,我们使用 GitLoader
类从 Git 代码库加载文件。通过设置 repo_path
参数为代码库的路径,我们指定要加载的代码库。
此外,我们还设置了 file_filter
参数,使用 lambda
函数指定了一个过滤器。在此示例中,过滤器仅允许加载以 .py
结尾的文件。根据您的需求,您可以根据文件的扩展名或其他条件自定义过滤器函数,以仅加载符合条件的文件。