图像研究助手

一个专注于图像相关信息检索和增强的模块化服务工具,提供轻量级应用入口、客户端/代理框架及视觉和维基百科查询服务模块。

  • by BrianLusina
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BrianLusina/image-research-assistant

使用说明

图像研究助理

这是一个图像研究助理,专注于使用模块化服务帮助进行图像相关信息的检索和丰富。该存储库包含一个轻量级的应用程序入口点、客户端/代理脚手架以及用于视觉和维基百科查找的服务模块。

目标

  • 使用MCP服务为图像研究任务提供紧凑、可扩展的架构。
  • 保持服务模块化,以便贡献者可以添加新的数据源或模型。
  • 为本地运行和测试提供简单的开发人员人体工程学。

目录

  • src/app/ --主要应用程序包和入口点
  • src/app/clients/ --客户端代理和MCP客户端代码
  • src/app/servers/vision/ --与视觉相关的服务器实用程序和服务器
  • src/app/servers/wikipedia/ --维基百科查找服务器和助手

先决条件

  • 具有POSIX类shell的macOS/Linux/Windows(示例使用 zsh/bash)
  • Python 3.10或更新版本
  • Git
  • (可选) poetry 如果你更喜欢通过Poetry管理项目。尽管 uv 是此项目的首选包管理器。

推荐设置

  1. 创建并激活虚拟环境(macOS/Linux):
python3 -m venv .venv
source .venv/bin/activate

如果使用 uv,只需运行 uv venv 安装后激活环境。

  1. 安装依赖项。首选项目方法:
  • 使用Makefile帮助程序(推荐):
make install
  • 或使用 uv (此项目的首选包管理器)从安装 pyproject.toml:
uv install -r pyproject.toml

如果你愿意,你仍然可以在迭代本地代码时执行可编辑的pip安装:

pip install -e .

注:没有 requirements.txt 在这个存储库中;使用 pyproject.toml 随着 uv 或 Makefile 帮手。

运行项目

  • 直接运行主应用程序(快速):
python src/app/main.py
  • 或者在可编辑安装后作为模块运行:
make run

项目考虑因素

  • 存储库有意采用模块化:添加新 servers/ 或 clients/ 不接触核心逻辑的组件。
  • 将第三方模型或API密钥排除在回购之外-使用环境变量或凭据的机密存储。
  • 以轻量级依赖关系为目标,使项目易于为贡献者设置。
  • 如果添加长时间运行的服务,最好在流程管理器(systemd、supervisor)后面或在生产容器中运行它们。

测试

  • 默认情况下没有捆绑测试。如果您添加测试,请选择 pytest 并将测试置于 tests/.
  • 示例试运行(添加后 pytest 到deps):
pytest -q

贡献

  • 分叉存储库并创建功能分支: git checkout -b feat/your-feature
  • 保持承诺小而专注,信息清晰。
  • 在打开PR之前,运行过梁和您添加的任何测试。
  • 打开一个Pull请求 main,添加描述性标题和更改摘要。
  • 对于较大的更改,请先打开一个问题来讨论设计和方法。

代码风格

  • 遵循惯用的Python(PEP8)。可选择添加 black / ruff 或与项目类似的工具,以保持一致性。Ruff在这里使用,可以使用 make lint 并通过以下方式进行类型检查 make pyrefly.

联系人/维护人员

  • 主要回购所有者是 BrianLusina (GitHub: BrianLusina).打开问题或PR以获取问题、修复或功能请求。