资讯动态

PrivateGPT 如何用 serve 命令的端口与 PID 文件参数部署为常驻受管服务

发布时间:2026/9/9 14:23:26 来源:尧图企业网站定制
PrivateGPT 如何用 serve 命令的端口与 PID 文件参数部署为常驻受管服务【免费下载链接】privateGPTComplete API layer for private AI applications on local models: RAG, skills, tools, MCP, text-to-sql, and more. Works with any OpenAI-compatible inference server.项目地址: https://gitcode.com/GitHub_Trending/pr/privateGPT当你需要把 PrivateGPT 从终端里跑一下变成一台机器上长期在线的 HTTP 服务时核心工具就是private-gpt serve命令的两个参数--port决定服务监听哪个端口--pid-file让服务把自己的进程 ID 写进文件供 systemd / launchd 等进程管理器做监督、重复启动检查和清理。读完本文你会得到一条固定的操作路径启动 LLM 服务 → 指定端口启动 PrivateGPT → 用 PID 文件防止重复启动并验证服务健康。前提条件本机已有一个 OpenAI 兼容的 LLM 服务文档以 Ollama 为例并已安装 PrivateGPTuv工具安装或 Homebrew。准备安装 PrivateGPT 并启动 LLM 服务安装命令来自 Quickstart# Linux / 通用先装 uv curl -LsSf https://astral.sh/uv/install.sh | sh uv tool install --python 3.11 \ --find-links https://wheels.privategpt.dev/packages/ \ private-gpt[core]# macOS brew tap zylon-ai/tap brew install private-gpt然后启动你的推理服务。以 Ollama 为例模型名与端口取自文档示例可按实际使用的 provider 替换ollama pull qwen3.5:35b # LLM (~24 GB) ollama pull mxbai-embed-large # Embeddings (~670 MB) ollama serve # runs on port 11434用 --port 与配置文件确定服务端口serve的端口相关参数来自 CLI 文档Flag默认值说明--host0.0.0.0绑定地址--portfrom settingsHTTP 端口--log-levelinfodebug|info|warn|error不传--port时端口取自配置文件中server.port。仓库自带的 settings.yaml 中这一项是server: port: ${PORT:8080}即默认端口为8080也可通过环境变量PORT覆盖。三种指定方式按你的部署习惯选一即可# 方式一默认端口8080 OPENAI_API_BASEhttp://localhost:11434/v1 \ OPENAI_EMBEDDING_API_BASEhttp://localhost:11434/v1 \ private-gpt serve # 方式二命令行显式指定端口 OPENAI_API_BASEhttp://localhost:11434/v1 \ OPENAI_EMBEDDING_API_BASEhttp://localhost:11434/v1 \ private-gpt serve --port 9090 # 方式三环境变量覆盖配置中的端口 PORT9090 OPENAI_API_BASEhttp://localhost:11434/v1 \ OPENAI_EMBEDDING_API_BASEhttp://localhost:11434/v1 \ private-gpt serve其中OPENAI_API_BASE/OPENAI_EMBEDDING_API_BASE指向你的 LLM 与 Embedding 服务示例中两个都指向 Ollama 的11434端口若你用 LM Studio、LlamaCPP 或 vLLM换成对应端口例如 vLLM 示例为8000与8001。模型在启动时自动发现不需要额外配置。--reload是开发期自动重载参数常驻生产场景不要启用。用 --pid-file 让服务可被监督--pid-file的用途在 CLI 文档中一句话写明了Write PID to file (for systemd / launchd)。用法# macOS / Linux OPENAI_API_BASEhttp://localhost:11434/v1 \ OPENAI_EMBEDDING_API_BASEhttp://localhost:11434/v1 \ private-gpt serve --pid-file /var/run/private-gpt.pidWindowsPowerShell下文档给出的路径示例$env:OPENAI_API_BASE http://localhost:11434/v1 $env:OPENAI_EMBEDDING_API_BASE http://localhost:11434/v1 private-gpt serve --pid-file C:\ProgramData\private-gpt\private-gpt.pid文档明确的 PID 文件行为若指定了--pid-file且文件已存在、其中记录的是一个存活进程命令会以退出码 1 结束并打印已存在的 PID。这保证同一台机器上不会悄悄跑出两个服务实例。收到SIGTERM时 PID 文件被删除即服务正常停止后不会留下仍在运行的假象。关于文件里记录的进程已经不在了stale PID file的情况文档正文未展开实现见 serve 命令源码探测不到该 PID 对应进程时视为 stale 文件直接继续启动并覆盖写入新 PID。注意一点仓库文档只说明了--pid-file面向 systemd / launchd 这类进程管理器但没有附带现成的 systemd unit 或 launchd plist 文件内容。你可以按自己系统的服务管理器语法编写 unit在其中用--pid-file指向的文件做进程管理并给服务进程注入前面用到的OPENAI_API_BASE、OPENAI_EMBEDDING_API_BASE等环境变量。验证服务是否就位启动后按以下方式核对健康检查。CLI 文档说明private-gpt run通过检查/health判断服务是否可达。该接口的定义见 health 路由源码GET /health返回{status: ok}且注释明确该端点不要求认证。默认端口下访问http://localhost:8080/health若改用其他--port把 URL 中的8080换成你的端口。UI 与 API 入口。Quickstart 文档指出启动成功后 PrivateGPT 在8080端口可用浏览器打开http://localhost:8080/ui可见界面API 遵循 Anthropic API 规范文档中指向 API Reference。重复启动防护。服务正在运行时再次执行带同一--pid-file的serve命令应看到已存在 PID的提示且退出码为 1——这正是 PID 文件机制生效的验证方式。边界与限制--port缺省时端口完全由配置决定server.port: ${PORT:8080}若你的自定义 settings 文件改过这一项请以配置文件为准命令行--port会覆盖配置值。服务被 systemd、Docker 等外部方式管理时private-gpt run的自动启动服务逻辑不适用——文档建议此时给run传--no-server跳过服务探测与自动启动。本场景只覆盖 HTTP 服务进程serve。后台 workerprivate-gpt worker是另一条通过环境变量PGPT_WORKER_MODE等控制的启动路径与serve的常驻化互不替代需要时再单独配置。文档没有提供 systemd unit / launchd plist 的官方模板服务管理器侧的配置需由你按目标系统的规范编写。【免费下载链接】privateGPTComplete API layer for private AI applications on local models: RAG, skills, tools, MCP, text-to-sql, and more. Works with any OpenAI-compatible inference server.项目地址: https://gitcode.com/GitHub_Trending/pr/privateGPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价