Git(Git版本控制系统)

Gitopen in new window 是一种分布式版本控制系统,用于跟踪任何一组计算机文件的更改,通常用于协调程序员在软件开发过程中共同开发源代码的工作。

本文档展示了如何从 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 结尾的文件。根据您的需求,您可以根据文件的扩展名或其他条件自定义过滤器函数,以仅加载符合条件的文件。

Last Updated:
Contributors: 刘强