mateclaw/mateclaw-server
倪程伟 8e00613e69
fix(embedding): use chatModel field for protocol routing instead of providerId matching (#170)
Closes #166

EmbeddingModelFactory used EmbeddingProtocol.fromProviderId() to pick the
embedding protocol, which substring-matches 'dashscope' / 'qwen' / 'aliyun'
in the providerId. The dashscope-compat provider carries 'dashscope' in its
id but runs in OpenAI compatible mode (chatModel='OpenAIChatModel',
baseUrl='https://dashscope.aliyuncs.com/compatible-mode/v1'). Routing it to
DASHSCOPE_EMBEDDING made DashScopeApi build its native path against the
compat base, producing 404s on every embedding call.

Switch to the chatModel column instead — the same signal ModelProtocol
.fromChatModel() uses for the chat path. chatModel='DashScopeChatModel'
takes the native protocol; everything else (including dashscope-compat)
takes OpenAI-compatible.

EmbeddingProtocol.fromProviderId() is retained for reference but is no
longer called; future callers should follow the chatModel pattern.
2026-05-20 09:22:06 +08:00
..
src fix(embedding): use chatModel field for protocol routing instead of providerId matching (#170) 2026-05-20 09:22:06 +08:00
Dockerfile chore(build): centralize Maven revision management 2026-05-18 10:01:11 +08:00
pom.xml fix(build): repackage server as executable jar 2026-05-18 10:21:42 +08:00
settings.xml build(maven): declare US + CN repositories in pom.xml, drop opaque mirror 2026-04-25 09:56:17 +08:00