Source code for langchain_community.tools.github.tool
"""
这个工具允许代理与pygithub库进行交互,并操作GitHub存储库。
要使用此工具,必须首先设置环境变量:
GITHUB_API_TOKEN
GITHUB_REPOSITORY -> 格式:{所有者}/{仓库名}
"""
from typing import Optional, Type
from langchain_core.callbacks import CallbackManagerForToolRun
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_core.tools import BaseTool
from langchain_community.utilities.github import GitHubAPIWrapper
[docs]class GitHubAction(BaseTool):
"""工具用于与GitHub API 进行交互。"""
api_wrapper: GitHubAPIWrapper = Field(default_factory=GitHubAPIWrapper) # type: ignore[arg-type]
mode: str
name: str = ""
description: str = ""
args_schema: Optional[Type[BaseModel]] = None
def _run(
self,
instructions: Optional[str] = "",
run_manager: Optional[CallbackManagerForToolRun] = None,
) -> str:
"""使用GitHub API 运行一个操作。"""
if not instructions or instructions == "{}":
# Catch other forms of empty input that GPT-4 likes to send.
instructions = ""
return self.api_wrapper.run(self.mode, instructions)