问题描述
我在本地测试 book-flight-ai-agent sample 时,发现 .env.example 中默认模型为:
LLM_MODEL = qwq
qwq 模型参数量较大,对本地机器的显存/内存要求较高。对于普通开发者电脑来说,直接按照 README 跑这个 sample 可能会遇到模型无法加载、响应很慢,或者 Agent 行为不稳定的问题。
我本地使用较小模型 qwen3:4b 测试时,服务可以启动,HTTP/SSE 接口也能返回内容,但模型没有正确触发订票工具,而是把用户的查票请求判断为不相关任务。
请求:
curl -X POST http://127.0.0.1:8080/api/chat \
-H "Content-Type: application/json" \
-d '{"message": "帮我查明天从北京到上海的航班", "bin": ""}'
返回的 SSE 流中出现了类似内容:
**Thought**: Greeting task is unrelated.
**Action**: ```json { "method": "TaskUnrelated", "params": {} } ```
说明小模型虽然能跑通接口,但不一定能稳定完成 Agent 工具调用流程。
测试环境
OS: Windows 11
Go: 1.25
Docker Desktop
Ollama: qwen3:4b
Sample: book-flight-ai-agent
复现步骤:
进入 book-flight-ai-agent 目录:
cp .env.example .env
将 .env 中模型改为本地可运行的小模型:
LLM_MODEL = qwen3:4b
LLM_URL = http://127.0.0.1:11434
启动 server:
go run ./go-server/cmd/server.go
启动 frontend:
go run ./go-client/frontend/main.go
调用聊天接口:
curl -X POST http://127.0.0.1:8080/api/chat \
-H "Content-Type: application/json" \
-d '{"message": "帮我查明天从北京到上海的航班", "bin": ""}'
实际结果
服务可以启动,接口可以返回 SSE 流,但较小模型可能无法稳定触发 SearchFlightTicketTool,导致 demo 的核心订票流程无法完整展示。
同时,README 中没有说明:
- 推荐使用多大参数量的模型;
- 最低可用模型配置;
- 普通开发者机器跑不动 qwq 时应该怎么办;
- 是否有 mock/fallback 模式可以绕过 LLM,直接验证 RPC 和工具链路。
预期结果
README 应该补充模型要求和推荐配置,让用户知道:
1、默认模型 qwq 对硬件要求较高;
2、 推荐使用哪些 Ollama 模型;
3、 小模型可能只能验证接口,不一定能稳定完成 Agent 工具调用;
4、如果只是想验证 sample 的 RPC/Web/SSE 链路,是否可以使用 mock 模式或固定响应模式。
建议修复方式
建议在 README 中增加一个模型推荐章节:
Model requirements
This sample uses an LLM to decide when to call flight booking tools.
Recommended models:
| Model |
Purpose |
| qwen2.5:7b / qwen3:8b |
Basic local test |
| qwen2.5:14b |
Recommended for more stable tool calling |
| qwq |
Best reasoning quality, but requires much more memory |
Small models may run the HTTP/SSE flow successfully, but may fail to call tools reliably.
也可以考虑增加一个 mock/fallback 模式:
LLM_MODE = mock
当用户只想验证 sample 是否跑通时,mock 模式可以直接返回固定航班查询结果,避免本地模型能力不足导致误判为代码问题。
影响
这个问题不会阻塞代码编译或服务启动,但会明显影响新用户体验。用户可能会误以为 sample 本身有 bug,实际上是默认模型门槛较高或小模型工具调用能力不足。
如果这个修复方向可以接受,我可以继续提交 PR。
问题描述
我在本地测试 book-flight-ai-agent sample 时,发现 .env.example 中默认模型为:
LLM_MODEL = qwq
qwq模型参数量较大,对本地机器的显存/内存要求较高。对于普通开发者电脑来说,直接按照 README 跑这个 sample 可能会遇到模型无法加载、响应很慢,或者 Agent 行为不稳定的问题。我本地使用较小模型
qwen3:4b测试时,服务可以启动,HTTP/SSE 接口也能返回内容,但模型没有正确触发订票工具,而是把用户的查票请求判断为不相关任务。请求:
返回的 SSE 流中出现了类似内容:
说明小模型虽然能跑通接口,但不一定能稳定完成 Agent 工具调用流程。
测试环境
OS: Windows 11
Go: 1.25
Docker Desktop
Ollama: qwen3:4b
Sample: book-flight-ai-agent
复现步骤:
进入 book-flight-ai-agent 目录:
将 .env 中模型改为本地可运行的小模型:
启动 server:
调用聊天接口:
实际结果
服务可以启动,接口可以返回 SSE 流,但较小模型可能无法稳定触发 SearchFlightTicketTool,导致 demo 的核心订票流程无法完整展示。
同时,README 中没有说明:
预期结果
README 应该补充模型要求和推荐配置,让用户知道:
1、默认模型 qwq 对硬件要求较高;
2、 推荐使用哪些 Ollama 模型;
3、 小模型可能只能验证接口,不一定能稳定完成 Agent 工具调用;
4、如果只是想验证 sample 的 RPC/Web/SSE 链路,是否可以使用 mock 模式或固定响应模式。
建议修复方式
建议在 README 中增加一个模型推荐章节:
Model requirements
This sample uses an LLM to decide when to call flight booking tools.
Recommended models:
Small models may run the HTTP/SSE flow successfully, but may fail to call tools reliably.
也可以考虑增加一个 mock/fallback 模式:
当用户只想验证 sample 是否跑通时,mock 模式可以直接返回固定航班查询结果,避免本地模型能力不足导致误判为代码问题。
影响
这个问题不会阻塞代码编译或服务启动,但会明显影响新用户体验。用户可能会误以为 sample 本身有 bug,实际上是默认模型门槛较高或小模型工具调用能力不足。
如果这个修复方向可以接受,我可以继续提交 PR。