praisonaiagents 0.0.158__tar.gz → 0.0.160__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/PKG-INFO +1 -1
  2. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agent/agent.py +7 -7
  3. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agents/agents.py +1 -1
  4. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agents/autoagents.py +1 -1
  5. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/llm/llm.py +4 -2
  6. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/llm/model_capabilities.py +1 -1
  7. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/llm/model_router.py +2 -2
  8. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/llm/openai_client.py +7 -7
  9. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/memory/memory.py +1 -1
  10. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents.egg-info/PKG-INFO +1 -1
  11. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/pyproject.toml +1 -1
  12. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_basic_agents_demo.py +1 -1
  13. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/README.md +0 -0
  14. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/__init__.py +0 -0
  15. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/_logging.py +0 -0
  16. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/_warning_patch.py +0 -0
  17. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agent/__init__.py +0 -0
  18. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agent/context_agent.py +0 -0
  19. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agent/handoff.py +0 -0
  20. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agent/image_agent.py +0 -0
  21. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agent/router_agent.py +0 -0
  22. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/agents/__init__.py +0 -0
  23. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/approval.py +0 -0
  24. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/flow_display.py +0 -0
  25. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/guardrails/__init__.py +0 -0
  26. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/guardrails/guardrail_result.py +0 -0
  27. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/guardrails/llm_guardrail.py +0 -0
  28. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/knowledge/__init__.py +0 -0
  29. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/knowledge/chunking.py +0 -0
  30. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/knowledge/knowledge.py +0 -0
  31. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/llm/__init__.py +0 -0
  32. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/main.py +0 -0
  33. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/mcp/__init__.py +0 -0
  34. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/mcp/mcp.py +0 -0
  35. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/mcp/mcp_http_stream.py +0 -0
  36. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/mcp/mcp_sse.py +0 -0
  37. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/memory/__init__.py +0 -0
  38. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/process/__init__.py +0 -0
  39. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/process/process.py +0 -0
  40. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/session.py +0 -0
  41. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/task/__init__.py +0 -0
  42. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/task/task.py +0 -0
  43. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/telemetry/__init__.py +0 -0
  44. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/telemetry/integration.py +0 -0
  45. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/telemetry/performance_cli.py +0 -0
  46. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/telemetry/performance_monitor.py +0 -0
  47. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/telemetry/performance_utils.py +0 -0
  48. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/telemetry/telemetry.py +0 -0
  49. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/telemetry/token_collector.py +0 -0
  50. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/telemetry/token_telemetry.py +0 -0
  51. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/README.md +0 -0
  52. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/__init__.py +0 -0
  53. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/arxiv_tools.py +0 -0
  54. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/calculator_tools.py +0 -0
  55. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/csv_tools.py +0 -0
  56. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/duckdb_tools.py +0 -0
  57. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/duckduckgo_tools.py +0 -0
  58. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/excel_tools.py +0 -0
  59. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/file_tools.py +0 -0
  60. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/json_tools.py +0 -0
  61. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/mongodb_tools.py +0 -0
  62. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/newspaper_tools.py +0 -0
  63. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/pandas_tools.py +0 -0
  64. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/python_tools.py +0 -0
  65. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/searxng_tools.py +0 -0
  66. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/shell_tools.py +0 -0
  67. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/spider_tools.py +0 -0
  68. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/test.py +0 -0
  69. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/tools.py +0 -0
  70. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/train/data/generatecot.py +0 -0
  71. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/wikipedia_tools.py +0 -0
  72. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/xml_tools.py +0 -0
  73. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/yaml_tools.py +0 -0
  74. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents/tools/yfinance_tools.py +0 -0
  75. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents.egg-info/SOURCES.txt +0 -0
  76. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents.egg-info/dependency_links.txt +0 -0
  77. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents.egg-info/requires.txt +0 -0
  78. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/praisonaiagents.egg-info/top_level.txt +0 -0
  79. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/setup.cfg +0 -0
  80. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test-graph-memory.py +0 -0
  81. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test.py +0 -0
  82. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_context_agent.py +0 -0
  83. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_embedding_logging.py +0 -0
  84. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_fix_comprehensive.py +0 -0
  85. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_gemini_streaming_fix.py +0 -0
  86. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_handoff_compatibility.py +0 -0
  87. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_http_stream_basic.py +0 -0
  88. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_llm_self_reflection_direct.py +0 -0
  89. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_ollama_async_fix.py +0 -0
  90. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_ollama_fix.py +0 -0
  91. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_ollama_sequential_fix.py +0 -0
  92. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_posthog_fixed.py +0 -0
  93. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_self_reflection_comprehensive.py +0 -0
  94. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_self_reflection_fix_simple.py +0 -0
  95. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_self_reflection_fix_verification.py +0 -0
  96. {praisonaiagents-0.0.158 → praisonaiagents-0.0.160}/tests/test_validation_feedback.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: praisonaiagents
