Skip to main content
GitHub 工具包包含使 LLM 代理能够与 GitHub 仓库交互的工具。 该工具是 PyGitHub 库的封装。 有关所有 GithubToolkit 功能和配置的详细文档,请前往 API 参考

设置

在高层次上,我们将:
  1. 安装 pygithub 库
  2. 创建 GitHub 应用
  3. 设置环境变量
  4. 使用 toolkit.get_tools() 将工具传递给您的代理
要启用单个工具的自动追踪,请设置您的 LangSmith API 密钥:

安装

1. 安装依赖项

此集成在 langchain-community 中实现。我们还需要 pygithub 依赖项:

2. 创建 GitHub 应用

在此处遵循说明 以创建和注册 GitHub 应用。确保您的应用具有以下 仓库权限:
  • Commit statuses (只读)
  • Contents (读写)
  • Issues (读写)
  • Metadata (只读)
  • Pull requests (读写)
注册应用后,您必须授予您的应用访问您希望其操作的每个仓库的权限。请在 此处 使用 App 设置。

3. 设置环境变量

在初始化代理之前,需要设置以下环境变量:
  • GITHUB_APP_ID- 在应用的常规设置中找到的六位数数字
  • GITHUB_APP_PRIVATE_KEY- 应用私钥 .pem 文件的位置,或该文件的完整文本字符串。
  • GITHUB_REPOSITORY- 您希望机器人操作的 GitHub 仓库名称。必须遵循格式 {username}/{repo-name}。确保已先将应用添加到此仓库!
  • 可选:GITHUB_BRANCH- 机器人进行提交的分支。默认为 repo.default_branch
  • 可选:GITHUB_BASE_BRANCH- PR 所基于的仓库基础分支。默认为 repo.default_branch

实例化

现在我们可以实例化工具包:

工具

查看可用工具:
这些工具的用途如下: 下面将详细解释每一步。
  1. Get Issues- 从仓库获取问题。
  2. Get Issue- 获取特定问题的详细信息。
  3. Comment on Issue- 在特定问题上发布评论。
  4. Create Pull Request- 从机器人的工作分支到基础分支创建拉取请求。
  5. Create File- 在仓库中创建新文件。
  6. Read File- 从仓库读取文件。
  7. Update File- 更新仓库中的文件。
  8. Delete File- 删除仓库中的文件。

包含发布工具

默认情况下,工具包不包含与发布相关的工具。您可以通过在初始化工具包时设置 include_release_tools=True 来包含它们:
设置 include_release_tools=True 将包含以下工具:
  • Get Latest Release- 从仓库获取最新发行版。
  • Get Releases- 从仓库获取最新的 5 个发行版。
  • Get Release- 通过标签名从仓库获取特定发行版,例如 v1.0.0

在代理中使用

我们需要一个 LLM 或聊天模型:
使用工具子集初始化代理:
并向其发出查询:

API 参考

有关所有 GithubToolkit 功能和配置的详细文档,请前往 API 参考