安装¶
推荐使用 Docker 安装世界模拟引擎,这样能确保各项依赖正确安装、正确配置,也便于日后更新和管理。
Tip
赶时间?使用 Docker 最快本地部署 用相同的 Docker 路径逐步演示,并在最后附带一次首次 检查。想了解完整参考信息,包括从源码安装和 provider extras,可以回到这个页面继续阅读。
使用 Docker 安装¶
软件需要两个容器:主程序容器,以及作为数据库的 Neo4j。主程序容器可以从源码构建,并会自动处理依赖和反向代理,使用 supervisord 管理进程。最快的方式是使用 docker compose:
git clone https://github.com/Firefox2100/world-simulation-engine.git
cd world-simulation-engine
cp .env.example .env
# 启动容器前,先修改 .env 文件中的配置
docker compose up -d
这会基于当前代码构建主程序镜像。生产使用时建议使用稳定标签,但 main 分支可能包含一些新功能和错误修复。
从源码安装¶
也可以从源码安装软件,但需要手动安装依赖并配置服务。
安装 Neo4j¶
如果可以使用 Docker,仍然推荐使用 Docker 镜像运行 Neo4j,因为它会自动处理插件和配置。项目提供了一个只启动依赖的 docker compose 文件:
这会启动一个安装了 APOC 和 Graph Data Science 插件的 Neo4j 实例。默认用户名和密码是 neo4j 和 password,可以在 docker compose 文件中修改。
如果你希望手动安装 Neo4j,请参考对应平台的 Neo4j 安装指南。请确保安装 APOC 和 Graph Data Science 插件,并配置数据库允许远程连接。本软件需要 Cypher 25 或更新版本,因此通常需要使用 Neo4j 2025.x 或更新版本。
配置后端¶
后端是一个通过环境变量配置的 FastAPI 服务。建议为后端使用专门的虚拟环境或 conda 环境,以避免依赖冲突。例如:
python --version
# 确保 Python 版本为 3.11 或更新
python -m venv .venv
source .venv/bin/activate
# 安装所有 LLM 提供商驱动,或只安装你需要的提供商
pip install -e .[all-llm]
cp .env.example .env
# 启动后端前,先修改 .env 文件中的配置
uvicorn world_simulation_engine.app:app --host 127.0.0.1 --port 9797
all-llm extra 会安装所有受支持的聊天模型提供商集成。如果想让环境更小,可以只安装计划使用的提供商 extra:
| Extra | 安装内容 |
|---|---|
ollama |
langchain-ollama |
openai |
langchain-openai |
anthropic |
langchain-anthropic |
openrouter |
langchain-openrouter |
google-genai |
langchain-google-genai |
mistralai |
langchain-mistralai |
cohere |
langchain-cohere |
perplexity |
langchain-perplexity |
groq |
langchain-groq |
deepseek |
langchain-deepseek |
xai |
langchain-xai |
cloudflare |
langchain-cloudflare |
例如,只使用本地模型的安装可以运行 pip install -e .[ollama];混合本地和云端模型的安装可以运行 pip install -e .[ollama,openai,anthropic]。提供商端点和 API key 稍后在网页界面中配置,不在安装命令中配置。
构建前端¶
前端是一个使用 Vite 构建的 React JS 应用。它可以由静态文件服务器提供,也可以使用 Node 开发服务器运行。构建前端:
输出文件会位于 frontend/dist 文件夹中,可以用静态文件服务器提供。如果要使用开发服务器,运行:
它会在 5173 之后的第一个可用端口启动,并自动将 /api 反向代理到 9797 端口的后端。如果使用静态文件服务器,你可能需要手动配置反向代理。请参考所用静态文件服务器的文档。