Skylm808 opened a new issue, #1072:
URL: https://github.com/apache/dubbo-go-samples/issues/1072

   # llm 前端在非 Ollama provider 下访问首页会 panic
   
   ## 问题描述
   
   在 `dubbo-go-samples/llm` 中,使用非 Ollama provider(例如 Gemini 的 OpenAI 兼容接口)时:
   
   - CLI 可以正常工作
   - 但前端 UI 访问 `http://localhost:8080` 首页会直接 `panic`,返回 `500`
   
   ## 环境与配置
   
   ```env
   LLM_PROVIDER = openai
   LLM_MODELS = gemini-2.5-flash
   LLM_BASE_URL = https://generativelanguage.googleapis.com/v1beta/openai/
   LLM_API_KEY = <your-api-key>
   MODEL_NAME = gemini-2.5-flash
   NACOS_URL = localhost:8848
   TIME_OUT_SECOND = 300
   MAX_CONTEXT_COUNT = 3
   SERVER_PORT = 20020
   ```
   
   ## 复现步骤
   
   ### 1. 启动 Nacos
   
   ```bash
   docker run -d --name nacos -p 8848:8848 -p 9848:9848 -e MODE=standalone 
nacos/nacos-server:v2.2.3
   ```
   
   ### 2. 启动 llm 服务端
   
   ```bash
   cd llm
   ./start_servers.sh --instances 1 --start-port 20020
   ```
   
   ### 3. 验证 CLI 正常
   
   ```bash
   go run go-client/cmd/client.go
   ```
   
   CLI 输入一条消息,例如:
   
   ```text
   你好
   ```
   
   可以收到正常回复。
   
   ### 4. 启动前端
   
   ```bash
   go run go-client/frontend/main.go
   ```
   
   ### 5. 浏览器访问首页
   
   ```text
   http://localhost:8080
   ```
   
   ## 实际结果
   
   访问首页时报错:
   
   ```text
   runtime error: index out of range [0] with length 0
   ```
   
   堆栈指向:
   
   ```text
   llm/go-client/frontend/main.go
   "DefaultModel": cfg.OllamaModels[0],
   ```
   
   ## 预期结果
   
   前端应能正常打开,并显示当前配置中的模型列表,不应只支持 Ollama。
   
   ## 原因分析
   
   CLI 使用的是通用配置字段:
   
   - `cfg.LLMModelsList`
   - `cfg.ModelName`
   
   但前端首页仍然写死使用:
   
   - `cfg.OllamaModels`
   - `cfg.OllamaModels[0]`
   
   当 provider 不是 `ollama` 时,`cfg.OllamaModels` 为空,因此访问首页会发生越界 panic。
   
   ## 建议修复
   
   前端统一改为读取通用配置字段:
   
   - 模型列表:`cfg.LLMModelsList`
   - 默认模型:`cfg.ModelName`
   
   而不是继续写死使用 `cfg.OllamaModels`。
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to