Resume Matcher 如何配置 OpenAI-Compatible 提供商接入本地模型服务?
Resume Matcher 如何配置 OpenAI-Compatible 提供商接入本地模型服务【免费下载链接】Resume-MatcherThe #1 AI Harness for Building Resumes, PDFs, Cover Letters more, locally with 100 LLMs support.项目地址: https://gitcode.com/GitHub_Trending/re/Resume-Matcher如果你的本地服务llama.cpp、vLLM、LM Studio 或任何暴露 OpenAI Chat Completions API 的自建服务端想被 Resume Matcher 用作 AI 后端直接用Ollama选项或猜 base URL 容易配错Ollama 走的是不同的路由前缀而把本地服务当成openai配置则只能靠读代码才能发现可用路径。Resume Matcher 为此提供了专门的openai_compatible提供商API key 可选api_base按原样保留包括其中的/v1段请求经 LiteLLM 的openai/前缀路由到本地服务。本文的任务是把这条链路配通——Settings 中显示 Test Connection 健康、并返回模型输出。适用前提Resume Matcher 的后端与前端已能启动Python 3.13、Node.js 22、npm 10、uv见 SETUP.md 的 Prerequisites 一节且本地模型服务已在目标端口上运行。前提条件先把两端跑起来本地模型服务已启动并暴露 OpenAI Chat Completions 接口。以 llama.cpp 为例文档给出的默认地址是http://localhost:8080/v1。Resume Matcher 后端与前端已按 SETUP.md 的 Quick Start 启动后端在apps/backend下cp .env.example .env、uv sync、uv run app前端在apps/frontend下npm install、npm run dev浏览器打开http://localhost:3000。配置本身有两条等价路径Settings 页面推荐改完即可 Test Connection或后端.env文件改完需重启后端。方式一主路径在 Settings 页面配置打开http://localhost:3000/settings在提供商列表中选中OpenAI-Compatible (Local)。前端定义见 config.ts该项requiresKey: false即 API key 字段非必填defaultModel为custom-model是一个占位默认值必须替换。填写api_base。选中该提供商时如果字段为空settings 页面/settings/page.tsx) 会自动预填http://localhost:8080/v1llama.cpp 的默认地址。你的服务不在该地址时替换为实际地址例如http://localhost:8000/v1。带不带/v1都可以后端对openai与openai_compatible保留用户粘贴的 URL 原样仅去掉尾部斜杠因为 OpenAI 客户端能正确处理含/v1的 base见 _normalize_api_base对应 issue #751 的修复。填写模型名填你的本地服务实际暴露的模型名例如 SETUP.md 表格中使用的示例值llama-3.1-8b。如果模型名本身已带openai/前缀后端识别已知前缀后不会再加前缀保持原样填写即可。API key 留空除非你的服务启用了鉴权——启用时填真实 key。留空时后端会向下传一个哨兵字符串sk-no-key只为通过 OpenAI 客户端的非空字符串校验不做鉴权检查的本地服务会忽略它见 _effective_api_key 与设计文档的 Risks 一节。另外openai_compatible不会回退去使用LLM_API_KEY环境变量里的 key——这是有意设计防止付费 API 的 key 泄漏到本地端点resolve_api_key 中的_PROVIDERS_WITHOUT_ENV_KEY_FALLBACK。点击Save Configuration再点击Test Connection。方式二通过 .env 配置重启后端生效如果你偏好环境变量而非 UI在apps/backend/.env中修改模板与注释见 .env.exampleLLM_PROVIDERopenai_compatible LLM_MODELllama-3.1-8b # 替换为你的服务暴露的模型名 LLM_API_BASEhttp://localhost:8080/v1 # llama.cpp 默认按你的服务调整 LLM_API_KEY # 服务不要求鉴权时留空openai_compatible是 config.py 中llm_provider字面量枚举的有效值。改完重启后端uv run app后在 Settings 页面点 Test Connection 验证。验证连接结果SETUP.md 的 First-Time Setup Checklist 与设计文档 的 Verification 一节给出了文档化的成功标准Test Connection 返回健康状态并显示模型输出。健康检查实际执行一次最小补全调用prompt 为Himax_tokens: 64结果字段见LLMHealthCheck类型定义config.tshealthy: true且带model、response_model。失败时健康检查返回的error_code能直接指示错在哪一环判定逻辑见 check_llm_healtherror_code文档给出的含义对应处理not_found_404服务端在/v1/chat/completions返回 404核对api_base是否指向真正暴露 OpenAI Chat Completions 的服务而非其他路径duplicate_v1_path404 且错误信息中含/v1/v1/检查最终请求路径是否出现了重复的/v1html_response响应是 HTML 页面而非 JSON请求打到了非 API 端点核对 URLempty_content模型返回了空内容查看服务端日志确认模型是否正常加载设计文档给出的手动验证流程无测试基础设施属文档示例步骤在 8080 端口启动带 OpenAI server 的 llama.cpp → Settings 中选 OpenAI-Compatibleapi_base预填http://localhost:8080/v1→ API key 留空、模型填llama-3.1-8b→ Test Connection 显示健康并出现模型输出。边界与限制本地模型llama.cpp、Ollama 等常比云端慢单次简历定制/改进请求受REQUEST_TIMEOUT_SECONDS约束默认 240 秒有效范围[30, 1800]config.py 中会做截断。.env.example 明确提醒调大该值时必须同步前端的NEXT_PUBLIC_REQUEST_TIMEOUT_MS 该值 × 1000只改后端不生效——因为前端代理与客户端会先于后端中止请求。已配置provideropenai 自定义api_base的旧用法继续可用openai_compatible的引入不做静默迁移见设计文档的 Goals。两套 key 命名空间相互独立清空openai的 key 不会动到openai_compatible的 key反之亦然。连接验证通过后按 SETUP.md 的清单回到 Dashboard 上传第一份简历即可让本地模型承担后续的简历处理任务。【免费下载链接】Resume-MatcherThe #1 AI Harness for Building Resumes, PDFs, Cover Letters more, locally with 100 LLMs support.项目地址: https://gitcode.com/GitHub_Trending/re/Resume-Matcher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考