ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

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

PrivateGPT 如何用 serve 命令的端口与 PID 文件参数部署为常驻受管服务 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),仅供参考
返回列表