-
Notifications
You must be signed in to change notification settings - Fork 57
added models and voice Id in types #713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -4,6 +4,10 @@ | |||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
| from app.ai.voice.agents.breeze_buddy.template.types import ( | ||||||||||||||||||||||||||||||||||||||||||||||||
| BackgroundSoundFile, | ||||||||||||||||||||||||||||||||||||||||||||||||
| CartesiaVoiceId, | ||||||||||||||||||||||||||||||||||||||||||||||||
| CartesiaVoiceModel, | ||||||||||||||||||||||||||||||||||||||||||||||||
| ElevenLabsVoiceId, | ||||||||||||||||||||||||||||||||||||||||||||||||
| ElevenLabsVoiceModel, | ||||||||||||||||||||||||||||||||||||||||||||||||
| InterruptionMode, | ||||||||||||||||||||||||||||||||||||||||||||||||
| KeywordMatchType, | ||||||||||||||||||||||||||||||||||||||||||||||||
| NoiseFilterType, | ||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -16,8 +20,10 @@ | |||||||||||||||||||||||||||||||||||||||||||||||
| SHORT_TO_FULL_LANGUAGE_CODE, | ||||||||||||||||||||||||||||||||||||||||||||||||
| ) | ||||||||||||||||||||||||||||||||||||||||||||||||
| from app.ai.voice.llm.types import ( | ||||||||||||||||||||||||||||||||||||||||||||||||
| AzureLLMModel, | ||||||||||||||||||||||||||||||||||||||||||||||||
| AzureLLMPlaygroundConfig, | ||||||||||||||||||||||||||||||||||||||||||||||||
| AzureThinkingPlaygroundConfig, | ||||||||||||||||||||||||||||||||||||||||||||||||
| GoogleVertexModel, | ||||||||||||||||||||||||||||||||||||||||||||||||
| LLMProvider, | ||||||||||||||||||||||||||||||||||||||||||||||||
| LLMSdk, | ||||||||||||||||||||||||||||||||||||||||||||||||
| VertexClaudeThinkingPlaygroundConfig, | ||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -120,10 +126,49 @@ def _voice_config_fields(model_class) -> list: | |||||||||||||||||||||||||||||||||||||||||||||||
| ), | ||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
| # TTS voice models per provider (label derived from value) | ||||||||||||||||||||||||||||||||||||||||||||||||
| tts_voice_models = { | ||||||||||||||||||||||||||||||||||||||||||||||||
| TTSProvider.ELEVENLABS.value: [ | ||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||
| "value": m.value, | ||||||||||||||||||||||||||||||||||||||||||||||||
| "label": m.value.replace("eleven_", "").replace("_", " ").title(), | ||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||
| for m in ElevenLabsVoiceModel | ||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||
| TTSProvider.CARTESIA.value: [ | ||||||||||||||||||||||||||||||||||||||||||||||||
| {"value": m.value, "label": m.value.replace("-", " ").title()} | ||||||||||||||||||||||||||||||||||||||||||||||||
| for m in CartesiaVoiceModel | ||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||
| TTSProvider.SARVAM.value: [], | ||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
| # TTS voice IDs per provider (label from enum name since values are UUIDs) | ||||||||||||||||||||||||||||||||||||||||||||||||
| tts_voice_ids = { | ||||||||||||||||||||||||||||||||||||||||||||||||
| TTSProvider.ELEVENLABS.value: [ | ||||||||||||||||||||||||||||||||||||||||||||||||
| {"value": v.value, "label": v.name.title()} for v in ElevenLabsVoiceId | ||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||
| TTSProvider.CARTESIA.value: [ | ||||||||||||||||||||||||||||||||||||||||||||||||
| {"value": v.value, "label": v.name.title()} for v in CartesiaVoiceId | ||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||
| TTSProvider.SARVAM.value: [], | ||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||
|
coderabbitai[bot] marked this conversation as resolved.
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
| # LLM models per provider (keyed by provider or provider__sdk) | ||||||||||||||||||||||||||||||||||||||||||||||||
| llm_models = { | ||||||||||||||||||||||||||||||||||||||||||||||||
| LLMProvider.AZURE.value: [ | ||||||||||||||||||||||||||||||||||||||||||||||||
| {"value": m.value, "label": m.value} for m in AzureLLMModel | ||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+157
to
+159
|
||||||||||||||||||||||||||||||||||||||||||||||||
| llm_models = { | |
| LLMProvider.AZURE.value: [ | |
| {"value": m.value, "label": m.value} for m in AzureLLMModel | |
| azure_model_values = list(dict.fromkeys([*(m.value for m in AzureLLMModel), "gpt-4o-automatic"])) | |
| llm_models = { | |
| LLMProvider.AZURE.value: [ | |
| {"value": model_value, "label": model_value} | |
| for model_value in azure_model_values |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Copilot
AI
Apr 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
llm_models is keyed only by provider, but Vertex model choice is SDK-dependent (Gemini via Google SDK vs Claude via Anthropic SDK). As-is, the options list can surface claude-3-5-sonnet even when the user selects google_vertex + sdk=google, which will route to the Gemini build_vertex_llm path and likely fail at runtime. Consider keying Vertex model options the same way as llm_thinking_fields (e.g., google_vertex__google vs google_vertex__anthropic) and separating Gemini vs Claude model lists accordingly.
| # LLM models per provider (keyed by provider or provider__sdk) | |
| llm_models = { | |
| LLMProvider.AZURE.value: [ | |
| {"value": m.value, "label": m.value} for m in AzureLLMModel | |
| ], | |
| LLMProvider.GOOGLE_VERTEX.value: [ | |
| {"value": m.value, "label": m.value} for m in GoogleVertexModel | |
| ], | |
| # LLM models per provider (azure) or provider__sdk (google_vertex) | |
| llm_models = { | |
| LLMProvider.AZURE.value: [ | |
| {"value": m.value, "label": m.value} for m in AzureLLMModel | |
| ], | |
| f"{LLMProvider.GOOGLE_VERTEX.value}__{LLMSdk.GOOGLE.value}": [ | |
| {"value": m.value, "label": m.value} | |
| for m in GoogleVertexModel | |
| if not m.value.startswith("claude-") | |
| ], | |
| f"{LLMProvider.GOOGLE_VERTEX.value}__{LLMSdk.ANTHROPIC.value}": [ | |
| {"value": m.value, "label": m.value} | |
| for m in GoogleVertexModel | |
| if m.value.startswith("claude-") | |
| ], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kanakagrawal-crypto When models change we need to again change these types, can you check if these providers have any api exposed which lists the models that they have ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okay for now