3
- Version: 0.0.158
3
+ Version: 0.0.160
4
4
  Summary: Praison AI agents for completing complex tasks with Self Reflection Agents
5
5
  Author: Mervin Praison
6
6
  Requires-Python: >=3.10
@@ -250,8 +250,8 @@ class Agent:
250
250
  instructions (Optional[str], optional): Direct instructions that override role, goal,
251
251
  and backstory when provided. Used for simple, task-specific agents. Defaults to None.
252
252
  llm (Optional[Union[str, Any]], optional): Language model configuration. Can be a model
253
- name string (e.g., "gpt-4o", "anthropic/claude-3-sonnet") or a configured LLM object.
254
- Defaults to environment variable OPENAI_MODEL_NAME or "gpt-4o".
253
+ name string (e.g., "gpt-5-nano", "anthropic/claude-3-sonnet") or a configured LLM object.
254
+ Defaults to environment variable OPENAI_MODEL_NAME or "gpt-5-nano".
255
255
  tools (Optional[List[Any]], optional): List of tools, functions, or capabilities
256
256
  available to the agent for task execution. Can include callables, tool objects,
257
257
  or MCP instances. Defaults to None.
@@ -395,7 +395,7 @@ class Agent:
395
395
  self.llm_instance = LLM(**llm_config)
396
396
  else:
397
397
  # Create LLM with model string and base_url
398
- model_name = llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-4o')
398
+ model_name = llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-5-nano')
399
399
  self.llm_instance = LLM(
400
400
  model=model_name,
401
401
  base_url=base_url,
@@ -450,7 +450,7 @@ class Agent:
450
450
  ) from e
451
451
  # Otherwise, fall back to OpenAI environment/name
452
452
  else:
453
- self.llm = llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-4o')
453
+ self.llm = llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-5-nano')
454
454
  # Handle tools parameter - ensure it's always a list
455
455
  if callable(tools):
456
456
  # If a single function/callable is passed, wrap it in a list
@@ -487,7 +487,7 @@ class Agent:
487
487
  self.min_reflect = min_reflect
488
488
  self.reflect_prompt = reflect_prompt
489
489
  # Use the same model selection logic for reflect_llm
490
- self.reflect_llm = reflect_llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-4o')
490
+ self.reflect_llm = reflect_llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-5-nano')
491
491
  self._console = None # Lazy load console when needed
492
492
 
493
493
  # Initialize system prompt
@@ -573,7 +573,7 @@ Your Goal: {self.goal}
573
573
 
574
574
  Returns:
575
575
  The LLM model/instance being used by this agent.
576
- - For standard models: returns the model string (e.g., "gpt-4o")
576
+ - For standard models: returns the model string (e.g., "gpt-5-nano")
577
577
  - For custom LLM instances: returns the LLM instance object
578
578
  - For provider models: returns the LLM instance object
