YC W24创业公司用LLM自动分析API接口,降低系统集成的文档学习和维护成本。
你使用 create_har.py 生成一个包含所有浏览器网络请求的文件、一个包含 cookies 的文件,并写一个描述在浏览器中触发的操作的 prompt。agent 输出可运行的 Python 代码来访问平台的内部端点执行所需的操作。
假设我们想下载水电费账单:
agent 识别下载水电费账单的请求。例如,请求 URL 可能看起来像这样:
https://www.example.com/utility-bills?accountId=123&userId=456
它识别请求中依赖于其他请求的部分。上述 URL 包含需要从其他请求获得的动态部分(accountId 和 userId)。
accountId=123 userId=456
它查找提供这些部分的请求,并使下载请求依赖于它们。它还将这些请求附加到原始请求中,构建一个依赖图。
GET https://www.example.com/get_account_id
GET https://www.example.com/get_user_id
这个过程重复进行,直到被检查的请求不依赖于任何其他请求,仅需要身份验证 cookies。
agent 遍历图形,从没有出边的节点(请求)开始,直到到达主节点,同时将每个节点转换为可运行的函数。
生成请求的依赖图,以便最终发出执行所需操作的请求。
允许输入变量(例如,选择下载文档的年份)。这目前仅支持图形生成。代码生成的输入变量即将推出!
生成代码来执行图中的所有请求以执行所需的操作。
设置你的 OpenAI API 密钥并添加 OPENAI_API_KEY 环境变量。(我们建议使用有权访问至少与 OpenAI o1-mini 相当的模型的账户。与 OpenAI o1-preview 相当的模型是最理想的。)
设置你的 OpenAI API 密钥并添加 OPENAI_API_KEY 环境变量。(我们建议使用有权访问至少与 OpenAI o1-mini 相当的模型的账户。与 OpenAI o1-preview 相当的模型是最理想的。)
通过 poetry 安装 Python 依赖:
poetry install
打开 poetry shell:
poetry shell
使用 Jupyter 注册 Poetry 虚拟环境:
poetry run ipython kernel install --user --name=integuru
运行以下命令来启动浏览器:
poetry run python create_har.py
登录你的平台并执行所需的操作(例如下载水电费账单)。
运行 Integuru:
poetry run integuru --prompt "download utility bills" --model <gpt-4o|o3-mini|o1|o1-mini>
你也可以通过 Jupyter Notebook main.ipynb 运行它。
建议使用 gpt-4o 作为图形生成的模型,因为它支持函数调用。如果用户的 OpenAI 账户中有 o1-preview,Integuru 会自动切换到 o1-preview 进行代码生成。
设置好项目后,你可以使用 Integuru 来分析和逆向工程外部平台的 API 请求。只需提供相应的 .har 文件和描述你想触发的操作的 prompt。
poetry run integuru --help
Usage: integuru [OPTIONS]
Options:
--model TEXT The LLM model to use (default is gpt-4o)
--prompt TEXT The prompt for the model [required]
--har-path TEXT The HAR file path (default is
./network_requests.har)
--cookie-path TEXT The cookie file path (default is
./cookies.json)
--max_steps INTEGER The max_steps (default is 20)
--input_variables <TEXT TEXT>...
Input variables in the format key value
--generate-code Whether to generate the full integration
code
--help Show this message and exit.
使用 pytest 运行单元测试,请使用以下命令:
poetry run pytest
此仓库包含使用 GitHub Actions 的 CI 工作流。工作流在 .github/workflows/ci.yml 文件中定义,在每次推送和对主分支的拉取请求时触发。工作流执行以下步骤:
使用 poetry 安装依赖。
使用 pytest 运行测试。
当目标站点使用双因素认证(2FA)时,工作流保持不变。确保你完成 2FA 流程,并在 2FA 之后获得 cookies/auth tokens/session tokens。这些令牌将在工作流中使用。
欢迎贡献改进 Integuru。请随时在项目仓库上提交问题或拉取请求。
Integuru 现在位于 Integuru.com。如果你在寻找新的集成或 agent 的当前版本,请访问 www.integuru.com。
如有直接问题,请通过 richard@integuru.com 联系我们。
收集的数据存储在本地的 network_requests.har 和 cookies.json 文件中。
该工具使用基于云的 LLM(OpenAI 的 GPT-4o 和 o1-preview 模型)。
LLM 不会通过使用此工具进行训练或改进。