Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 3 additions & 12 deletions devops_agent/core/master_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
import os

from agno.knowledge import Knowledge
from agno.models.openai import OpenAIChat
from agno.models.anthropic import Claude
from agno.models.google.gemini import Gemini
from devops_agent.utils.model_provider import get_model
from agno.team import Team
from agno.tools.reasoning import ReasoningTools
from agno.vectordb.qdrant import Qdrant
Expand Down Expand Up @@ -59,15 +57,8 @@
)

def execute_master_agent(provider: str, model_str: str, user_query: str = None, debug_mode: bool=False) -> str:
llm_provider = provider.lower().strip()
if llm_provider == 'openai':
model = OpenAIChat(id=model_str, api_key=os.environ.get('OPENAI_API_KEY'))
elif llm_provider == 'anthropic':
model = Claude(id=model_str, temperature=0.6, api_key=os.environ.get('ANTHROPIC_API_KEY'))
elif llm_provider == 'google':
model = Gemini(id=model_str, temperature=0.6, api_key=os.environ.get('GEMINI_API_KEY'))
else:
model = OpenAIChat(id=model_str), # default
# handle model provider uniquely at single place
model = get_model(provider=provider, model_str=model_str)

devops_team = Team(
name="Multi Cloud and Devops Team",
Expand Down
21 changes: 21 additions & 0 deletions devops_agent/utils/model_provider.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from agno.models.anthropic import Claude
from agno.models.google import Gemini
from agno.models.openai import OpenAIChat
from dotenv import load_dotenv, find_dotenv
import os

load_dotenv(find_dotenv())


def get_model(provider: str, model_str: str):
llm_provider = provider.lower().strip()
if llm_provider == 'openai':
model = OpenAIChat(id=model_str, api_key=os.environ.get('OPENAI_API_KEY'))
elif llm_provider == 'anthropic':
model = Claude(id=model_str, temperature=0.6, api_key=os.environ.get('ANTHROPIC_API_KEY'))
elif llm_provider == 'google':
model = Gemini(id=model_str, temperature=0.6, api_key=os.environ.get('GEMINI_API_KEY'))
else:
model = OpenAIChat(id=model_str, api_key=os.environ.get('OPENAI_API_KEY')), # default

return model