579
579
  """
@@ -583,7 +583,7 @@ Your Goal: {self.goal}
583
583
  return self.llm
584
584
  else:
585
585
  # Default fallback
586
- return "gpt-4o"
586
+ return "gpt-5-nano"
587
587
 
588
588
  def _ensure_knowledge_processed(self):
589
589
  """Ensure knowledge is initialized and processed when first accessed."""
@@ -163,7 +163,7 @@ class PraisonAIAgents:
163
163
  self.name = name # Store the name for the Agents collection
164
164
 
165
165
  # Check for manager_llm in environment variable if not provided
166
- self.manager_llm = manager_llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-4o')
166
+ self.manager_llm = manager_llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-5-nano')
167
167
 
168
168
  # Set logger level based on verbose
169
169
  if verbose >= 5:
@@ -92,7 +92,7 @@ class AutoAgents(PraisonAIAgents):
92
92
  self.self_reflect = self_reflect
93
93
  self.max_reflect = max_reflect
94
94
  self.min_reflect = min_reflect
95
- self.llm = llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-4o')
95
+ self.llm = llm or os.getenv('OPENAI_MODEL_NAME', 'gpt-5-nano')
96
96
  self.function_calling_llm = function_calling_llm
97
97
  self.respect_context_window = respect_context_window
98
98
  self.code_execution_mode = code_execution_mode
@@ -61,7 +61,7 @@ class LLM:
61
61
  MODEL_WINDOWS = {
62
62
  # OpenAI
63
63
  "gpt-4": 6144, # 8,192 actual
64
- "gpt-4o": 96000, # 128,000 actual
64
+ "gpt-5-nano": 96000, # 128,000 actual
65
65
  "gpt-5-nano": 96000, # 128,000 actual
66
66
  "gpt-4-turbo": 96000, # 128,000 actual
67
67
  "o1-preview": 96000, # 128,000 actual
@@ -3126,7 +3126,9 @@ Output MUST be JSON with 'reflection' and 'satisfactory'.
3126
3126
 
3127
3127
  # Add extra settings for provider-specific parameters (e.g., num_ctx for Ollama)
3128
3128
  if self.extra_settings:
3129
- params.update(self.extra_settings)
3129
+ # Filter out internal parameters that shouldn't be passed to the API
3130
+ filtered_extra_settings = {k: v for k, v in self.extra_settings.items() if k != 'metrics'}
3131
+ params.update(filtered_extra_settings)
3130
3132
 
3131
3133
  # Override with any provided parameters
3132
3134
  params.update(override_params)
@@ -6,7 +6,7 @@ This module defines which models support specific features like structured outpu
6
6
  # Models that support OpenAI-style structured outputs (response_format with Pydantic models)
7
7
  MODELS_SUPPORTING_STRUCTURED_OUTPUTS = {
8
8
  # OpenAI models
9
- "gpt-4o",
9
+ "gpt-5-nano",
10
10
  "gpt-5-nano",
11
11
  "gpt-4-turbo",
12
12
  "gpt-4-turbo-preview",
@@ -80,7 +80,7 @@ class ModelRouter:
80
80
 
81
81
  # Mid-tier models for moderate complexity
82
82
  ModelProfile(
83
- name="gpt-4o",
83
+ name="gpt-5-nano",
84
84
  provider="openai",
85
85
  complexity_range=(TaskComplexity.MODERATE, TaskComplexity.COMPLEX),
86
86
  cost_per_1k_tokens=0.0075, # Average of $0.0025 input, $0.01 output
@@ -145,7 +145,7 @@ class ModelRouter:
145
145
  preferred_providers: List of preferred providers in order
146
146
  """
147
147
  self.models = models or self.DEFAULT_MODELS
148
- self.default_model = default_model or os.getenv('OPENAI_MODEL_NAME', 'gpt-4o')
148
+ self.default_model = default_model or os.getenv('OPENAI_MODEL_NAME', 'gpt-5-nano')
149
149
  self.cost_threshold = cost_threshold
150
150
  self.preferred_providers = preferred_providers or []
151
151
 
