Follow-up to #1593 (merged), which added the LiteLLM provider. The claude-bot review on that PR flagged items that merged unaddressed.
Bug (must fix)
LiteLLMProvider.embed() raises TypeError: embedding() got multiple values for keyword argument 'model' whenever a caller overrides the model — model lands in both the explicit model= argument and the spread **call_kwargs. No test currently exercises embed().
Cleanup (bot review)
- Document the
litellm provider in docs/sdk/sdks/llm.mdx (Cloud Providers section) — required by the docs policy.
create_client docstring in src/gaia/llm/factory.py still lists only ("lemonade", "openai", or "claude").
- Redundant
drop_params (set globally in __init__ and per-call) — collapse to a single per-call default that callers can override without a duplicate-keyword error.
Scope
src/gaia/llm/providers/litellm.py, src/gaia/llm/factory.py, tests/unit/test_litellm_provider.py, docs/sdk/sdks/llm.mdx. No behavior change to the chat/stream paths.
Follow-up to #1593 (merged), which added the LiteLLM provider. The claude-bot review on that PR flagged items that merged unaddressed.
Bug (must fix)
LiteLLMProvider.embed()raisesTypeError: embedding() got multiple values for keyword argument 'model'whenever a caller overrides the model —modellands in both the explicitmodel=argument and the spread**call_kwargs. No test currently exercisesembed().Cleanup (bot review)
litellmprovider indocs/sdk/sdks/llm.mdx(Cloud Providers section) — required by the docs policy.create_clientdocstring insrc/gaia/llm/factory.pystill lists only("lemonade", "openai", or "claude").drop_params(set globally in__init__and per-call) — collapse to a single per-call default that callers can override without a duplicate-keyword error.Scope
src/gaia/llm/providers/litellm.py,src/gaia/llm/factory.py,tests/unit/test_litellm_provider.py,docs/sdk/sdks/llm.mdx. No behavior change to the chat/stream paths.