ARTICLE DETAIL

资讯详情

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

如何用 uv 从源码安装 PrivateGPT 并以热重载开发模式运行

如何用 uv 从源码安装 PrivateGPT 并以热重载开发模式运行 如何用 uv 从源码安装 PrivateGPT 并以热重载开发模式运行【免费下载链接】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 源码、跑测试或边改代码边看效果就需要从克隆的仓库出发用 uv 安装依赖并以开发模式启动服务。这篇文章走通完整路径安装 uv、克隆仓库、uv sync装依赖、先以普通模式确认服务能起来最后用--reload参数开启文件变更自动重启的热重载模式。适用前提是本机已经有一个 OpenAI 兼容的 LLM 服务在运行官方文档默认以 Ollama 的http://localhost:11434/v1为例因为 PrivateGPT 本身不运行模型它通过OPENAI_API_BASE连接外部推理服务。前置条件Python 版本pyproject.toml 声明requires-python 3.11,3.12项目只接受 3.11。uv 在uv sync时会自动按这个约束处理解释器。一个运行中的 LLM 服务PrivateGPT 启动时会向OPENAI_API_BASE指向的服务发起GET /v1/models并自动注册返回的模型服务没起来就会无模型可用见 启动流程说明。git用于克隆仓库。安装 uv按平台选择官方安装命令来自 本地安装文档# macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh安装后需要重启 shell或执行source ~/.zshrcmacOS/source ~/.bashrcLinux让uv命令生效。# Windows PowerShell powershell -c irm https://astral.sh/uv/install.ps1 | iexWindows 上安装后重启 PowerShell 会话即可。克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/pr/privateGPT cd privateGPT uv sync --frozen --extra core说明默认的源码安装使用coreextra它包含了 OpenAI 兼容的 LLM/Embedding 客户端、tokenizer、Qdrant 向量库、文档摄入和工具集定义见 pyproject.toml 的[project.optional-dependencies]。按需追加功能 extra文档给出的例子是队列支持uv sync --frozen --extra core --extra queue。不需要时不要多加。装完可以在private_gpt/包和tests/目录上继续开发uv sync创建的项目虚拟环境由uv run统一使用。先以普通模式启动确认基线可用在开热重载之前先用普通方式跑一次排除环境问题# macOS / Linux OPENAI_API_BASEhttp://localhost:11434/v1 uv run private-gpt serve# Windows PowerShell $env:OPENAI_API_BASE http://localhost:11434/v1 uv run python -m private_gpt启动后在浏览器打开 http://localhost:8080/ui 确认界面可访问。服务默认监听8080端口API 基地址为http://localhost:8080。这一步能通说明依赖、LLM 连接和配置都没有问题后面的热重载才有意义。开启热重载开发模式文档给出的开发命令是# macOS / Linux OPENAI_API_BASEhttp://localhost:11434/v1 \ PGPT_PROFILESlocal \ uv run private-gpt serve --reload# Windows PowerShell $env:OPENAI_API_BASE http://localhost:11434/v1 $env:PGPT_PROFILES local uv run private-gpt serve --reload其中--reload是serve命令的开发参数文件发生变化时自动重启服务见 CLI 文档 中 serve 的参数表。注意PGPT_PROFILESlocal的含义它告诉 PrivateGPT 在基础settings.yaml之上叠加加载settings-local.yamlprofile 命名规则是settings-{name}.yaml默认定位在项目根目录可用PGPT_SETTINGS_FOLDER覆盖见 Settings Profiles。仓库本身并没有附带settings-local.yaml如果该文件不存在启动会报FileNotFoundError: Settings file not found for profile local见 Troubleshooting。所以有两种做法你还没有自定义配置把PGPT_PROFILESlocal这一行删掉直接OPENAI_API_BASEhttp://localhost:11434/v1 uv run private-gpt serve --reload即可你想覆盖模型、可观测性等配置先在项目根目录创建settings-local.yaml再启动需要更细粒度模型设置时参考 Detailed Model Configuration 生成settings-model.yaml的做法。Makefile 快捷方式仅 UnixOPENAI_API_BASEhttp://localhost:11434/v1 make devmake dev实际执行的是 Makefile 中的dev目标PYTHONUNBUFFERED1 uv run private-gpt serve --reload --host 0.0.0.0 --port 8080。注意它比文档命令多绑定了--host 0.0.0.0服务会监听所有网卡在不可信网络环境下要留意这一点。验证热重载是否生效文档给出的成功条件是服务可用启动后打开 http://localhost:8080/ui 能看到界面API 在http://localhost:8080。修改private_gpt/下任意 Python 文件保存后服务应自动重启无需手动 CtrlC。模型是否被正确发现可以看启动日志或用文档中列出的接口确认curl http://localhost:8080/v1/modelsPrivateGPT 启动时会自动向 LLM 服务查询并注册所有返回的模型GET /v1/models应列出这些模型。常见问题按 Troubleshooting 文档启动后没有模型 / 报 no models available依次确认 LLM 服务是否在运行curl http://localhost:11434/v1/models应能返回、OPENAI_API_BASE是否包含/v1、以及PGPT_LLM_AUTO_DISCOVER_MODELS是否被设成了false默认true会自动发现。FileNotFoundError: Settings file not found for profile xxxPGPT_PROFILES指向的settings-xxx.yaml在 settings 文件夹默认项目根目录中不存在。创建该文件或去掉PGPT_PROFILES环境变量。[Errno 48] Address already in use8080 端口被占用用--port换端口例如private-gpt serve --port 8081。后续操作依赖安装完成的基础上make test、make format、make lint、make typecheck等 Makefile 目标可以直接用于开发和代码质量检查需要给某个模型单独调 tokenizer、context window 或采样参数时再按 Settings Profiles 与 Detailed Model Configuration 生成并使用 profile。【免费下载链接】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),仅供参考
返回列表