零冲突开发:3步修改LangGraph API默认监听地址全指南
你还在为本地开发时API端口冲突烦恼吗?启动项目时频繁遇到"Address already in use"错误?本文将通过修改ollama-deep-researcher项目中的API默认监听地址,彻底解决这一开发痛点。读完本文你将获得:
- 精准定位配置文件的能力
- 3种修改监听地址的实操方案
- 冲突排查与验证的完整流程
配置文件定位:找到API地址的源头
API服务的监听地址通常在项目配置文件中定义。通过分析src/ollama_deep_researcher/configuration.py源码,我们发现两个关键配置项:
42: ollama_base_url: str = Field(
43: default="http://localhost:11434/",
44: title="Ollama Base URL",
45: description="Base URL for Ollama API",
46: )
47: lmstudio_base_url: str = Field(
48: default="http://localhost:1234/v1",
49: title="LMStudio Base URL",
50: description="Base URL for LMStudio OpenAI-compatible API",
51: )
这两个参数分别控制Ollama和LMStudio的API监听地址,默认使用localhost和固定端口(11434/1234),这是导致端口冲突的常见原因。
方法一:直接修改源码配置(快速测试)
适合临时测试的最快修改方式,直接编辑配置文件:
-
打开配置文件:
vim src/ollama_deep_researcher/configuration.py -
修改默认值: 将第43行和第48行的默认值修改为可用的地址和端口,例如:
default="http://0.0.0.0:11435/", # 更改Ollama端口为11435 default="http://0.0.0.0:1235/v1", # 更改LMStudio端口为1235 -
重启服务使修改生效
注意:此方法会改变项目默认配置,提交代码前建议恢复默认值
方法二:使用环境变量(开发推荐)
更优雅的方式是通过环境变量覆盖默认配置,不修改源码即可临时变更地址:
-
创建.env文件(如果不存在):
touch .env -
添加环境变量配置:
OLLAMA_BASE_URL=http://localhost:11435/ LMSTUDIO_BASE_URL=http://localhost:1235/v1 -
通过环境变量启动项目:
export $(cat .env | xargs) && python -m src.ollama_deep_researcher
这种方式符合langgraph.json中定义的环境配置规范,第7行明确指定了环境变量文件路径:
7: "env": "./.env",
方法三:运行时动态配置(生产适用)
在生产环境或需要动态调整时,可通过RunnableConfig在运行时注入配置:
from ollama_deep_researcher.configuration import Configuration
from langchain_core.runnables import RunnableConfig
config = RunnableConfig(
configurable={
"ollama_base_url": "http://localhost:11435/",
"lmstudio_base_url": "http://localhost:1235/v1"
}
)
# 应用配置
configurable = Configuration.from_runnable_config(config)
这种方式在src/ollama_deep_researcher/graph.py的第159行有实际应用:
159: configurable = Configuration.from_runnable_config(config)
修改验证与冲突排查
修改完成后,通过以下步骤验证是否生效:
- 启动项目观察控制台输出,确认服务监听新地址
- 使用curl测试API连通性:
curl http://localhost:11435/api/tags # 测试Ollama API - 若仍有冲突,使用工具查找占用端口的进程:
# 查找端口占用情况 lsof -i :11434 # 终止占用进程 kill -9 <PID>
最佳实践与注意事项
- 开发环境:优先使用环境变量方法,避免修改源码
- 团队协作:将常用端口配置添加到docs/new_features_0.0.1.md文档
- 端口选择:建议使用1024以上且未被IANA分配的端口(49152-65535)
- 多实例部署:可通过不同端口启动多个服务实例,实现并行开发测试
通过本文介绍的三种方法,你可以根据不同场景灵活修改API监听地址,彻底告别端口冲突问题。掌握这些技巧将显著提升你的LangGraph项目开发效率。收藏本文以备不时之需,关注获取更多开发实战技巧!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