@@ -740,7 +740,7 @@ class OpenAIClient:
740
740
  def create_completion(
741
741
  self,
742
742
  messages: List[Dict[str, Any]],
743
- model: str = "gpt-4o",
743
+ model: str = "gpt-5-nano",
744
744
  temperature: float = 1.0,
745
745
  stream: bool = False,
746
746
  tools: Optional[List[Dict[str, Any]]] = None,
@@ -785,7 +785,7 @@ class OpenAIClient:
785
785
  async def acreate_completion(
786
786
  self,
787
787
  messages: List[Dict[str, Any]],
788
- model: str = "gpt-4o",
788
+ model: str = "gpt-5-nano",
789
789
  temperature: float = 1.0,
790
790
  stream: bool = False,
791
791
  tools: Optional[List[Dict[str, Any]]] = None,
@@ -830,7 +830,7 @@ class OpenAIClient:
830
830
  def chat_completion_with_tools(
831
831
  self,
832
832
  messages: List[Dict[str, Any]],
833
- model: str = "gpt-4o",
833
+ model: str = "gpt-5-nano",
834
834
  temperature: float = 1.0,
835
835
  tools: Optional[List[Any]] = None,
836
836
  execute_tool_fn: Optional[Callable] = None,
@@ -1008,7 +1008,7 @@ class OpenAIClient:
1008
1008
  async def achat_completion_with_tools(
1009
1009
  self,
1010
1010
  messages: List[Dict[str, Any]],
1011
- model: str = "gpt-4o",
1011
+ model: str = "gpt-5-nano",
1012
1012
  temperature: float = 1.0,
1013
1013
  tools: Optional[List[Any]] = None,
1014
1014
  execute_tool_fn: Optional[Callable] = None,
@@ -1189,7 +1189,7 @@ class OpenAIClient:
1189
1189
  def chat_completion_with_tools_stream(
1190
1190
  self,
1191
1191
  messages: List[Dict[str, Any]],
1192
- model: str = "gpt-4o",
1192
+ model: str = "gpt-5-nano",
1193
1193
  temperature: float = 1.0,
1194
1194
  tools: Optional[List[Any]] = None,
1195
1195
  execute_tool_fn: Optional[Callable] = None,
@@ -1334,7 +1334,7 @@ class OpenAIClient:
1334
1334
  self,
1335
1335
  messages: List[Dict[str, Any]],
1336
1336
  response_format: BaseModel,
1337
- model: str = "gpt-4o",
1337
+ model: str = "gpt-5-nano",
1338
1338
  temperature: float = 1.0,
1339
1339
  **kwargs
1340
1340
  ) -> Any:
@@ -1368,7 +1368,7 @@ class OpenAIClient:
1368
1368
  self,
1369
1369
  messages: List[Dict[str, Any]],
1370
1370
  response_format: BaseModel,
1371
- model: str = "gpt-4o",
1371
+ model: str = "gpt-5-nano",
1372
1372
  temperature: float = 1.0,
1373
1373
  **kwargs
1374
1374
  ) -> Any:
@@ -109,7 +109,7 @@ class Memory:
109
109
  },
110
110
  "llm": {
111
111
  "provider": "openai",
112
- "config": {"model": "gpt-4o", "api_key": "..."}
112
+ "config": {"model": "gpt-5-nano", "api_key": "..."}
113
113
  },
114
114
  "embedder": {
115
115
  "provider": "openai",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: praisonaiagents
3
- Version: 0.0.158
3
+ Version: 0.0.160
4
4
  Summary: Praison AI agents for completing complex tasks with Self Reflection Agents
5
5
  Author: Mervin Praison
6
6
  Requires-Python: >=3.10
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "praisonaiagents"
7
- version = "0.0.158"
7
+ version = "0.0.160"
8
8
  description = "Praison AI agents for completing complex tasks with Self Reflection Agents"
9
9
  requires-python = ">=3.10"
10
10
  authors = [
@@ -33,7 +33,7 @@ def main():
33
33
 
34
34
  # Using different model
35
35
  print("\n3. Using a different model:")
36
- run_command([sys.executable, "tests/basic-agents.py", "--model", "gpt-4o", "Explain quantum computing in simple terms"])
36
+ run_command([sys.executable, "tests/basic-agents.py", "--model", "gpt-5-nano", "Explain quantum computing in simple terms"])
37
37
 
38
38
  # With debug logging
39
39
  print("\n4. With debug logging:")