Skip to content

fix(llm): LiteLLM embed() crashes on model override + finish #1593 review items #1625

Description

@itomek

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    llmLLM backend changes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions