massgen 0.0.3__py3-none-any.whl → 0.1.0__py3-none-any.whl
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.
Potentially problematic release.
This version of massgen might be problematic. Click here for more details.
- massgen/__init__.py +142 -8
- massgen/adapters/__init__.py +29 -0
- massgen/adapters/ag2_adapter.py +483 -0
- massgen/adapters/base.py +183 -0
- massgen/adapters/tests/__init__.py +0 -0
- massgen/adapters/tests/test_ag2_adapter.py +439 -0
- massgen/adapters/tests/test_agent_adapter.py +128 -0
- massgen/adapters/utils/__init__.py +2 -0
- massgen/adapters/utils/ag2_utils.py +236 -0
- massgen/adapters/utils/tests/__init__.py +0 -0
- massgen/adapters/utils/tests/test_ag2_utils.py +138 -0
- massgen/agent_config.py +329 -55
- massgen/api_params_handler/__init__.py +10 -0
- massgen/api_params_handler/_api_params_handler_base.py +99 -0
- massgen/api_params_handler/_chat_completions_api_params_handler.py +176 -0
- massgen/api_params_handler/_claude_api_params_handler.py +113 -0
- massgen/api_params_handler/_response_api_params_handler.py +130 -0
- massgen/backend/__init__.py +39 -4
- massgen/backend/azure_openai.py +385 -0
- massgen/backend/base.py +341 -69
- massgen/backend/base_with_mcp.py +1102 -0
- massgen/backend/capabilities.py +386 -0
- massgen/backend/chat_completions.py +577 -130
- massgen/backend/claude.py +1033 -537
- massgen/backend/claude_code.py +1203 -0
- massgen/backend/cli_base.py +209 -0
- massgen/backend/docs/BACKEND_ARCHITECTURE.md +126 -0
- massgen/backend/{CLAUDE_API_RESEARCH.md → docs/CLAUDE_API_RESEARCH.md} +18 -18
- massgen/backend/{GEMINI_API_DOCUMENTATION.md → docs/GEMINI_API_DOCUMENTATION.md} +9 -9
- massgen/backend/docs/Gemini MCP Integration Analysis.md +1050 -0
- massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +177 -0
- massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +352 -0
- massgen/backend/docs/OPENAI_GPT5_MODELS.md +211 -0
- massgen/backend/{OPENAI_RESPONSES_API_FORMAT.md → docs/OPENAI_RESPONSE_API_TOOL_CALLS.md} +3 -3
- massgen/backend/docs/OPENAI_response_streaming.md +20654 -0
- massgen/backend/docs/inference_backend.md +257 -0
- massgen/backend/docs/permissions_and_context_files.md +1085 -0
- massgen/backend/external.py +126 -0
- massgen/backend/gemini.py +1850 -241
- massgen/backend/grok.py +40 -156
- massgen/backend/inference.py +156 -0
- massgen/backend/lmstudio.py +171 -0
- massgen/backend/response.py +1095 -322
- massgen/chat_agent.py +131 -113
- massgen/cli.py +1560 -275
- massgen/config_builder.py +2396 -0
- massgen/configs/BACKEND_CONFIGURATION.md +458 -0
- massgen/configs/README.md +559 -216
- massgen/configs/ag2/ag2_case_study.yaml +27 -0
- massgen/configs/ag2/ag2_coder.yaml +34 -0
- massgen/configs/ag2/ag2_coder_case_study.yaml +36 -0
- massgen/configs/ag2/ag2_gemini.yaml +27 -0
- massgen/configs/ag2/ag2_groupchat.yaml +108 -0
- massgen/configs/ag2/ag2_groupchat_gpt.yaml +118 -0
- massgen/configs/ag2/ag2_single_agent.yaml +21 -0
- massgen/configs/basic/multi/fast_timeout_example.yaml +37 -0
- massgen/configs/basic/multi/gemini_4o_claude.yaml +31 -0
- massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +36 -0
- massgen/configs/{gemini_4o_claude.yaml → basic/multi/geminicode_4o_claude.yaml} +3 -3
- massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +36 -0
- massgen/configs/basic/multi/glm_gemini_claude.yaml +25 -0
- massgen/configs/basic/multi/gpt4o_audio_generation.yaml +30 -0
- massgen/configs/basic/multi/gpt4o_image_generation.yaml +31 -0
- massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +26 -0
- massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +26 -0
- massgen/configs/{three_agents_default.yaml → basic/multi/three_agents_default.yaml} +8 -4
- massgen/configs/basic/multi/three_agents_opensource.yaml +27 -0
- massgen/configs/basic/multi/three_agents_vllm.yaml +20 -0
- massgen/configs/basic/multi/two_agents_gemini.yaml +19 -0
- massgen/configs/{two_agents.yaml → basic/multi/two_agents_gpt5.yaml} +14 -6
- massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +31 -0
- massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +28 -0
- massgen/configs/{single_agent.yaml → basic/single/single_agent.yaml} +1 -1
- massgen/configs/{single_flash2.5.yaml → basic/single/single_flash2.5.yaml} +1 -2
- massgen/configs/basic/single/single_gemini2.5pro.yaml +16 -0
- massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +22 -0
- massgen/configs/basic/single/single_gpt4o_image_generation.yaml +22 -0
- massgen/configs/basic/single/single_gpt4o_video_generation.yaml +24 -0
- massgen/configs/basic/single/single_gpt5nano.yaml +20 -0
- massgen/configs/basic/single/single_gpt5nano_file_search.yaml +18 -0
- massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +17 -0
- massgen/configs/basic/single/single_gptoss120b.yaml +15 -0
- massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +15 -0
- massgen/configs/basic/single/single_qwen_video_understanding.yaml +15 -0
- massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +29 -0
- massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +28 -0
- massgen/configs/debug/code_execution/docker_verification.yaml +29 -0
- massgen/configs/debug/skip_coordination_test.yaml +27 -0
- massgen/configs/debug/test_sdk_migration.yaml +17 -0
- massgen/configs/docs/DISCORD_MCP_SETUP.md +208 -0
- massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +82 -0
- massgen/configs/providers/azure/azure_openai_multi.yaml +21 -0
- massgen/configs/providers/azure/azure_openai_single.yaml +19 -0
- massgen/configs/providers/claude/claude.yaml +14 -0
- massgen/configs/providers/gemini/gemini_gpt5nano.yaml +28 -0
- massgen/configs/providers/local/lmstudio.yaml +11 -0
- massgen/configs/providers/openai/gpt5.yaml +46 -0
- massgen/configs/providers/openai/gpt5_nano.yaml +46 -0
- massgen/configs/providers/others/grok_single_agent.yaml +19 -0
- massgen/configs/providers/others/zai_coding_team.yaml +108 -0
- massgen/configs/providers/others/zai_glm45.yaml +12 -0
- massgen/configs/{creative_team.yaml → teams/creative/creative_team.yaml} +16 -6
- massgen/configs/{travel_planning.yaml → teams/creative/travel_planning.yaml} +16 -6
- massgen/configs/{news_analysis.yaml → teams/research/news_analysis.yaml} +16 -6
- massgen/configs/{research_team.yaml → teams/research/research_team.yaml} +15 -7
- massgen/configs/{technical_analysis.yaml → teams/research/technical_analysis.yaml} +16 -6
- massgen/configs/tools/code-execution/basic_command_execution.yaml +25 -0
- massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +41 -0
- massgen/configs/tools/code-execution/docker_claude_code.yaml +32 -0
- massgen/configs/tools/code-execution/docker_multi_agent.yaml +32 -0
- massgen/configs/tools/code-execution/docker_simple.yaml +29 -0
- massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +32 -0
- massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +57 -0
- massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +34 -0
- massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +68 -0
- massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +43 -0
- massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +49 -0
- massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +31 -0
- massgen/configs/tools/filesystem/claude_code_single.yaml +40 -0
- massgen/configs/tools/filesystem/fs_permissions_test.yaml +87 -0
- massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +54 -0
- massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +30 -0
- massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +43 -0
- massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +45 -0
- massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +31 -0
- massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +32 -0
- massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +58 -0
- massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +58 -0
- massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +47 -0
- massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +48 -0
- massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +27 -0
- massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +35 -0
- massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +32 -0
- massgen/configs/tools/mcp/claude_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/claude_mcp_test.yaml +27 -0
- massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +157 -0
- massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +103 -0
- massgen/configs/tools/mcp/gemini_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +23 -0
- massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +23 -0
- massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +17 -0
- massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +24 -0
- massgen/configs/tools/mcp/gemini_mcp_test.yaml +27 -0
- massgen/configs/tools/mcp/gemini_notion_mcp.yaml +52 -0
- massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +27 -0
- massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +38 -0
- massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +25 -0
- massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +28 -0
- massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +27 -0
- massgen/configs/tools/mcp/multimcp_gemini.yaml +111 -0
- massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +25 -0
- massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +28 -0
- massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +24 -0
- massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +27 -0
- massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +140 -0
- massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +151 -0
- massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +151 -0
- massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +155 -0
- massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +73 -0
- massgen/configs/tools/web-search/claude_streamable_http_test.yaml +43 -0
- massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +43 -0
- massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +43 -0
- massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +44 -0
- massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +43 -0
- massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +44 -0
- massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +43 -0
- massgen/coordination_tracker.py +708 -0
- massgen/docker/README.md +462 -0
- massgen/filesystem_manager/__init__.py +21 -0
- massgen/filesystem_manager/_base.py +9 -0
- massgen/filesystem_manager/_code_execution_server.py +545 -0
- massgen/filesystem_manager/_docker_manager.py +477 -0
- massgen/filesystem_manager/_file_operation_tracker.py +248 -0
- massgen/filesystem_manager/_filesystem_manager.py +813 -0
- massgen/filesystem_manager/_path_permission_manager.py +1261 -0
- massgen/filesystem_manager/_workspace_tools_server.py +1815 -0
- massgen/formatter/__init__.py +10 -0
- massgen/formatter/_chat_completions_formatter.py +284 -0
- massgen/formatter/_claude_formatter.py +235 -0
- massgen/formatter/_formatter_base.py +156 -0
- massgen/formatter/_response_formatter.py +263 -0
- massgen/frontend/__init__.py +1 -2
- massgen/frontend/coordination_ui.py +471 -286
- massgen/frontend/displays/base_display.py +56 -11
- massgen/frontend/displays/create_coordination_table.py +1956 -0
- massgen/frontend/displays/rich_terminal_display.py +1259 -619
- massgen/frontend/displays/simple_display.py +9 -4
- massgen/frontend/displays/terminal_display.py +27 -68
- massgen/logger_config.py +681 -0
- massgen/mcp_tools/README.md +232 -0
- massgen/mcp_tools/__init__.py +105 -0
- massgen/mcp_tools/backend_utils.py +1035 -0
- massgen/mcp_tools/circuit_breaker.py +195 -0
- massgen/mcp_tools/client.py +894 -0
- massgen/mcp_tools/config_validator.py +138 -0
- massgen/mcp_tools/docs/circuit_breaker.md +646 -0
- massgen/mcp_tools/docs/client.md +950 -0
- massgen/mcp_tools/docs/config_validator.md +478 -0
- massgen/mcp_tools/docs/exceptions.md +1165 -0
- massgen/mcp_tools/docs/security.md +854 -0
- massgen/mcp_tools/exceptions.py +338 -0
- massgen/mcp_tools/hooks.py +212 -0
- massgen/mcp_tools/security.py +780 -0
- massgen/message_templates.py +342 -64
- massgen/orchestrator.py +1515 -241
- massgen/stream_chunk/__init__.py +35 -0
- massgen/stream_chunk/base.py +92 -0
- massgen/stream_chunk/multimodal.py +237 -0
- massgen/stream_chunk/text.py +162 -0
- massgen/tests/mcp_test_server.py +150 -0
- massgen/tests/multi_turn_conversation_design.md +0 -8
- massgen/tests/test_azure_openai_backend.py +156 -0
- massgen/tests/test_backend_capabilities.py +262 -0
- massgen/tests/test_backend_event_loop_all.py +179 -0
- massgen/tests/test_chat_completions_refactor.py +142 -0
- massgen/tests/test_claude_backend.py +15 -28
- massgen/tests/test_claude_code.py +268 -0
- massgen/tests/test_claude_code_context_sharing.py +233 -0
- massgen/tests/test_claude_code_orchestrator.py +175 -0
- massgen/tests/test_cli_backends.py +180 -0
- massgen/tests/test_code_execution.py +679 -0
- massgen/tests/test_external_agent_backend.py +134 -0
- massgen/tests/test_final_presentation_fallback.py +237 -0
- massgen/tests/test_gemini_planning_mode.py +351 -0
- massgen/tests/test_grok_backend.py +7 -10
- massgen/tests/test_http_mcp_server.py +42 -0
- massgen/tests/test_integration_simple.py +198 -0
- massgen/tests/test_mcp_blocking.py +125 -0
- massgen/tests/test_message_context_building.py +29 -47
- massgen/tests/test_orchestrator_final_presentation.py +48 -0
- massgen/tests/test_path_permission_manager.py +2087 -0
- massgen/tests/test_rich_terminal_display.py +14 -13
- massgen/tests/test_timeout.py +133 -0
- massgen/tests/test_v3_3agents.py +11 -12
- massgen/tests/test_v3_simple.py +8 -13
- massgen/tests/test_v3_three_agents.py +11 -18
- massgen/tests/test_v3_two_agents.py +8 -13
- massgen/token_manager/__init__.py +7 -0
- massgen/token_manager/token_manager.py +400 -0
- massgen/utils.py +52 -16
- massgen/v1/agent.py +45 -91
- massgen/v1/agents.py +18 -53
- massgen/v1/backends/gemini.py +50 -153
- massgen/v1/backends/grok.py +21 -54
- massgen/v1/backends/oai.py +39 -111
- massgen/v1/cli.py +36 -93
- massgen/v1/config.py +8 -12
- massgen/v1/logging.py +43 -127
- massgen/v1/main.py +18 -32
- massgen/v1/orchestrator.py +68 -209
- massgen/v1/streaming_display.py +62 -163
- massgen/v1/tools.py +8 -12
- massgen/v1/types.py +9 -23
- massgen/v1/utils.py +5 -23
- massgen-0.1.0.dist-info/METADATA +1245 -0
- massgen-0.1.0.dist-info/RECORD +273 -0
- massgen-0.1.0.dist-info/entry_points.txt +2 -0
- massgen/frontend/logging/__init__.py +0 -9
- massgen/frontend/logging/realtime_logger.py +0 -197
- massgen-0.0.3.dist-info/METADATA +0 -568
- massgen-0.0.3.dist-info/RECORD +0 -76
- massgen-0.0.3.dist-info/entry_points.txt +0 -2
- /massgen/backend/{Function calling openai responses.md → docs/Function calling openai responses.md} +0 -0
- {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/WHEEL +0 -0
- {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/licenses/LICENSE +0 -0
- {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# OpenAI GPT-5 Models - Backend Implementation Notes
|
|
2
|
+
|
|
3
|
+
> **Status**: Latest information as of August 2025
|
|
4
|
+
> **Source**: OpenAI Platform Documentation - GPT-5 Guide
|
|
5
|
+
> **Impact**: Major updates required for MassGen backend implementations
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
GPT-5 represents OpenAI's most intelligent model series, with significant architectural changes requiring backend updates for optimal integration.
|
|
10
|
+
|
|
11
|
+
### Key Capabilities
|
|
12
|
+
- **Code generation, bug fixing, and refactoring** - Enhanced over previous models
|
|
13
|
+
- **Instruction following** - Improved accuracy and adherence
|
|
14
|
+
- **Long context and tool calling** - Up to 1M tokens with better comprehension
|
|
15
|
+
- **Reasoning models** - Internal chain of thought with step-by-step problem solving
|
|
16
|
+
|
|
17
|
+
## Model Variants
|
|
18
|
+
|
|
19
|
+
| Model | Best For | Use Case in MassGen |
|
|
20
|
+
|-------|----------|-------------------|
|
|
21
|
+
| **gpt-5** | Complex reasoning, broad world knowledge, code-heavy tasks | Primary model for complex agent workflows |
|
|
22
|
+
| **gpt-5-mini** | Cost-optimized reasoning and chat | Balanced cost/performance for standard tasks |
|
|
23
|
+
| **gpt-5-nano** | High-throughput, simple instruction-following | Classification, simple function calling |
|
|
24
|
+
|
|
25
|
+
## New API Features (Critical for Backend Updates)
|
|
26
|
+
|
|
27
|
+
### 1. Minimal Reasoning Effort
|
|
28
|
+
```python
|
|
29
|
+
# New reasoning.effort parameter
|
|
30
|
+
{
|
|
31
|
+
"model": "gpt-5",
|
|
32
|
+
"reasoning": {
|
|
33
|
+
"effort": "minimal" # Options: minimal, low, medium, high
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
**Backend Impact**: Add reasoning parameter support to response.py and new GPT-5 backend
|
|
38
|
+
|
|
39
|
+
### 2. Verbosity Control
|
|
40
|
+
```python
|
|
41
|
+
# New text.verbosity parameter
|
|
42
|
+
{
|
|
43
|
+
"model": "gpt-5",
|
|
44
|
+
"text": {
|
|
45
|
+
"verbosity": "low" # Options: low, medium, high
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
**Backend Impact**: Enables output length control, important for cost optimization
|
|
50
|
+
|
|
51
|
+
### 3. Custom Tools (Major Enhancement)
|
|
52
|
+
```python
|
|
53
|
+
# Freeform tool inputs - no longer restricted to JSON
|
|
54
|
+
{
|
|
55
|
+
"type": "custom",
|
|
56
|
+
"name": "code_exec",
|
|
57
|
+
"description": "Executes arbitrary python code"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
**Backend Impact**: Requires tool format updates in MassGen tool handling
|
|
61
|
+
|
|
62
|
+
### 4. Allowed Tools (New Safety Feature)
|
|
63
|
+
```python
|
|
64
|
+
# Restrict model to subset of available tools
|
|
65
|
+
"tool_choice": {
|
|
66
|
+
"type": "allowed_tools",
|
|
67
|
+
"mode": "auto", # or "required"
|
|
68
|
+
"tools": [
|
|
69
|
+
{"type": "function", "name": "get_weather"},
|
|
70
|
+
{"type": "image_generation"}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
**Backend Impact**: Enhanced tool safety and predictability
|
|
75
|
+
|
|
76
|
+
### 5. Preambles (Transparency Feature)
|
|
77
|
+
- Model explains "why" before each tool call
|
|
78
|
+
- Improves tool-calling accuracy
|
|
79
|
+
- Enable via system instruction: "Before you call a tool, explain why you are calling it"
|
|
80
|
+
|
|
81
|
+
## API Migration Requirements
|
|
82
|
+
|
|
83
|
+
### Primary Recommendation: Use Responses API
|
|
84
|
+
GPT-5 **works best** with the Responses API due to:
|
|
85
|
+
- **Chain of Thought (CoT) passing** between turns
|
|
86
|
+
- Improved intelligence through reasoning continuity
|
|
87
|
+
- Fewer generated reasoning tokens
|
|
88
|
+
- Higher cache hit rates
|
|
89
|
+
- Lower latency
|
|
90
|
+
|
|
91
|
+
### Migration Path from Current Models
|
|
92
|
+
| Current Model | Recommended GPT-5 | Reasoning Level |
|
|
93
|
+
|---------------|------------------|----------------|
|
|
94
|
+
| o3 | gpt-5 | medium or high |
|
|
95
|
+
| gpt-4.1 | gpt-5 | minimal or low |
|
|
96
|
+
| o4-mini/gpt-4.1-mini | gpt-5-mini | with prompt tuning |
|
|
97
|
+
| gpt-4.1-nano | gpt-5-nano | with prompt tuning |
|
|
98
|
+
|
|
99
|
+
## Backend Implementation Requirements
|
|
100
|
+
|
|
101
|
+
### 1. Response API Backend Updates
|
|
102
|
+
```python
|
|
103
|
+
# New parameters to add to response.py
|
|
104
|
+
api_params = {
|
|
105
|
+
"model": "gpt-5",
|
|
106
|
+
"input": messages, # Note: 'input' not 'messages'
|
|
107
|
+
"reasoning": {"effort": "medium"}, # NEW
|
|
108
|
+
"text": {"verbosity": "medium"}, # NEW
|
|
109
|
+
"tools": tools,
|
|
110
|
+
"tool_choice": { # ENHANCED
|
|
111
|
+
"type": "allowed_tools",
|
|
112
|
+
"mode": "auto",
|
|
113
|
+
"tools": allowed_subset
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### 2. Chain of Thought Handling
|
|
119
|
+
```python
|
|
120
|
+
# Critical: Pass previous reasoning between turns
|
|
121
|
+
{
|
|
122
|
+
"previous_response_id": "resp_123", # Automatic CoT passing
|
|
123
|
+
# OR manually include reasoning items
|
|
124
|
+
"reasoning": {
|
|
125
|
+
"items": encrypted_reasoning_tokens
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 3. Custom Tool Integration
|
|
131
|
+
```python
|
|
132
|
+
# Support freeform tool inputs
|
|
133
|
+
def convert_tools_for_gpt5(tools):
|
|
134
|
+
for tool in tools:
|
|
135
|
+
if tool.get("supports_freeform"):
|
|
136
|
+
tool["type"] = "custom"
|
|
137
|
+
# Remove JSON schema constraints
|
|
138
|
+
tool.pop("parameters", None)
|
|
139
|
+
return tools
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Pricing Considerations
|
|
143
|
+
|
|
144
|
+
Based on historical patterns, expect:
|
|
145
|
+
- **gpt-5**: ~$15-20 per 1M input tokens, $60-80 per 1M output tokens
|
|
146
|
+
- **gpt-5-mini**: ~$1-2 per 1M input tokens, $5-8 per 1M output tokens
|
|
147
|
+
- **gpt-5-nano**: ~$0.25-0.50 per 1M input tokens, $1-2 per 1M output tokens
|
|
148
|
+
|
|
149
|
+
**Note**: Reasoning effort affects token usage - minimal uses fewer reasoning tokens.
|
|
150
|
+
|
|
151
|
+
## MassGen Backend Action Items
|
|
152
|
+
|
|
153
|
+
### Immediate (High Priority)
|
|
154
|
+
1. **Update response.py** - Add GPT-5 parameter support
|
|
155
|
+
2. **Create gpt5.py backend** - Dedicated implementation for GPT-5 features
|
|
156
|
+
3. **Update agent_config.py** - Add GPT-5 model configurations
|
|
157
|
+
4. **Test tool compatibility** - Ensure custom tools work with MassGen framework
|
|
158
|
+
|
|
159
|
+
### Medium Priority
|
|
160
|
+
1. **Implement CoT passing** - Between conversation turns
|
|
161
|
+
2. **Add verbosity controls** - Cost optimization feature
|
|
162
|
+
3. **Update pricing calculations** - New model pricing
|
|
163
|
+
4. **Enhanced tool safety** - Allowed tools integration
|
|
164
|
+
|
|
165
|
+
### Future Enhancements
|
|
166
|
+
1. **Prompt optimization** - Use OpenAI's prompt optimizer for GPT-5
|
|
167
|
+
2. **Reasoning item encryption** - For zero data retention workflows
|
|
168
|
+
3. **Preamble integration** - Tool call transparency features
|
|
169
|
+
|
|
170
|
+
## Code Generation Optimizations
|
|
171
|
+
|
|
172
|
+
GPT-5 excels at coding tasks. Recommended prompt patterns:
|
|
173
|
+
```python
|
|
174
|
+
system_prompt = """
|
|
175
|
+
You are a software engineering agent with well-defined responsibilities.
|
|
176
|
+
- Use functions.run for code execution tasks
|
|
177
|
+
- Test changes with unit tests or Python commands
|
|
178
|
+
- Generate clean, semantically correct markdown
|
|
179
|
+
- Format code with proper fences and inline backticks
|
|
180
|
+
Before you call a tool, explain why you are calling it.
|
|
181
|
+
"""
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Frontend Engineering Excellence
|
|
185
|
+
|
|
186
|
+
For web development tasks, GPT-5 performs best with:
|
|
187
|
+
- **Libraries**: Tailwind CSS, shadcn/ui, Radix Themes
|
|
188
|
+
- **Icons**: Lucide, Material Symbols, Heroicons
|
|
189
|
+
- **Animation**: Motion
|
|
190
|
+
- **Zero-to-one capability**: Can generate full web apps from single prompt
|
|
191
|
+
|
|
192
|
+
## Integration Timeline
|
|
193
|
+
|
|
194
|
+
**Phase 1 (Immediate)**: Basic GPT-5 support via updated response.py
|
|
195
|
+
**Phase 2 (Week 2)**: Dedicated GPT-5 backend with all new features
|
|
196
|
+
**Phase 3 (Month 1)**: Full CoT integration and optimization
|
|
197
|
+
**Phase 4 (Month 2)**: Advanced features (custom tools, allowed tools)
|
|
198
|
+
|
|
199
|
+
## Testing Strategy
|
|
200
|
+
|
|
201
|
+
1. **Model Performance**: Compare against existing GPT-4o implementations
|
|
202
|
+
2. **Tool Compatibility**: Verify all MassGen tools work with custom tool format
|
|
203
|
+
3. **Cost Analysis**: Monitor reasoning token usage vs. performance gains
|
|
204
|
+
4. **Agent Workflows**: Test multi-turn conversations with CoT passing
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
**Next Steps**:
|
|
209
|
+
1. Update response.py to support basic GPT-5 parameters
|
|
210
|
+
2. Create comprehensive test suite for GPT-5 features
|
|
211
|
+
3. Implement gradual rollout strategy for existing MassGen users
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
{
|
|
8
8
|
"type": "function_call",
|
|
9
9
|
"id": "fc_12345xyz",
|
|
10
|
-
"call_id": "call_12345xyz",
|
|
10
|
+
"call_id": "call_12345xyz",
|
|
11
11
|
"name": "get_weather",
|
|
12
12
|
"arguments": "{\"location\":\"Paris, France\"}"
|
|
13
13
|
}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
When handling tool calls across multiple turns:
|
|
28
28
|
|
|
29
29
|
1. **Model makes tool call** - Returns function_call object with call_id
|
|
30
|
-
2. **Execute function** - Run your code with the arguments
|
|
30
|
+
2. **Execute function** - Run your code with the arguments
|
|
31
31
|
3. **Add BOTH messages to input array**:
|
|
32
32
|
```python
|
|
33
33
|
input_messages.append(tool_call) # append model's function call message
|
|
@@ -52,7 +52,7 @@ For error messages to tools, follow the same pattern:
|
|
|
52
52
|
```python
|
|
53
53
|
# Agent made invalid tool call with call_id "call_123"
|
|
54
54
|
error_message = {
|
|
55
|
-
"type": "function_call_output",
|
|
55
|
+
"type": "function_call_output",
|
|
56
56
|
"call_id": "call_123",
|
|
57
57
|
"output": "Error: You can only vote once per response. Please vote for just ONE agent."
|
|
58
58
|
}
|