isa-model 0.4.0__py3-none-any.whl → 0.4.3__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.
- isa_model/client.py +466 -43
- isa_model/core/cache/redis_cache.py +12 -3
- isa_model/core/config/config_manager.py +230 -3
- isa_model/core/config.py +90 -0
- isa_model/core/database/direct_db_client.py +114 -0
- isa_model/core/database/migration_manager.py +563 -0
- isa_model/core/database/migrations.py +21 -1
- isa_model/core/database/supabase_client.py +154 -19
- isa_model/core/dependencies.py +316 -0
- isa_model/core/discovery/__init__.py +19 -0
- isa_model/core/discovery/consul_discovery.py +190 -0
- isa_model/core/logging/__init__.py +54 -0
- isa_model/core/logging/influx_logger.py +523 -0
- isa_model/core/logging/loki_logger.py +160 -0
- isa_model/core/models/__init__.py +27 -18
- isa_model/core/models/config_models.py +625 -0
- isa_model/core/models/deployment_billing_tracker.py +430 -0
- isa_model/core/models/model_manager.py +40 -17
- isa_model/core/models/model_metadata.py +690 -0
- isa_model/core/models/model_repo.py +174 -18
- isa_model/core/models/system_models.py +857 -0
- isa_model/core/repositories/__init__.py +9 -0
- isa_model/core/repositories/config_repository.py +912 -0
- isa_model/core/services/intelligent_model_selector.py +399 -21
- isa_model/core/storage/hf_storage.py +1 -1
- isa_model/core/types.py +1 -0
- isa_model/deployment/__init__.py +5 -48
- isa_model/deployment/core/__init__.py +2 -31
- isa_model/deployment/core/deployment_manager.py +1278 -370
- isa_model/deployment/local/__init__.py +31 -0
- isa_model/deployment/local/config.py +248 -0
- isa_model/deployment/local/gpu_gateway.py +607 -0
- isa_model/deployment/local/health_checker.py +428 -0
- isa_model/deployment/local/provider.py +586 -0
- isa_model/deployment/local/tensorrt_service.py +621 -0
- isa_model/deployment/local/transformers_service.py +644 -0
- isa_model/deployment/local/vllm_service.py +527 -0
- isa_model/deployment/modal/__init__.py +8 -0
- isa_model/deployment/modal/config.py +136 -0
- isa_model/deployment/{services/auto_hf_modal_deployer.py → modal/deployer.py} +1 -1
- isa_model/deployment/modal/services/__init__.py +3 -0
- isa_model/deployment/modal/services/audio/__init__.py +1 -0
- isa_model/deployment/modal/services/embedding/__init__.py +1 -0
- isa_model/deployment/modal/services/llm/__init__.py +1 -0
- isa_model/deployment/modal/services/llm/isa_llm_service.py +424 -0
- isa_model/deployment/modal/services/video/__init__.py +1 -0
- isa_model/deployment/modal/services/vision/__init__.py +1 -0
- isa_model/deployment/models/org-org-acme-corp-tenant-a-service-llm-20250825-225822/tenant-a-service_modal_service.py +48 -0
- isa_model/deployment/models/org-test-org-123-prefix-test-service-llm-20250825-225822/prefix-test-service_modal_service.py +48 -0
- isa_model/deployment/models/test-llm-service-llm-20250825-204442/test-llm-service_modal_service.py +48 -0
- isa_model/deployment/models/test-monitoring-gpt2-llm-20250825-212906/test-monitoring-gpt2_modal_service.py +48 -0
- isa_model/deployment/models/test-monitoring-gpt2-llm-20250825-213009/test-monitoring-gpt2_modal_service.py +48 -0
- isa_model/deployment/storage/__init__.py +5 -0
- isa_model/deployment/storage/deployment_repository.py +824 -0
- isa_model/deployment/triton/__init__.py +10 -0
- isa_model/deployment/triton/config.py +196 -0
- isa_model/deployment/triton/configs/__init__.py +1 -0
- isa_model/deployment/triton/provider.py +512 -0
- isa_model/deployment/triton/scripts/__init__.py +1 -0
- isa_model/deployment/triton/templates/__init__.py +1 -0
- isa_model/inference/__init__.py +47 -1
- isa_model/inference/ai_factory.py +137 -10
- isa_model/inference/legacy_services/__init__.py +21 -0
- isa_model/inference/legacy_services/model_evaluation.py +637 -0
- isa_model/inference/legacy_services/model_service.py +573 -0
- isa_model/inference/legacy_services/model_serving.py +717 -0
- isa_model/inference/legacy_services/model_training.py +561 -0
- isa_model/inference/models/__init__.py +21 -0
- isa_model/inference/models/inference_config.py +551 -0
- isa_model/inference/models/inference_record.py +675 -0
- isa_model/inference/models/performance_models.py +714 -0
- isa_model/inference/repositories/__init__.py +9 -0
- isa_model/inference/repositories/inference_repository.py +828 -0
- isa_model/inference/services/audio/base_stt_service.py +184 -11
- isa_model/inference/services/audio/openai_stt_service.py +22 -6
- isa_model/inference/services/custom_model_manager.py +277 -0
- isa_model/inference/services/embedding/ollama_embed_service.py +15 -3
- isa_model/inference/services/embedding/resilient_embed_service.py +285 -0
- isa_model/inference/services/llm/__init__.py +10 -2
- isa_model/inference/services/llm/base_llm_service.py +335 -24
- isa_model/inference/services/llm/cerebras_llm_service.py +628 -0
- isa_model/inference/services/llm/helpers/llm_adapter.py +9 -4
- isa_model/inference/services/llm/helpers/llm_prompts.py +342 -0
- isa_model/inference/services/llm/helpers/llm_utils.py +321 -23
- isa_model/inference/services/llm/huggingface_llm_service.py +581 -0
- isa_model/inference/services/llm/local_llm_service.py +747 -0
- isa_model/inference/services/llm/ollama_llm_service.py +9 -2
- isa_model/inference/services/llm/openai_llm_service.py +33 -16
- isa_model/inference/services/llm/yyds_llm_service.py +8 -2
- isa_model/inference/services/vision/__init__.py +22 -1
- isa_model/inference/services/vision/blip_vision_service.py +359 -0
- isa_model/inference/services/vision/helpers/image_utils.py +8 -5
- isa_model/inference/services/vision/isa_vision_service.py +65 -4
- isa_model/inference/services/vision/openai_vision_service.py +19 -10
- isa_model/inference/services/vision/vgg16_vision_service.py +257 -0
- isa_model/serving/api/cache_manager.py +245 -0
- isa_model/serving/api/dependencies/__init__.py +1 -0
- isa_model/serving/api/dependencies/auth.py +194 -0
- isa_model/serving/api/dependencies/database.py +139 -0
- isa_model/serving/api/error_handlers.py +284 -0
- isa_model/serving/api/fastapi_server.py +172 -22
- isa_model/serving/api/middleware/auth.py +8 -2
- isa_model/serving/api/middleware/security.py +23 -33
- isa_model/serving/api/middleware/tenant_context.py +414 -0
- isa_model/serving/api/routes/analytics.py +4 -1
- isa_model/serving/api/routes/config.py +645 -0
- isa_model/serving/api/routes/deployment_billing.py +315 -0
- isa_model/serving/api/routes/deployments.py +138 -2
- isa_model/serving/api/routes/gpu_gateway.py +440 -0
- isa_model/serving/api/routes/health.py +32 -12
- isa_model/serving/api/routes/inference_monitoring.py +486 -0
- isa_model/serving/api/routes/local_deployments.py +448 -0
- isa_model/serving/api/routes/tenants.py +575 -0
- isa_model/serving/api/routes/unified.py +680 -18
- isa_model/serving/api/routes/webhooks.py +479 -0
- isa_model/serving/api/startup.py +68 -54
- isa_model/utils/gpu_utils.py +311 -0
- {isa_model-0.4.0.dist-info → isa_model-0.4.3.dist-info}/METADATA +66 -24
- isa_model-0.4.3.dist-info/RECORD +193 -0
- isa_model/core/storage/minio_storage.py +0 -0
- isa_model/deployment/cloud/__init__.py +0 -9
- isa_model/deployment/cloud/modal/__init__.py +0 -10
- isa_model/deployment/core/deployment_config.py +0 -356
- isa_model/deployment/core/isa_deployment_service.py +0 -401
- isa_model/deployment/gpu_int8_ds8/app/server.py +0 -66
- isa_model/deployment/gpu_int8_ds8/scripts/test_client.py +0 -43
- isa_model/deployment/gpu_int8_ds8/scripts/test_client_os.py +0 -35
- isa_model/deployment/runtime/deployed_service.py +0 -338
- isa_model/deployment/services/__init__.py +0 -9
- isa_model/deployment/services/auto_deploy_vision_service.py +0 -538
- isa_model/deployment/services/model_service.py +0 -332
- isa_model/deployment/services/service_monitor.py +0 -356
- isa_model/deployment/services/service_registry.py +0 -527
- isa_model/eval/__init__.py +0 -92
- isa_model/eval/benchmarks/__init__.py +0 -27
- isa_model/eval/benchmarks/multimodal_datasets.py +0 -460
- isa_model/eval/benchmarks.py +0 -701
- isa_model/eval/config/__init__.py +0 -10
- isa_model/eval/config/evaluation_config.py +0 -108
- isa_model/eval/evaluators/__init__.py +0 -24
- isa_model/eval/evaluators/audio_evaluator.py +0 -727
- isa_model/eval/evaluators/base_evaluator.py +0 -503
- isa_model/eval/evaluators/embedding_evaluator.py +0 -742
- isa_model/eval/evaluators/llm_evaluator.py +0 -472
- isa_model/eval/evaluators/vision_evaluator.py +0 -564
- isa_model/eval/example_evaluation.py +0 -395
- isa_model/eval/factory.py +0 -798
- isa_model/eval/infrastructure/__init__.py +0 -24
- isa_model/eval/infrastructure/experiment_tracker.py +0 -466
- isa_model/eval/isa_benchmarks.py +0 -700
- isa_model/eval/isa_integration.py +0 -582
- isa_model/eval/metrics.py +0 -951
- isa_model/eval/tests/unit/test_basic.py +0 -396
- isa_model/serving/api/routes/evaluations.py +0 -579
- isa_model/training/__init__.py +0 -168
- isa_model/training/annotation/annotation_schema.py +0 -47
- isa_model/training/annotation/processors/annotation_processor.py +0 -126
- isa_model/training/annotation/storage/dataset_manager.py +0 -131
- isa_model/training/annotation/storage/dataset_schema.py +0 -44
- isa_model/training/annotation/tests/test_annotation_flow.py +0 -109
- isa_model/training/annotation/tests/test_minio copy.py +0 -113
- isa_model/training/annotation/tests/test_minio_upload.py +0 -43
- isa_model/training/annotation/views/annotation_controller.py +0 -158
- isa_model/training/cloud/__init__.py +0 -22
- isa_model/training/cloud/job_orchestrator.py +0 -402
- isa_model/training/cloud/runpod_trainer.py +0 -454
- isa_model/training/cloud/storage_manager.py +0 -482
- isa_model/training/core/__init__.py +0 -26
- isa_model/training/core/config.py +0 -181
- isa_model/training/core/dataset.py +0 -222
- isa_model/training/core/trainer.py +0 -720
- isa_model/training/core/utils.py +0 -213
- isa_model/training/examples/intelligent_training_example.py +0 -281
- isa_model/training/factory.py +0 -424
- isa_model/training/intelligent/__init__.py +0 -25
- isa_model/training/intelligent/decision_engine.py +0 -643
- isa_model/training/intelligent/intelligent_factory.py +0 -888
- isa_model/training/intelligent/knowledge_base.py +0 -751
- isa_model/training/intelligent/resource_optimizer.py +0 -839
- isa_model/training/intelligent/task_classifier.py +0 -576
- isa_model/training/storage/__init__.py +0 -24
- isa_model/training/storage/core_integration.py +0 -439
- isa_model/training/storage/training_repository.py +0 -552
- isa_model/training/storage/training_storage.py +0 -628
- isa_model-0.4.0.dist-info/RECORD +0 -182
- /isa_model/deployment/{cloud/modal → modal/services/audio}/isa_audio_chatTTS_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/audio}/isa_audio_fish_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/audio}/isa_audio_openvoice_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/audio}/isa_audio_service_v2.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/embedding}/isa_embed_rerank_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/video}/isa_video_hunyuan_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/vision}/isa_vision_ocr_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/vision}/isa_vision_qwen25_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/vision}/isa_vision_table_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/vision}/isa_vision_ui_service.py +0 -0
- /isa_model/deployment/{cloud/modal → modal/services/vision}/isa_vision_ui_service_optimized.py +0 -0
- /isa_model/deployment/{services → modal/services/vision}/simple_auto_deploy_vision_service.py +0 -0
- {isa_model-0.4.0.dist-info → isa_model-0.4.3.dist-info}/WHEEL +0 -0
- {isa_model-0.4.0.dist-info → isa_model-0.4.3.dist-info}/top_level.txt +0 -0
@@ -164,6 +164,348 @@ class LLMPrompts:
|
|
164
164
|
prompt = f"Please think step by step and answer the following question:\n\n{question}\n\nReasoning and answer:"
|
165
165
|
return prompt
|
166
166
|
|
167
|
+
@staticmethod
|
168
|
+
def chain_of_thought_prompt(
|
169
|
+
problem: str,
|
170
|
+
domain: Optional[str] = None,
|
171
|
+
format_json: bool = False,
|
172
|
+
include_confidence: bool = False
|
173
|
+
) -> str:
|
174
|
+
"""Generate Chain-of-Thought reasoning prompt with structured output"""
|
175
|
+
|
176
|
+
domain_context = ""
|
177
|
+
if domain:
|
178
|
+
domain_context = f" in the {domain} domain"
|
179
|
+
|
180
|
+
if format_json:
|
181
|
+
prompt = f"""Solve the following problem{domain_context} using step-by-step reasoning.
|
182
|
+
|
183
|
+
Problem: {problem}
|
184
|
+
|
185
|
+
Please provide your response in the following JSON format:
|
186
|
+
{{
|
187
|
+
"reasoning_steps": [
|
188
|
+
{{
|
189
|
+
"step": 1,
|
190
|
+
"description": "Brief description of this step",
|
191
|
+
"thinking": "Detailed explanation of your thought process",
|
192
|
+
"result": "What you conclude from this step"
|
193
|
+
}}
|
194
|
+
],
|
195
|
+
"final_answer": "Your final answer",
|
196
|
+
"reasoning_chain": "Summary of your complete reasoning process"
|
197
|
+
"""
|
198
|
+
|
199
|
+
if include_confidence:
|
200
|
+
prompt += ',\n "confidence_score": 0.85,\n "confidence_explanation": "Why you have this level of confidence"'
|
201
|
+
|
202
|
+
prompt += "\n}\n\nResponse:"
|
203
|
+
else:
|
204
|
+
prompt = f"""Solve the following problem{domain_context} using step-by-step reasoning.
|
205
|
+
|
206
|
+
Problem: {problem}
|
207
|
+
|
208
|
+
Please structure your response as follows:
|
209
|
+
|
210
|
+
**Step-by-Step Reasoning:**
|
211
|
+
|
212
|
+
Step 1: [Brief description]
|
213
|
+
- Thinking: [Detailed explanation]
|
214
|
+
- Result: [What you conclude]
|
215
|
+
|
216
|
+
Step 2: [Brief description]
|
217
|
+
- Thinking: [Detailed explanation]
|
218
|
+
- Result: [What you conclude]
|
219
|
+
|
220
|
+
[Continue for all steps...]
|
221
|
+
|
222
|
+
**Final Answer:**
|
223
|
+
[Your final answer]
|
224
|
+
|
225
|
+
**Reasoning Summary:**
|
226
|
+
[Brief summary of your complete reasoning process]
|
227
|
+
"""
|
228
|
+
|
229
|
+
if include_confidence:
|
230
|
+
prompt += "\n**Confidence Assessment:**\n[Your confidence level and explanation]\n"
|
231
|
+
|
232
|
+
prompt += "\nResponse:"
|
233
|
+
|
234
|
+
return prompt
|
235
|
+
|
236
|
+
@staticmethod
|
237
|
+
def tree_of_thoughts_prompt(
|
238
|
+
problem: str,
|
239
|
+
num_branches: int = 3,
|
240
|
+
depth_levels: int = 3,
|
241
|
+
format_json: bool = True
|
242
|
+
) -> str:
|
243
|
+
"""Generate Tree-of-Thoughts reasoning prompt for complex problem solving"""
|
244
|
+
|
245
|
+
if format_json:
|
246
|
+
prompt = f"""Solve the following complex problem using Tree-of-Thoughts reasoning. Generate {num_branches} different approaches and evaluate them through {depth_levels} levels of thinking.
|
247
|
+
|
248
|
+
Problem: {problem}
|
249
|
+
|
250
|
+
Please structure your response in JSON format:
|
251
|
+
|
252
|
+
{{
|
253
|
+
"problem_analysis": "Initial understanding and breakdown of the problem",
|
254
|
+
"thought_tree": [
|
255
|
+
{{
|
256
|
+
"approach": 1,
|
257
|
+
"initial_thought": "First approach description",
|
258
|
+
"levels": [
|
259
|
+
{{
|
260
|
+
"level": 1,
|
261
|
+
"thoughts": ["Thought 1", "Thought 2", "Thought 3"],
|
262
|
+
"evaluations": ["Evaluation of thought 1", "Evaluation of thought 2", "Evaluation of thought 3"],
|
263
|
+
"best_thought": "Selected best thought with reasoning"
|
264
|
+
}}
|
265
|
+
],
|
266
|
+
"final_conclusion": "Where this approach leads",
|
267
|
+
"viability_score": 0.8
|
268
|
+
}}
|
269
|
+
],
|
270
|
+
"best_approach": {{
|
271
|
+
"approach_number": 1,
|
272
|
+
"reasoning": "Why this approach is best",
|
273
|
+
"final_answer": "The solution"
|
274
|
+
}},
|
275
|
+
"alternative_solutions": ["Other possible solutions"],
|
276
|
+
"confidence_assessment": "Overall confidence in the solution"
|
277
|
+
}}
|
278
|
+
|
279
|
+
Response:"""
|
280
|
+
else:
|
281
|
+
prompt = f"""Solve the following complex problem using Tree-of-Thoughts reasoning. Generate {num_branches} different approaches and evaluate them through {depth_levels} levels of thinking.
|
282
|
+
|
283
|
+
Problem: {problem}
|
284
|
+
|
285
|
+
**Problem Analysis:**
|
286
|
+
[Initial understanding and breakdown]
|
287
|
+
|
288
|
+
**Approach 1:**
|
289
|
+
- Initial Thought: [Description]
|
290
|
+
- Level 1 Exploration:
|
291
|
+
- Thought A: [Details] → Evaluation: [Assessment]
|
292
|
+
- Thought B: [Details] → Evaluation: [Assessment]
|
293
|
+
- Thought C: [Details] → Evaluation: [Assessment]
|
294
|
+
- Best: [Selected thought with reasoning]
|
295
|
+
- [Continue for {depth_levels} levels]
|
296
|
+
- Final Conclusion: [Where this approach leads]
|
297
|
+
- Viability: [Score/Assessment]
|
298
|
+
|
299
|
+
[Repeat for {num_branches} approaches]
|
300
|
+
|
301
|
+
**Best Approach Selection:**
|
302
|
+
- Chosen Approach: [Number and reasoning]
|
303
|
+
- Final Answer: [Solution]
|
304
|
+
|
305
|
+
**Alternative Solutions:**
|
306
|
+
[Other viable options]
|
307
|
+
|
308
|
+
**Confidence Assessment:**
|
309
|
+
[Overall confidence and reasoning]
|
310
|
+
|
311
|
+
Response:"""
|
312
|
+
|
313
|
+
return prompt
|
314
|
+
|
315
|
+
@staticmethod
|
316
|
+
def step_back_reasoning_prompt(
|
317
|
+
problem: str,
|
318
|
+
domain: Optional[str] = None,
|
319
|
+
include_principles: bool = True
|
320
|
+
) -> str:
|
321
|
+
"""Generate Step-Back reasoning prompt for principle-based problem solving"""
|
322
|
+
|
323
|
+
domain_context = f" in {domain}" if domain else ""
|
324
|
+
|
325
|
+
prompt = f"""Solve the following problem{domain_context} using step-back reasoning. First identify the underlying principles, then apply them to solve the specific problem.
|
326
|
+
|
327
|
+
Problem: {problem}
|
328
|
+
|
329
|
+
Please structure your response as follows:
|
330
|
+
|
331
|
+
**Step 1: Step Back - Identify General Principles**
|
332
|
+
What are the fundamental principles, concepts, or rules that apply to this type of problem?
|
333
|
+
|
334
|
+
**Step 2: Connect Principles to Problem**
|
335
|
+
How do these general principles relate to the specific problem at hand?
|
336
|
+
|
337
|
+
**Step 3: Apply Principles**
|
338
|
+
Use the identified principles to work through the problem systematically.
|
339
|
+
|
340
|
+
**Step 4: Verify Solution**
|
341
|
+
Check if your solution aligns with the fundamental principles.
|
342
|
+
|
343
|
+
**Final Answer:**
|
344
|
+
[Your solution]
|
345
|
+
|
346
|
+
"""
|
347
|
+
|
348
|
+
if include_principles:
|
349
|
+
prompt += "**Principle Summary:**\n[Key principles used in solving this problem]\n\n"
|
350
|
+
|
351
|
+
prompt += "Response:"
|
352
|
+
|
353
|
+
return prompt
|
354
|
+
|
355
|
+
@staticmethod
|
356
|
+
def analogical_reasoning_prompt(
|
357
|
+
problem: str,
|
358
|
+
include_multiple_analogies: bool = True,
|
359
|
+
format_structured: bool = True
|
360
|
+
) -> str:
|
361
|
+
"""Generate analogical reasoning prompt using similar problems/situations"""
|
362
|
+
|
363
|
+
if format_structured:
|
364
|
+
prompt = f"""Solve the following problem using analogical reasoning. Find similar problems or situations that can guide your thinking.
|
365
|
+
|
366
|
+
Problem: {problem}
|
367
|
+
|
368
|
+
**Step 1: Find Analogies**
|
369
|
+
Think of 2-3 similar problems, situations, or concepts that share structural similarities with this problem.
|
370
|
+
|
371
|
+
Analogy 1: [Description]
|
372
|
+
- Similarities: [How it's similar to the current problem]
|
373
|
+
- Key insights: [What can be learned from this analogy]
|
374
|
+
|
375
|
+
Analogy 2: [Description]
|
376
|
+
- Similarities: [How it's similar to the current problem]
|
377
|
+
- Key insights: [What can be learned from this analogy]
|
378
|
+
|
379
|
+
{f'''Analogy 3: [Description]
|
380
|
+
- Similarities: [How it's similar to the current problem]
|
381
|
+
- Key insights: [What can be learned from this analogy]''' if include_multiple_analogies else ''}
|
382
|
+
|
383
|
+
**Step 2: Extract Patterns**
|
384
|
+
What common patterns or principles emerge from these analogies?
|
385
|
+
|
386
|
+
**Step 3: Apply to Current Problem**
|
387
|
+
How can the insights from these analogies be applied to solve the current problem?
|
388
|
+
|
389
|
+
**Step 4: Adapt and Refine**
|
390
|
+
What modifications are needed to account for differences between the analogies and current problem?
|
391
|
+
|
392
|
+
**Final Answer:**
|
393
|
+
[Your solution based on analogical reasoning]
|
394
|
+
|
395
|
+
Response:"""
|
396
|
+
else:
|
397
|
+
prompt = f"""Solve this problem by thinking of similar situations: {problem}
|
398
|
+
|
399
|
+
Find analogous problems or situations, extract useful patterns, and apply them here.
|
400
|
+
|
401
|
+
Response:"""
|
402
|
+
|
403
|
+
return prompt
|
404
|
+
|
405
|
+
@staticmethod
|
406
|
+
def multi_perspective_reasoning_prompt(
|
407
|
+
problem: str,
|
408
|
+
perspectives: Optional[List[str]] = None,
|
409
|
+
synthesis_required: bool = True
|
410
|
+
) -> str:
|
411
|
+
"""Generate multi-perspective reasoning prompt to consider different viewpoints"""
|
412
|
+
|
413
|
+
if not perspectives:
|
414
|
+
perspectives = [
|
415
|
+
"practical/pragmatic",
|
416
|
+
"theoretical/analytical",
|
417
|
+
"creative/innovative",
|
418
|
+
"critical/skeptical",
|
419
|
+
"ethical/moral"
|
420
|
+
]
|
421
|
+
|
422
|
+
prompt = f"""Analyze and solve the following problem from multiple perspectives to gain a comprehensive understanding.
|
423
|
+
|
424
|
+
Problem: {problem}
|
425
|
+
|
426
|
+
"""
|
427
|
+
|
428
|
+
for i, perspective in enumerate(perspectives, 1):
|
429
|
+
prompt += f"""**Perspective {i}: {perspective.title()}**
|
430
|
+
From this viewpoint:
|
431
|
+
- How would you understand the problem?
|
432
|
+
- What solution approach would you take?
|
433
|
+
- What are the key considerations?
|
434
|
+
- What would be your recommended action?
|
435
|
+
|
436
|
+
"""
|
437
|
+
|
438
|
+
if synthesis_required:
|
439
|
+
prompt += f"""**Synthesis & Integration**
|
440
|
+
- Compare and contrast the insights from different perspectives
|
441
|
+
- Identify areas of agreement and disagreement
|
442
|
+
- Synthesize the best elements from each perspective
|
443
|
+
- Develop a balanced, comprehensive solution
|
444
|
+
|
445
|
+
**Final Integrated Solution:**
|
446
|
+
[Your solution that incorporates insights from multiple perspectives]
|
447
|
+
|
448
|
+
"""
|
449
|
+
|
450
|
+
prompt += "Response:"
|
451
|
+
|
452
|
+
return prompt
|
453
|
+
|
454
|
+
@staticmethod
|
455
|
+
def metacognitive_reasoning_prompt(
|
456
|
+
problem: str,
|
457
|
+
include_strategy_selection: bool = True,
|
458
|
+
include_self_monitoring: bool = True
|
459
|
+
) -> str:
|
460
|
+
"""Generate metacognitive reasoning prompt with explicit thinking about thinking"""
|
461
|
+
|
462
|
+
prompt = f"""Solve the following problem using metacognitive reasoning - explicitly think about your thinking process.
|
463
|
+
|
464
|
+
Problem: {problem}
|
465
|
+
|
466
|
+
"""
|
467
|
+
|
468
|
+
if include_strategy_selection:
|
469
|
+
prompt += """**Strategy Selection:**
|
470
|
+
- What type of problem is this?
|
471
|
+
- What reasoning strategies could be effective? (logical deduction, pattern recognition, analogy, etc.)
|
472
|
+
- Which strategy seems most promising and why?
|
473
|
+
- What are potential pitfalls to avoid?
|
474
|
+
|
475
|
+
"""
|
476
|
+
|
477
|
+
prompt += """**Problem Solving Process:**
|
478
|
+
Now work through the problem while monitoring your thinking:
|
479
|
+
|
480
|
+
Step 1: [Your approach]
|
481
|
+
- Metacognitive check: Is this approach working? Do I need to adjust?
|
482
|
+
|
483
|
+
Step 2: [Continue reasoning]
|
484
|
+
- Metacognitive check: Am I on the right track? What evidence supports this?
|
485
|
+
|
486
|
+
[Continue with metacognitive monitoring throughout]
|
487
|
+
|
488
|
+
"""
|
489
|
+
|
490
|
+
if include_self_monitoring:
|
491
|
+
prompt += """**Self-Monitoring Reflection:**
|
492
|
+
- How confident am I in this solution?
|
493
|
+
- What assumptions did I make?
|
494
|
+
- How could I verify this answer?
|
495
|
+
- What would I do differently next time?
|
496
|
+
|
497
|
+
"""
|
498
|
+
|
499
|
+
prompt += """**Final Answer:**
|
500
|
+
[Your solution]
|
501
|
+
|
502
|
+
**Meta-Analysis:**
|
503
|
+
[Reflection on your reasoning process and what you learned about your own thinking]
|
504
|
+
|
505
|
+
Response:"""
|
506
|
+
|
507
|
+
return prompt
|
508
|
+
|
167
509
|
@staticmethod
|
168
510
|
def problem_solving_prompt(problem: str, problem_type: Optional[str] = None) -> str:
|
169
511
|
"""生成问题求解提示词"""
|