inferProviderFromModel 从模型名称推断 provider
(model string)
| 1596 | |
| 1597 | // inferProviderFromModel 从模型名称推断 provider |
| 1598 | func inferProviderFromModel(model string) string { |
| 1599 | model = strings.ToLower(model) |
| 1600 | switch { |
| 1601 | case strings.HasPrefix(model, "deepseek"): |
| 1602 | return "deepseek" |
| 1603 | case strings.HasPrefix(model, "gpt") || strings.HasPrefix(model, "o1") || strings.HasPrefix(model, "o3"): |
| 1604 | return "openai" |
| 1605 | case strings.HasPrefix(model, "claude"): |
| 1606 | return "anthropic" |
| 1607 | case strings.HasPrefix(model, "gemini"): |
| 1608 | return "google" |
| 1609 | case strings.HasPrefix(model, "llama") || strings.HasPrefix(model, "mistral"): |
| 1610 | return "ollama" |
| 1611 | case strings.HasPrefix(model, "kimi") || strings.HasPrefix(model, "moonshot"): |
| 1612 | return "moonshot" |
| 1613 | case strings.HasPrefix(model, "glm"): |
| 1614 | return "glm" |
| 1615 | default: |
| 1616 | return "anthropic" // 默认 anthropic |
| 1617 | } |
| 1618 | } |
| 1619 | |
| 1620 | // validateMessageHistory 验证消息历史格式是否正确 |
| 1621 | // DeepSeek 等 API 要求:每个包含 tool_calls 的 assistant 消息后必须紧跟对应的 tool_result 消息 |
no outgoing calls
no test coverage detected