Skip to content

feat(flo-ai): add azure openai llm#236

Merged
vizsatiz merged 4 commits intodevelopfrom
feat/azure-opeani-llm
Mar 6, 2026
Merged

feat(flo-ai): add azure openai llm#236
vizsatiz merged 4 commits intodevelopfrom
feat/azure-opeani-llm

Conversation

@vishnurk6247
Copy link
Member

@vishnurk6247 vishnurk6247 commented Mar 6, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Added support for Azure OpenAI as an LLM provider with full configuration support
    • Improved nested workflow configuration propagation to ensure consistent settings across cascading builds
  • Improvements

    • Standardized image formatting across LLM providers for consistent behavior
    • Reduced verbose logging output to decrease noise in execution logs

vizsatiz
vizsatiz previously approved these changes Mar 6, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 6, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 06e00616-3381-4f1e-9c69-e36a51cf2b73

📥 Commits

Reviewing files that changed from the base of the PR and between f5d6e35 and da6781f.

📒 Files selected for processing (10)
  • flo_ai/flo_ai/arium/builder.py
  • flo_ai/flo_ai/arium/nodes.py
  • flo_ai/flo_ai/helpers/llm_factory.py
  • flo_ai/flo_ai/llm/__init__.py
  • flo_ai/flo_ai/llm/azure_openai_llm.py
  • flo_ai/flo_ai/llm/openai_llm.py
  • flo_ai/flo_ai/llm/rootflo_llm.py
  • flo_ai/flo_ai/models/agent.py
  • flo_ai/tests/unit-tests/test_openai_llm.py
  • flo_ai/tests/unit-tests/test_openai_vllm.py

📝 Walkthrough

Walkthrough

This PR adds Azure OpenAI LLM provider support with required configuration fields, implements a new AzureOpenAI client class with streaming and function-calling capabilities, modifies image message formatting to return list structures, propagates configuration objects through nested arium builds, and updates tests accordingly.

Changes

Cohort / File(s) Summary
Azure OpenAI LLM Integration
flo_ai/flo_ai/llm/azure_openai_llm.py, flo_ai/flo_ai/helpers/llm_factory.py, flo_ai/flo_ai/llm/__init__.py
New AzureOpenAI class implementing async Azure OpenAI client with generate, stream, tool formatting, and image formatting support. Added factory method _create_azure_openai_llm in LLMFactory with parameter validation and environment-variable fallbacks. Extended module exports to include AzureOpenAI.
Configuration Model Updates
flo_ai/flo_ai/models/agent.py, flo_ai/flo_ai/llm/rootflo_llm.py
Added azure_endpoint and azure_api_version optional fields to LLMConfigModel. Extended provider enum to include 'azure_openai'. Updated initialization logic to treat AZURE_OPENAI the same as OPENAI for wrapper selection. Enforce name requirement for Azure OpenAI configuration.
Image Message Formatting
flo_ai/flo_ai/llm/openai_llm.py, flo_ai/tests/unit-tests/test_openai_llm.py, flo_ai/tests/unit-tests/test_openai_vllm.py
Modified format_image_in_message to return list[dict] instead of single dict; now wraps image in structure with type 'image_url' key. Updated test expectations to validate list-based return format and new nested key structure.
Arium Configuration Propagation
flo_ai/flo_ai/arium/builder.py
Propagate agents, function_registry, tool_registry, and additional kwargs into recursive from_yaml calls for nested arium builds instead of passing None.
Logging Cleanup
flo_ai/flo_ai/arium/nodes.py
Removed logging statement in FunctionNode.run that emitted inputs, variables, and kwargs.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • vizsatiz

Poem

🐰 Hops through clouds of Azure blue,
Registries now flow right through,
Images wrapped in lists so neat,
Nested configs, complete!

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/azure-opeani-llm

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vizsatiz vizsatiz merged commit d3acdbd into develop Mar 6, 2026
8 of 9 checks passed
@vizsatiz vizsatiz deleted the feat/azure-opeani-llm branch March 6, 2026 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants