feat: route AI model selection through action-type config
Update get_ai_provider() to accept an optional model override parameter (applied only to AnthropicProvider; Gemini always uses its own model). Thread action_type-based model resolution through send_message() and generate_final_tree() in the AI chat service. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -465,7 +465,9 @@ async def send_message(
|
||||
for msg in history
|
||||
]
|
||||
|
||||
provider = get_ai_provider()
|
||||
# Resolve model for this action type
|
||||
action_model = settings.get_model_for_action(action_type)
|
||||
provider = get_ai_provider(model=action_model)
|
||||
response_text, input_tokens, output_tokens = await provider.generate_text(
|
||||
system_prompt=system_prompt,
|
||||
messages=provider_messages,
|
||||
@@ -584,7 +586,7 @@ Also provide metadata as a separate JSON object after the tree:
|
||||
|
||||
provider_messages.append({"role": "user", "content": generation_instruction})
|
||||
|
||||
provider = get_ai_provider()
|
||||
provider = get_ai_provider(model=settings.get_model_for_action("generate_full"))
|
||||
|
||||
for attempt in range(2): # One try + one retry
|
||||
response_text, input_tokens, output_tokens = await provider.generate_text(
|
||||
|
||||
Reference in New Issue
Block a user