mirascope 1.25.7__py3-none-any.whl → 2.0.0a0__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.
- mirascope/__init__.py +3 -59
- mirascope/graphs/__init__.py +22 -0
- mirascope/{experimental/graphs → graphs}/finite_state_machine.py +70 -159
- mirascope/llm/__init__.py +206 -16
- mirascope/llm/agents/__init__.py +15 -0
- mirascope/llm/agents/agent.py +97 -0
- mirascope/llm/agents/agent_template.py +45 -0
- mirascope/llm/agents/decorator.py +176 -0
- mirascope/llm/calls/__init__.py +16 -0
- mirascope/llm/calls/base_call.py +33 -0
- mirascope/llm/calls/calls.py +315 -0
- mirascope/llm/calls/decorator.py +255 -0
- mirascope/llm/clients/__init__.py +34 -0
- mirascope/llm/clients/anthropic/__init__.py +11 -0
- mirascope/llm/clients/anthropic/_utils/__init__.py +13 -0
- mirascope/llm/clients/anthropic/_utils/decode.py +244 -0
- mirascope/llm/clients/anthropic/_utils/encode.py +243 -0
- mirascope/llm/clients/anthropic/clients.py +819 -0
- mirascope/llm/clients/anthropic/model_ids.py +8 -0
- mirascope/llm/clients/base/__init__.py +15 -0
- mirascope/llm/clients/base/_utils.py +192 -0
- mirascope/llm/clients/base/client.py +1256 -0
- mirascope/llm/clients/base/kwargs.py +12 -0
- mirascope/llm/clients/base/params.py +93 -0
- mirascope/llm/clients/google/__init__.py +6 -0
- mirascope/llm/clients/google/_utils/__init__.py +13 -0
- mirascope/llm/clients/google/_utils/decode.py +231 -0
- mirascope/llm/clients/google/_utils/encode.py +279 -0
- mirascope/llm/clients/google/clients.py +853 -0
- mirascope/llm/clients/google/message.py +7 -0
- mirascope/llm/clients/google/model_ids.py +15 -0
- mirascope/llm/clients/openai/__init__.py +25 -0
- mirascope/llm/clients/openai/completions/__init__.py +9 -0
- mirascope/llm/clients/openai/completions/_utils/__init__.py +13 -0
- mirascope/llm/clients/openai/completions/_utils/decode.py +187 -0
- mirascope/llm/clients/openai/completions/_utils/encode.py +358 -0
- mirascope/llm/clients/openai/completions/_utils/model_features.py +81 -0
- mirascope/llm/clients/openai/completions/clients.py +833 -0
- mirascope/llm/clients/openai/completions/model_ids.py +8 -0
- mirascope/llm/clients/openai/responses/__init__.py +9 -0
- mirascope/llm/clients/openai/responses/_utils/__init__.py +13 -0
- mirascope/llm/clients/openai/responses/_utils/decode.py +194 -0
- mirascope/llm/clients/openai/responses/_utils/encode.py +333 -0
- mirascope/llm/clients/openai/responses/_utils/model_features.py +87 -0
- mirascope/llm/clients/openai/responses/clients.py +832 -0
- mirascope/llm/clients/openai/responses/model_ids.py +8 -0
- mirascope/llm/clients/openai/shared/__init__.py +7 -0
- mirascope/llm/clients/openai/shared/_utils.py +55 -0
- mirascope/llm/clients/providers.py +175 -0
- mirascope/llm/content/__init__.py +70 -0
- mirascope/llm/content/audio.py +173 -0
- mirascope/llm/content/document.py +94 -0
- mirascope/llm/content/image.py +206 -0
- mirascope/llm/content/text.py +47 -0
- mirascope/llm/content/thought.py +58 -0
- mirascope/llm/content/tool_call.py +63 -0
- mirascope/llm/content/tool_output.py +26 -0
- mirascope/llm/context/__init__.py +6 -0
- mirascope/llm/context/_utils.py +28 -0
- mirascope/llm/context/context.py +24 -0
- mirascope/llm/exceptions.py +105 -0
- mirascope/llm/formatting/__init__.py +22 -0
- mirascope/llm/formatting/_utils.py +74 -0
- mirascope/llm/formatting/format.py +104 -0
- mirascope/llm/formatting/from_call_args.py +30 -0
- mirascope/llm/formatting/partial.py +58 -0
- mirascope/llm/formatting/types.py +109 -0
- mirascope/llm/mcp/__init__.py +5 -0
- mirascope/llm/mcp/client.py +118 -0
- mirascope/llm/messages/__init__.py +32 -0
- mirascope/llm/messages/message.py +182 -0
- mirascope/llm/models/__init__.py +16 -0
- mirascope/llm/models/models.py +1243 -0
- mirascope/llm/prompts/__init__.py +33 -0
- mirascope/llm/prompts/_utils.py +60 -0
- mirascope/llm/prompts/decorator.py +286 -0
- mirascope/llm/prompts/protocols.py +99 -0
- mirascope/llm/responses/__init__.py +57 -0
- mirascope/llm/responses/_utils.py +56 -0
- mirascope/llm/responses/base_response.py +91 -0
- mirascope/llm/responses/base_stream_response.py +697 -0
- mirascope/llm/responses/finish_reason.py +27 -0
- mirascope/llm/responses/response.py +345 -0
- mirascope/llm/responses/root_response.py +177 -0
- mirascope/llm/responses/stream_response.py +572 -0
- mirascope/llm/responses/streams.py +363 -0
- mirascope/llm/tools/__init__.py +40 -0
- mirascope/llm/tools/_utils.py +25 -0
- mirascope/llm/tools/decorator.py +175 -0
- mirascope/llm/tools/protocols.py +96 -0
- mirascope/llm/tools/tool_schema.py +246 -0
- mirascope/llm/tools/toolkit.py +152 -0
- mirascope/llm/tools/tools.py +169 -0
- mirascope/llm/types/__init__.py +22 -0
- mirascope/llm/types/dataclass.py +9 -0
- mirascope/llm/types/jsonable.py +44 -0
- mirascope/llm/types/type_vars.py +19 -0
- mirascope-2.0.0a0.dist-info/METADATA +117 -0
- mirascope-2.0.0a0.dist-info/RECORD +101 -0
- mirascope/beta/__init__.py +0 -3
- mirascope/beta/openai/__init__.py +0 -17
- mirascope/beta/openai/realtime/__init__.py +0 -13
- mirascope/beta/openai/realtime/_utils/__init__.py +0 -3
- mirascope/beta/openai/realtime/_utils/_audio.py +0 -74
- mirascope/beta/openai/realtime/_utils/_protocols.py +0 -50
- mirascope/beta/openai/realtime/realtime.py +0 -500
- mirascope/beta/openai/realtime/recording.py +0 -98
- mirascope/beta/openai/realtime/tool.py +0 -113
- mirascope/beta/rag/__init__.py +0 -24
- mirascope/beta/rag/base/__init__.py +0 -22
- mirascope/beta/rag/base/chunkers/__init__.py +0 -2
- mirascope/beta/rag/base/chunkers/base_chunker.py +0 -37
- mirascope/beta/rag/base/chunkers/text_chunker.py +0 -33
- mirascope/beta/rag/base/config.py +0 -8
- mirascope/beta/rag/base/document.py +0 -11
- mirascope/beta/rag/base/embedders.py +0 -35
- mirascope/beta/rag/base/embedding_params.py +0 -18
- mirascope/beta/rag/base/embedding_response.py +0 -30
- mirascope/beta/rag/base/query_results.py +0 -7
- mirascope/beta/rag/base/vectorstore_params.py +0 -18
- mirascope/beta/rag/base/vectorstores.py +0 -37
- mirascope/beta/rag/chroma/__init__.py +0 -11
- mirascope/beta/rag/chroma/types.py +0 -62
- mirascope/beta/rag/chroma/vectorstores.py +0 -121
- mirascope/beta/rag/cohere/__init__.py +0 -11
- mirascope/beta/rag/cohere/embedders.py +0 -87
- mirascope/beta/rag/cohere/embedding_params.py +0 -29
- mirascope/beta/rag/cohere/embedding_response.py +0 -29
- mirascope/beta/rag/cohere/py.typed +0 -0
- mirascope/beta/rag/openai/__init__.py +0 -11
- mirascope/beta/rag/openai/embedders.py +0 -144
- mirascope/beta/rag/openai/embedding_params.py +0 -18
- mirascope/beta/rag/openai/embedding_response.py +0 -14
- mirascope/beta/rag/openai/py.typed +0 -0
- mirascope/beta/rag/pinecone/__init__.py +0 -19
- mirascope/beta/rag/pinecone/types.py +0 -143
- mirascope/beta/rag/pinecone/vectorstores.py +0 -148
- mirascope/beta/rag/weaviate/__init__.py +0 -6
- mirascope/beta/rag/weaviate/types.py +0 -92
- mirascope/beta/rag/weaviate/vectorstores.py +0 -103
- mirascope/core/__init__.py +0 -109
- mirascope/core/anthropic/__init__.py +0 -31
- mirascope/core/anthropic/_call.py +0 -67
- mirascope/core/anthropic/_call_kwargs.py +0 -13
- mirascope/core/anthropic/_thinking.py +0 -70
- mirascope/core/anthropic/_utils/__init__.py +0 -16
- mirascope/core/anthropic/_utils/_convert_common_call_params.py +0 -25
- mirascope/core/anthropic/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -21
- mirascope/core/anthropic/_utils/_convert_message_params.py +0 -102
- mirascope/core/anthropic/_utils/_get_json_output.py +0 -31
- mirascope/core/anthropic/_utils/_handle_stream.py +0 -113
- mirascope/core/anthropic/_utils/_message_param_converter.py +0 -154
- mirascope/core/anthropic/_utils/_setup_call.py +0 -146
- mirascope/core/anthropic/call_params.py +0 -44
- mirascope/core/anthropic/call_response.py +0 -226
- mirascope/core/anthropic/call_response_chunk.py +0 -152
- mirascope/core/anthropic/dynamic_config.py +0 -40
- mirascope/core/anthropic/py.typed +0 -0
- mirascope/core/anthropic/stream.py +0 -204
- mirascope/core/anthropic/tool.py +0 -101
- mirascope/core/azure/__init__.py +0 -31
- mirascope/core/azure/_call.py +0 -67
- mirascope/core/azure/_call_kwargs.py +0 -13
- mirascope/core/azure/_utils/__init__.py +0 -14
- mirascope/core/azure/_utils/_convert_common_call_params.py +0 -26
- mirascope/core/azure/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -21
- mirascope/core/azure/_utils/_convert_message_params.py +0 -121
- mirascope/core/azure/_utils/_get_credential.py +0 -33
- mirascope/core/azure/_utils/_get_json_output.py +0 -27
- mirascope/core/azure/_utils/_handle_stream.py +0 -130
- mirascope/core/azure/_utils/_message_param_converter.py +0 -117
- mirascope/core/azure/_utils/_setup_call.py +0 -183
- mirascope/core/azure/call_params.py +0 -59
- mirascope/core/azure/call_response.py +0 -215
- mirascope/core/azure/call_response_chunk.py +0 -105
- mirascope/core/azure/dynamic_config.py +0 -30
- mirascope/core/azure/py.typed +0 -0
- mirascope/core/azure/stream.py +0 -147
- mirascope/core/azure/tool.py +0 -93
- mirascope/core/base/__init__.py +0 -86
- mirascope/core/base/_call_factory.py +0 -256
- mirascope/core/base/_create.py +0 -253
- mirascope/core/base/_extract.py +0 -175
- mirascope/core/base/_extract_with_tools.py +0 -189
- mirascope/core/base/_partial.py +0 -95
- mirascope/core/base/_utils/__init__.py +0 -92
- mirascope/core/base/_utils/_base_message_param_converter.py +0 -22
- mirascope/core/base/_utils/_base_type.py +0 -26
- mirascope/core/base/_utils/_convert_base_model_to_base_tool.py +0 -48
- mirascope/core/base/_utils/_convert_base_type_to_base_tool.py +0 -24
- mirascope/core/base/_utils/_convert_function_to_base_tool.py +0 -139
- mirascope/core/base/_utils/_convert_messages_to_message_params.py +0 -178
- mirascope/core/base/_utils/_convert_provider_finish_reason_to_finish_reason.py +0 -20
- mirascope/core/base/_utils/_default_tool_docstring.py +0 -6
- mirascope/core/base/_utils/_extract_tool_return.py +0 -42
- mirascope/core/base/_utils/_fn_is_async.py +0 -24
- mirascope/core/base/_utils/_format_template.py +0 -32
- mirascope/core/base/_utils/_get_audio_type.py +0 -18
- mirascope/core/base/_utils/_get_common_usage.py +0 -20
- mirascope/core/base/_utils/_get_create_fn_or_async_create_fn.py +0 -137
- mirascope/core/base/_utils/_get_document_type.py +0 -7
- mirascope/core/base/_utils/_get_dynamic_configuration.py +0 -69
- mirascope/core/base/_utils/_get_fields_from_call_args.py +0 -34
- mirascope/core/base/_utils/_get_fn_args.py +0 -23
- mirascope/core/base/_utils/_get_image_dimensions.py +0 -39
- mirascope/core/base/_utils/_get_image_type.py +0 -26
- mirascope/core/base/_utils/_get_metadata.py +0 -17
- mirascope/core/base/_utils/_get_possible_user_message_param.py +0 -21
- mirascope/core/base/_utils/_get_prompt_template.py +0 -28
- mirascope/core/base/_utils/_get_template_values.py +0 -51
- mirascope/core/base/_utils/_get_template_variables.py +0 -38
- mirascope/core/base/_utils/_get_unsupported_tool_config_keys.py +0 -10
- mirascope/core/base/_utils/_is_prompt_template.py +0 -24
- mirascope/core/base/_utils/_json_mode_content.py +0 -17
- mirascope/core/base/_utils/_messages_decorator.py +0 -121
- mirascope/core/base/_utils/_parse_content_template.py +0 -323
- mirascope/core/base/_utils/_parse_prompt_messages.py +0 -63
- mirascope/core/base/_utils/_pil_image_to_bytes.py +0 -13
- mirascope/core/base/_utils/_protocols.py +0 -901
- mirascope/core/base/_utils/_setup_call.py +0 -79
- mirascope/core/base/_utils/_setup_extract_tool.py +0 -30
- mirascope/core/base/call_kwargs.py +0 -13
- mirascope/core/base/call_params.py +0 -36
- mirascope/core/base/call_response.py +0 -338
- mirascope/core/base/call_response_chunk.py +0 -130
- mirascope/core/base/dynamic_config.py +0 -82
- mirascope/core/base/from_call_args.py +0 -30
- mirascope/core/base/merge_decorators.py +0 -59
- mirascope/core/base/message_param.py +0 -175
- mirascope/core/base/messages.py +0 -116
- mirascope/core/base/metadata.py +0 -13
- mirascope/core/base/prompt.py +0 -497
- mirascope/core/base/response_model_config_dict.py +0 -9
- mirascope/core/base/stream.py +0 -479
- mirascope/core/base/stream_config.py +0 -11
- mirascope/core/base/structured_stream.py +0 -296
- mirascope/core/base/tool.py +0 -214
- mirascope/core/base/toolkit.py +0 -176
- mirascope/core/base/types.py +0 -344
- mirascope/core/bedrock/__init__.py +0 -34
- mirascope/core/bedrock/_call.py +0 -68
- mirascope/core/bedrock/_call_kwargs.py +0 -12
- mirascope/core/bedrock/_types.py +0 -104
- mirascope/core/bedrock/_utils/__init__.py +0 -14
- mirascope/core/bedrock/_utils/_convert_common_call_params.py +0 -39
- mirascope/core/bedrock/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
- mirascope/core/bedrock/_utils/_convert_message_params.py +0 -111
- mirascope/core/bedrock/_utils/_get_json_output.py +0 -30
- mirascope/core/bedrock/_utils/_handle_stream.py +0 -104
- mirascope/core/bedrock/_utils/_message_param_converter.py +0 -172
- mirascope/core/bedrock/_utils/_setup_call.py +0 -258
- mirascope/core/bedrock/call_params.py +0 -38
- mirascope/core/bedrock/call_response.py +0 -248
- mirascope/core/bedrock/call_response_chunk.py +0 -111
- mirascope/core/bedrock/dynamic_config.py +0 -37
- mirascope/core/bedrock/py.typed +0 -0
- mirascope/core/bedrock/stream.py +0 -154
- mirascope/core/bedrock/tool.py +0 -100
- mirascope/core/cohere/__init__.py +0 -30
- mirascope/core/cohere/_call.py +0 -67
- mirascope/core/cohere/_call_kwargs.py +0 -11
- mirascope/core/cohere/_types.py +0 -20
- mirascope/core/cohere/_utils/__init__.py +0 -14
- mirascope/core/cohere/_utils/_convert_common_call_params.py +0 -26
- mirascope/core/cohere/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -24
- mirascope/core/cohere/_utils/_convert_message_params.py +0 -32
- mirascope/core/cohere/_utils/_get_json_output.py +0 -30
- mirascope/core/cohere/_utils/_handle_stream.py +0 -35
- mirascope/core/cohere/_utils/_message_param_converter.py +0 -54
- mirascope/core/cohere/_utils/_setup_call.py +0 -150
- mirascope/core/cohere/call_params.py +0 -62
- mirascope/core/cohere/call_response.py +0 -205
- mirascope/core/cohere/call_response_chunk.py +0 -125
- mirascope/core/cohere/dynamic_config.py +0 -32
- mirascope/core/cohere/py.typed +0 -0
- mirascope/core/cohere/stream.py +0 -113
- mirascope/core/cohere/tool.py +0 -93
- mirascope/core/costs/__init__.py +0 -5
- mirascope/core/costs/_anthropic_calculate_cost.py +0 -219
- mirascope/core/costs/_azure_calculate_cost.py +0 -11
- mirascope/core/costs/_bedrock_calculate_cost.py +0 -15
- mirascope/core/costs/_cohere_calculate_cost.py +0 -44
- mirascope/core/costs/_gemini_calculate_cost.py +0 -67
- mirascope/core/costs/_google_calculate_cost.py +0 -427
- mirascope/core/costs/_groq_calculate_cost.py +0 -156
- mirascope/core/costs/_litellm_calculate_cost.py +0 -11
- mirascope/core/costs/_mistral_calculate_cost.py +0 -64
- mirascope/core/costs/_openai_calculate_cost.py +0 -416
- mirascope/core/costs/_vertex_calculate_cost.py +0 -67
- mirascope/core/costs/_xai_calculate_cost.py +0 -104
- mirascope/core/costs/calculate_cost.py +0 -86
- mirascope/core/gemini/__init__.py +0 -40
- mirascope/core/gemini/_call.py +0 -67
- mirascope/core/gemini/_call_kwargs.py +0 -12
- mirascope/core/gemini/_utils/__init__.py +0 -14
- mirascope/core/gemini/_utils/_convert_common_call_params.py +0 -39
- mirascope/core/gemini/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
- mirascope/core/gemini/_utils/_convert_message_params.py +0 -156
- mirascope/core/gemini/_utils/_get_json_output.py +0 -35
- mirascope/core/gemini/_utils/_handle_stream.py +0 -33
- mirascope/core/gemini/_utils/_message_param_converter.py +0 -209
- mirascope/core/gemini/_utils/_setup_call.py +0 -149
- mirascope/core/gemini/call_params.py +0 -52
- mirascope/core/gemini/call_response.py +0 -216
- mirascope/core/gemini/call_response_chunk.py +0 -100
- mirascope/core/gemini/dynamic_config.py +0 -26
- mirascope/core/gemini/stream.py +0 -120
- mirascope/core/gemini/tool.py +0 -104
- mirascope/core/google/__init__.py +0 -29
- mirascope/core/google/_call.py +0 -67
- mirascope/core/google/_call_kwargs.py +0 -13
- mirascope/core/google/_utils/__init__.py +0 -14
- mirascope/core/google/_utils/_convert_common_call_params.py +0 -38
- mirascope/core/google/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -27
- mirascope/core/google/_utils/_convert_message_params.py +0 -297
- mirascope/core/google/_utils/_get_json_output.py +0 -37
- mirascope/core/google/_utils/_handle_stream.py +0 -58
- mirascope/core/google/_utils/_message_param_converter.py +0 -200
- mirascope/core/google/_utils/_setup_call.py +0 -201
- mirascope/core/google/_utils/_validate_media_type.py +0 -58
- mirascope/core/google/call_params.py +0 -22
- mirascope/core/google/call_response.py +0 -255
- mirascope/core/google/call_response_chunk.py +0 -135
- mirascope/core/google/dynamic_config.py +0 -26
- mirascope/core/google/stream.py +0 -199
- mirascope/core/google/tool.py +0 -146
- mirascope/core/groq/__init__.py +0 -30
- mirascope/core/groq/_call.py +0 -67
- mirascope/core/groq/_call_kwargs.py +0 -13
- mirascope/core/groq/_utils/__init__.py +0 -14
- mirascope/core/groq/_utils/_convert_common_call_params.py +0 -26
- mirascope/core/groq/_utils/_convert_message_params.py +0 -112
- mirascope/core/groq/_utils/_get_json_output.py +0 -27
- mirascope/core/groq/_utils/_handle_stream.py +0 -123
- mirascope/core/groq/_utils/_message_param_converter.py +0 -89
- mirascope/core/groq/_utils/_setup_call.py +0 -132
- mirascope/core/groq/call_params.py +0 -52
- mirascope/core/groq/call_response.py +0 -213
- mirascope/core/groq/call_response_chunk.py +0 -104
- mirascope/core/groq/dynamic_config.py +0 -29
- mirascope/core/groq/py.typed +0 -0
- mirascope/core/groq/stream.py +0 -135
- mirascope/core/groq/tool.py +0 -80
- mirascope/core/litellm/__init__.py +0 -28
- mirascope/core/litellm/_call.py +0 -67
- mirascope/core/litellm/_utils/__init__.py +0 -5
- mirascope/core/litellm/_utils/_setup_call.py +0 -109
- mirascope/core/litellm/call_params.py +0 -10
- mirascope/core/litellm/call_response.py +0 -24
- mirascope/core/litellm/call_response_chunk.py +0 -14
- mirascope/core/litellm/dynamic_config.py +0 -8
- mirascope/core/litellm/py.typed +0 -0
- mirascope/core/litellm/stream.py +0 -86
- mirascope/core/litellm/tool.py +0 -13
- mirascope/core/mistral/__init__.py +0 -36
- mirascope/core/mistral/_call.py +0 -65
- mirascope/core/mistral/_call_kwargs.py +0 -19
- mirascope/core/mistral/_utils/__init__.py +0 -14
- mirascope/core/mistral/_utils/_convert_common_call_params.py +0 -24
- mirascope/core/mistral/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -22
- mirascope/core/mistral/_utils/_convert_message_params.py +0 -122
- mirascope/core/mistral/_utils/_get_json_output.py +0 -34
- mirascope/core/mistral/_utils/_handle_stream.py +0 -139
- mirascope/core/mistral/_utils/_message_param_converter.py +0 -176
- mirascope/core/mistral/_utils/_setup_call.py +0 -164
- mirascope/core/mistral/call_params.py +0 -36
- mirascope/core/mistral/call_response.py +0 -205
- mirascope/core/mistral/call_response_chunk.py +0 -105
- mirascope/core/mistral/dynamic_config.py +0 -33
- mirascope/core/mistral/py.typed +0 -0
- mirascope/core/mistral/stream.py +0 -120
- mirascope/core/mistral/tool.py +0 -81
- mirascope/core/openai/__init__.py +0 -31
- mirascope/core/openai/_call.py +0 -67
- mirascope/core/openai/_call_kwargs.py +0 -13
- mirascope/core/openai/_utils/__init__.py +0 -14
- mirascope/core/openai/_utils/_convert_common_call_params.py +0 -26
- mirascope/core/openai/_utils/_convert_message_params.py +0 -148
- mirascope/core/openai/_utils/_get_json_output.py +0 -31
- mirascope/core/openai/_utils/_handle_stream.py +0 -138
- mirascope/core/openai/_utils/_message_param_converter.py +0 -105
- mirascope/core/openai/_utils/_setup_call.py +0 -155
- mirascope/core/openai/call_params.py +0 -92
- mirascope/core/openai/call_response.py +0 -273
- mirascope/core/openai/call_response_chunk.py +0 -139
- mirascope/core/openai/dynamic_config.py +0 -34
- mirascope/core/openai/py.typed +0 -0
- mirascope/core/openai/stream.py +0 -185
- mirascope/core/openai/tool.py +0 -101
- mirascope/core/py.typed +0 -0
- mirascope/core/vertex/__init__.py +0 -45
- mirascope/core/vertex/_call.py +0 -62
- mirascope/core/vertex/_call_kwargs.py +0 -12
- mirascope/core/vertex/_utils/__init__.py +0 -14
- mirascope/core/vertex/_utils/_convert_common_call_params.py +0 -37
- mirascope/core/vertex/_utils/_convert_finish_reason_to_common_finish_reasons.py +0 -23
- mirascope/core/vertex/_utils/_convert_message_params.py +0 -171
- mirascope/core/vertex/_utils/_get_json_output.py +0 -36
- mirascope/core/vertex/_utils/_handle_stream.py +0 -33
- mirascope/core/vertex/_utils/_message_param_converter.py +0 -133
- mirascope/core/vertex/_utils/_setup_call.py +0 -160
- mirascope/core/vertex/call_params.py +0 -24
- mirascope/core/vertex/call_response.py +0 -206
- mirascope/core/vertex/call_response_chunk.py +0 -99
- mirascope/core/vertex/dynamic_config.py +0 -28
- mirascope/core/vertex/stream.py +0 -119
- mirascope/core/vertex/tool.py +0 -101
- mirascope/core/xai/__init__.py +0 -28
- mirascope/core/xai/_call.py +0 -67
- mirascope/core/xai/_utils/__init__.py +0 -5
- mirascope/core/xai/_utils/_setup_call.py +0 -113
- mirascope/core/xai/call_params.py +0 -10
- mirascope/core/xai/call_response.py +0 -16
- mirascope/core/xai/call_response_chunk.py +0 -14
- mirascope/core/xai/dynamic_config.py +0 -8
- mirascope/core/xai/py.typed +0 -0
- mirascope/core/xai/stream.py +0 -57
- mirascope/core/xai/tool.py +0 -13
- mirascope/experimental/graphs/__init__.py +0 -5
- mirascope/integrations/__init__.py +0 -16
- mirascope/integrations/_middleware_factory.py +0 -403
- mirascope/integrations/langfuse/__init__.py +0 -3
- mirascope/integrations/langfuse/_utils.py +0 -114
- mirascope/integrations/langfuse/_with_langfuse.py +0 -70
- mirascope/integrations/logfire/__init__.py +0 -3
- mirascope/integrations/logfire/_utils.py +0 -225
- mirascope/integrations/logfire/_with_logfire.py +0 -63
- mirascope/integrations/otel/__init__.py +0 -10
- mirascope/integrations/otel/_utils.py +0 -270
- mirascope/integrations/otel/_with_hyperdx.py +0 -60
- mirascope/integrations/otel/_with_otel.py +0 -59
- mirascope/integrations/tenacity.py +0 -14
- mirascope/llm/_call.py +0 -401
- mirascope/llm/_context.py +0 -384
- mirascope/llm/_override.py +0 -3639
- mirascope/llm/_protocols.py +0 -500
- mirascope/llm/_response_metaclass.py +0 -31
- mirascope/llm/call_response.py +0 -158
- mirascope/llm/call_response_chunk.py +0 -66
- mirascope/llm/stream.py +0 -162
- mirascope/llm/tool.py +0 -64
- mirascope/mcp/__init__.py +0 -7
- mirascope/mcp/_utils.py +0 -288
- mirascope/mcp/client.py +0 -167
- mirascope/mcp/server.py +0 -356
- mirascope/mcp/tools.py +0 -110
- mirascope/py.typed +0 -0
- mirascope/retries/__init__.py +0 -11
- mirascope/retries/fallback.py +0 -131
- mirascope/retries/tenacity.py +0 -50
- mirascope/tools/__init__.py +0 -37
- mirascope/tools/base.py +0 -98
- mirascope/tools/system/__init__.py +0 -0
- mirascope/tools/system/_docker_operation.py +0 -166
- mirascope/tools/system/_file_system.py +0 -267
- mirascope/tools/web/__init__.py +0 -0
- mirascope/tools/web/_duckduckgo.py +0 -111
- mirascope/tools/web/_httpx.py +0 -125
- mirascope/tools/web/_parse_url_content.py +0 -94
- mirascope/tools/web/_requests.py +0 -54
- mirascope/v0/__init__.py +0 -43
- mirascope/v0/anthropic.py +0 -54
- mirascope/v0/base/__init__.py +0 -12
- mirascope/v0/base/calls.py +0 -118
- mirascope/v0/base/extractors.py +0 -122
- mirascope/v0/base/ops_utils.py +0 -207
- mirascope/v0/base/prompts.py +0 -48
- mirascope/v0/base/types.py +0 -14
- mirascope/v0/base/utils.py +0 -21
- mirascope/v0/openai.py +0 -54
- mirascope-1.25.7.dist-info/METADATA +0 -169
- mirascope-1.25.7.dist-info/RECORD +0 -378
- {mirascope-1.25.7.dist-info → mirascope-2.0.0a0.dist-info}/WHEEL +0 -0
- {mirascope-1.25.7.dist-info → mirascope-2.0.0a0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"""The base type in a function as an LLM call to return for dynamic configuration."""
|
|
2
|
-
|
|
3
|
-
from collections.abc import Callable, Sequence
|
|
4
|
-
from typing import Any, Generic, TypeVar
|
|
5
|
-
|
|
6
|
-
from typing_extensions import NotRequired, TypedDict
|
|
7
|
-
|
|
8
|
-
from .call_params import BaseCallParams
|
|
9
|
-
from .metadata import Metadata
|
|
10
|
-
from .tool import BaseTool
|
|
11
|
-
|
|
12
|
-
_MessageParamT = TypeVar("_MessageParamT", bound=Any)
|
|
13
|
-
_CallParamsT = TypeVar("_CallParamsT", bound=BaseCallParams)
|
|
14
|
-
_ClientT = TypeVar("_ClientT", bound=object)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class DynamicConfigBase(TypedDict):
|
|
18
|
-
metadata: NotRequired[Metadata]
|
|
19
|
-
computed_fields: NotRequired[dict[str, Any | list[Any] | list[list[Any]]]]
|
|
20
|
-
tools: NotRequired[Sequence[type[BaseTool] | Callable]]
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class DynamicConfigMessages(DynamicConfigBase, Generic[_MessageParamT]):
|
|
24
|
-
messages: NotRequired[Sequence[_MessageParamT]]
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class DynamicConfigCallParams(DynamicConfigBase, Generic[_CallParamsT]):
|
|
28
|
-
call_params: NotRequired[_CallParamsT]
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class DynamicConfigClient(DynamicConfigBase, Generic[_ClientT]):
|
|
32
|
-
client: NotRequired[_ClientT | None]
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class DynamicConfigMessagesCallParams(
|
|
36
|
-
DynamicConfigBase, Generic[_MessageParamT, _CallParamsT]
|
|
37
|
-
):
|
|
38
|
-
messages: NotRequired[Sequence[_MessageParamT]]
|
|
39
|
-
call_params: NotRequired[_CallParamsT]
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
class DynamicConfigMessagesClient(DynamicConfigBase, Generic[_MessageParamT, _ClientT]):
|
|
43
|
-
messages: NotRequired[Sequence[_MessageParamT]]
|
|
44
|
-
client: NotRequired[_ClientT | None]
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
class DynamicConfigCallParamsClient(DynamicConfigBase, Generic[_CallParamsT, _ClientT]):
|
|
48
|
-
call_params: NotRequired[_CallParamsT]
|
|
49
|
-
client: NotRequired[_ClientT | None]
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
class DynamicConfigFull(
|
|
53
|
-
DynamicConfigBase, Generic[_MessageParamT, _CallParamsT, _ClientT]
|
|
54
|
-
):
|
|
55
|
-
messages: NotRequired[Sequence[_MessageParamT]]
|
|
56
|
-
call_params: NotRequired[_CallParamsT]
|
|
57
|
-
client: NotRequired[_ClientT | None]
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
BaseDynamicConfig = (
|
|
61
|
-
DynamicConfigBase
|
|
62
|
-
| DynamicConfigMessages[_MessageParamT]
|
|
63
|
-
| DynamicConfigCallParams[_CallParamsT]
|
|
64
|
-
| DynamicConfigClient[_ClientT]
|
|
65
|
-
| DynamicConfigMessagesCallParams[_MessageParamT, _CallParamsT]
|
|
66
|
-
| DynamicConfigMessagesClient[_MessageParamT, _ClientT]
|
|
67
|
-
| DynamicConfigCallParamsClient[_CallParamsT, _ClientT]
|
|
68
|
-
| DynamicConfigFull[_MessageParamT, _CallParamsT, _ClientT]
|
|
69
|
-
| None
|
|
70
|
-
)
|
|
71
|
-
"""The base type in a function as an LLM call to return for dynamic configuration.
|
|
72
|
-
|
|
73
|
-
Attributes:
|
|
74
|
-
metadata: Any metadata to include in call responses.
|
|
75
|
-
computed_fields: Fields to be computed and injected into the prompt template at
|
|
76
|
-
runtime.
|
|
77
|
-
tools: Tools to be provided to the LLM API call at runtime.
|
|
78
|
-
messages: Custom message parameters, which will override any other form of writing
|
|
79
|
-
prompts when used.
|
|
80
|
-
call_params: Call parameters to use when making the LLM API call.
|
|
81
|
-
client: A custom client to use in place of the default client.
|
|
82
|
-
"""
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
from pydantic.fields import FieldInfo
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class FromCallArgs:
|
|
5
|
-
"""Use this metadata to pass function arguments through to the response model.
|
|
6
|
-
|
|
7
|
-
Example:
|
|
8
|
-
|
|
9
|
-
```python
|
|
10
|
-
from typing import Annotated
|
|
11
|
-
from pydantic import BaseModel, Field
|
|
12
|
-
from mirascope.core import openai, prompt_template
|
|
13
|
-
from mirascope.core.base import FromCallArgs
|
|
14
|
-
|
|
15
|
-
class BookRecommendation(BaseModel):
|
|
16
|
-
genre: Annotated[str, FromCallArgs()]
|
|
17
|
-
title: str = Field(..., description="The title of the recommended book")
|
|
18
|
-
author: str = Field(..., description="The author of the recommended book")
|
|
19
|
-
|
|
20
|
-
@openai.call(model="gpt-4o-mini", response_model=BookRecommendation)
|
|
21
|
-
def recommend_book(genre: str) -> str:
|
|
22
|
-
return f"Recommend a {genre} book."
|
|
23
|
-
```
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def is_from_call_args(field: FieldInfo) -> bool:
|
|
30
|
-
return any(isinstance(m, FromCallArgs) for m in field.metadata)
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
from collections.abc import Callable
|
|
2
|
-
from functools import reduce, wraps
|
|
3
|
-
from typing import Any, ParamSpec, TypeVar
|
|
4
|
-
|
|
5
|
-
_P = ParamSpec("_P")
|
|
6
|
-
_R = TypeVar("_R")
|
|
7
|
-
|
|
8
|
-
_WP = ParamSpec("_WP")
|
|
9
|
-
_WR = TypeVar("_WR")
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def merge_decorators(
|
|
13
|
-
decorator: Callable[[Callable[_P, _R]], Callable[_WP, _WR]],
|
|
14
|
-
*additional_decorators: Callable[[Callable], Callable],
|
|
15
|
-
) -> Callable[[], Callable[[Callable[_P, _R]], Callable[_WP, _WR]]]:
|
|
16
|
-
"""Combines multiple decorators into a single decorator factory.
|
|
17
|
-
|
|
18
|
-
This function allows you to merge multiple decorators into a single decorator factory.
|
|
19
|
-
The decorators are applied in the order they are passed to the function.
|
|
20
|
-
All function metadata (e.g. docstrings, function name) is preserved through the decoration chain.
|
|
21
|
-
|
|
22
|
-
Args:
|
|
23
|
-
decorator: The base decorator that determines the type signature of the decorated function.
|
|
24
|
-
*additional_decorators: Additional decorators to be merged with the base decorator.
|
|
25
|
-
|
|
26
|
-
Returns:
|
|
27
|
-
A decorator factory function that applies all decorators in the specified order.
|
|
28
|
-
|
|
29
|
-
Example:
|
|
30
|
-
```python
|
|
31
|
-
# Combine multiple decorators
|
|
32
|
-
merged = merge_decorators(
|
|
33
|
-
retry(),
|
|
34
|
-
with_logging(),
|
|
35
|
-
handle_errors()
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
# Apply the merged decorators
|
|
39
|
-
@merged()
|
|
40
|
-
def my_function():
|
|
41
|
-
pass
|
|
42
|
-
```
|
|
43
|
-
"""
|
|
44
|
-
decorators = [decorator] + list(additional_decorators)
|
|
45
|
-
|
|
46
|
-
def decorator_factory() -> Callable[[Callable[_P, _R]], Callable[_WP, _WR]]:
|
|
47
|
-
def inner(func: Callable[_P, _R]) -> Callable[_WP, _WR]:
|
|
48
|
-
def compose(f: Callable, d: Callable) -> Callable:
|
|
49
|
-
@wraps(f)
|
|
50
|
-
def wrapped(*args: Any, **kwargs: Any) -> Any: # noqa: ANN401
|
|
51
|
-
return d(f)(*args, **kwargs)
|
|
52
|
-
|
|
53
|
-
return wrapped
|
|
54
|
-
|
|
55
|
-
return reduce(compose, reversed(decorators), func) # pyright: ignore [reportReturnType]
|
|
56
|
-
|
|
57
|
-
return inner
|
|
58
|
-
|
|
59
|
-
return decorator_factory
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
"""This module contains the base class for message parameters."""
|
|
2
|
-
|
|
3
|
-
from collections.abc import Sequence
|
|
4
|
-
from typing import Literal
|
|
5
|
-
|
|
6
|
-
from pydantic import BaseModel
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class TextPart(BaseModel):
|
|
10
|
-
"""A content part for text.
|
|
11
|
-
|
|
12
|
-
Attributes:
|
|
13
|
-
type: Always "text"
|
|
14
|
-
text: The text content
|
|
15
|
-
"""
|
|
16
|
-
|
|
17
|
-
type: Literal["text"]
|
|
18
|
-
text: str
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class CacheControlPart(BaseModel):
|
|
22
|
-
"""A part for marking cache control.
|
|
23
|
-
|
|
24
|
-
This part is currently only available with Anthropic. For more details, see:
|
|
25
|
-
https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching
|
|
26
|
-
|
|
27
|
-
Attributes:
|
|
28
|
-
type: Always "cache_control"
|
|
29
|
-
cache_type: Currently only "ephemeral" is available.
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
type: Literal["cache_control"]
|
|
33
|
-
cache_type: str
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class ImagePart(BaseModel):
|
|
37
|
-
"""A content part for images.
|
|
38
|
-
|
|
39
|
-
Attributes:
|
|
40
|
-
type: Always "image"
|
|
41
|
-
media_type: The media type (e.g. image/jpeg)
|
|
42
|
-
image: The raw image bytes
|
|
43
|
-
detail: (Optional) The detail to use for the image (supported by OpenAI)
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
type: Literal["image"]
|
|
47
|
-
media_type: str
|
|
48
|
-
image: bytes
|
|
49
|
-
detail: str | None
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
class ImageURLPart(BaseModel):
|
|
53
|
-
"""A content part for images with a URL or base64 encoded image data.
|
|
54
|
-
|
|
55
|
-
Attributes:
|
|
56
|
-
type: Always "image_url"
|
|
57
|
-
url: The URL to the image
|
|
58
|
-
detail: (Optional) The detail to use for the image (supported by OpenAI)
|
|
59
|
-
"""
|
|
60
|
-
|
|
61
|
-
type: Literal["image_url"]
|
|
62
|
-
url: str
|
|
63
|
-
detail: str | None
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
class AudioPart(BaseModel):
|
|
67
|
-
"""A content part for audio.
|
|
68
|
-
|
|
69
|
-
Attributes:
|
|
70
|
-
type: Always "audio"
|
|
71
|
-
media_type: The media type (e.g. audio/wav)
|
|
72
|
-
audio: The raw audio bytes or base64 encoded audio data
|
|
73
|
-
"""
|
|
74
|
-
|
|
75
|
-
type: Literal["audio"]
|
|
76
|
-
media_type: str
|
|
77
|
-
audio: bytes | str
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
class AudioURLPart(BaseModel):
|
|
81
|
-
"""A content part for audio with a URL or base64 encoded audio data.
|
|
82
|
-
|
|
83
|
-
Attributes:
|
|
84
|
-
type: Always "audio_url"
|
|
85
|
-
url: The URL to the audio
|
|
86
|
-
"""
|
|
87
|
-
|
|
88
|
-
type: Literal["audio_url"]
|
|
89
|
-
url: str
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
class DocumentPart(BaseModel):
|
|
93
|
-
"""A content part for pdf.
|
|
94
|
-
|
|
95
|
-
Attributes:
|
|
96
|
-
type: Always "document"
|
|
97
|
-
media_type: The media type (e.g. application/pdf)
|
|
98
|
-
document: document data
|
|
99
|
-
"""
|
|
100
|
-
|
|
101
|
-
type: Literal["document"]
|
|
102
|
-
media_type: str
|
|
103
|
-
document: bytes
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
class DocumentURLPart(BaseModel):
|
|
107
|
-
"""A content part for documents with a URL.
|
|
108
|
-
|
|
109
|
-
Attributes:
|
|
110
|
-
type: Always "document_url"
|
|
111
|
-
url: The URL to the document
|
|
112
|
-
"""
|
|
113
|
-
|
|
114
|
-
type: Literal["document_url"]
|
|
115
|
-
url: str
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
class ToolCallPart(BaseModel):
|
|
119
|
-
"""A content part for tool.
|
|
120
|
-
|
|
121
|
-
Attributes:
|
|
122
|
-
type: Always "tool"
|
|
123
|
-
name: The name of the tool
|
|
124
|
-
id: The id of the tool
|
|
125
|
-
"""
|
|
126
|
-
|
|
127
|
-
type: Literal["tool_call"]
|
|
128
|
-
name: str
|
|
129
|
-
args: dict | None = None
|
|
130
|
-
id: str | None = None
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
class ToolResultPart(BaseModel):
|
|
134
|
-
"""A content part for tool.
|
|
135
|
-
|
|
136
|
-
Attributes:
|
|
137
|
-
type: Always "tool"
|
|
138
|
-
name: The name of the tool
|
|
139
|
-
id: The id of the tool
|
|
140
|
-
"""
|
|
141
|
-
|
|
142
|
-
type: Literal["tool_result"]
|
|
143
|
-
name: str = ""
|
|
144
|
-
content: str
|
|
145
|
-
id: str | None = None
|
|
146
|
-
is_error: bool = False
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
class BaseMessageParam(BaseModel):
|
|
150
|
-
"""A base class for message parameters.
|
|
151
|
-
|
|
152
|
-
usage docs: learn/prompts.md#prompt-templates-messages
|
|
153
|
-
|
|
154
|
-
Attributes:
|
|
155
|
-
role: The role of the message (e.g. "system", "user", "assistant", "tool")
|
|
156
|
-
content: The content of the message
|
|
157
|
-
tool_name: The name of the tool, if any
|
|
158
|
-
"""
|
|
159
|
-
|
|
160
|
-
role: str
|
|
161
|
-
content: (
|
|
162
|
-
str
|
|
163
|
-
| Sequence[
|
|
164
|
-
TextPart
|
|
165
|
-
| ImagePart
|
|
166
|
-
| ImageURLPart
|
|
167
|
-
| AudioPart
|
|
168
|
-
| AudioURLPart
|
|
169
|
-
| CacheControlPart
|
|
170
|
-
| DocumentPart
|
|
171
|
-
| DocumentURLPart
|
|
172
|
-
| ToolCallPart
|
|
173
|
-
| ToolResultPart
|
|
174
|
-
]
|
|
175
|
-
)
|
mirascope/core/base/messages.py
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from collections.abc import Sequence
|
|
4
|
-
from typing import Any
|
|
5
|
-
from wave import Wave_read
|
|
6
|
-
|
|
7
|
-
from ._utils._convert_messages_to_message_params import (
|
|
8
|
-
Image,
|
|
9
|
-
convert_message_content_to_message_param_content,
|
|
10
|
-
)
|
|
11
|
-
from .message_param import (
|
|
12
|
-
AudioPart,
|
|
13
|
-
AudioURLPart,
|
|
14
|
-
BaseMessageParam,
|
|
15
|
-
CacheControlPart,
|
|
16
|
-
DocumentPart,
|
|
17
|
-
DocumentURLPart,
|
|
18
|
-
ImagePart,
|
|
19
|
-
ImageURLPart,
|
|
20
|
-
TextPart,
|
|
21
|
-
)
|
|
22
|
-
from .types import AudioSegment
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class Messages:
|
|
26
|
-
Type = (
|
|
27
|
-
str
|
|
28
|
-
| Sequence[
|
|
29
|
-
str
|
|
30
|
-
| TextPart
|
|
31
|
-
| CacheControlPart
|
|
32
|
-
| ImagePart
|
|
33
|
-
| ImageURLPart
|
|
34
|
-
| Image.Image
|
|
35
|
-
| AudioPart
|
|
36
|
-
| AudioURLPart
|
|
37
|
-
| AudioSegment
|
|
38
|
-
| Wave_read
|
|
39
|
-
| DocumentPart
|
|
40
|
-
| DocumentURLPart
|
|
41
|
-
]
|
|
42
|
-
| list[BaseMessageParam | Any]
|
|
43
|
-
| BaseMessageParam
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
@classmethod
|
|
47
|
-
def System(
|
|
48
|
-
cls,
|
|
49
|
-
content: str
|
|
50
|
-
| Sequence[
|
|
51
|
-
str
|
|
52
|
-
| TextPart
|
|
53
|
-
| CacheControlPart
|
|
54
|
-
| ImagePart
|
|
55
|
-
| ImageURLPart
|
|
56
|
-
| Image.Image
|
|
57
|
-
| AudioPart
|
|
58
|
-
| AudioURLPart
|
|
59
|
-
| AudioSegment
|
|
60
|
-
| Wave_read
|
|
61
|
-
| DocumentPart
|
|
62
|
-
| DocumentURLPart
|
|
63
|
-
],
|
|
64
|
-
) -> BaseMessageParam:
|
|
65
|
-
return BaseMessageParam(
|
|
66
|
-
role="system",
|
|
67
|
-
content=convert_message_content_to_message_param_content(content),
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
@classmethod
|
|
71
|
-
def User(
|
|
72
|
-
cls,
|
|
73
|
-
content: str
|
|
74
|
-
| Sequence[
|
|
75
|
-
str
|
|
76
|
-
| TextPart
|
|
77
|
-
| CacheControlPart
|
|
78
|
-
| ImagePart
|
|
79
|
-
| ImageURLPart
|
|
80
|
-
| Image.Image
|
|
81
|
-
| AudioPart
|
|
82
|
-
| AudioURLPart
|
|
83
|
-
| AudioSegment
|
|
84
|
-
| Wave_read
|
|
85
|
-
| DocumentPart
|
|
86
|
-
| DocumentURLPart
|
|
87
|
-
],
|
|
88
|
-
) -> BaseMessageParam:
|
|
89
|
-
return BaseMessageParam(
|
|
90
|
-
role="user",
|
|
91
|
-
content=convert_message_content_to_message_param_content(content),
|
|
92
|
-
)
|
|
93
|
-
|
|
94
|
-
@classmethod
|
|
95
|
-
def Assistant(
|
|
96
|
-
cls,
|
|
97
|
-
content: str
|
|
98
|
-
| Sequence[
|
|
99
|
-
str
|
|
100
|
-
| TextPart
|
|
101
|
-
| CacheControlPart
|
|
102
|
-
| ImagePart
|
|
103
|
-
| ImageURLPart
|
|
104
|
-
| Image.Image
|
|
105
|
-
| AudioPart
|
|
106
|
-
| AudioURLPart
|
|
107
|
-
| AudioSegment
|
|
108
|
-
| Wave_read
|
|
109
|
-
| DocumentPart
|
|
110
|
-
| DocumentURLPart
|
|
111
|
-
],
|
|
112
|
-
) -> BaseMessageParam:
|
|
113
|
-
return BaseMessageParam(
|
|
114
|
-
role="assistant",
|
|
115
|
-
content=convert_message_content_to_message_param_content(content),
|
|
116
|
-
)
|
mirascope/core/base/metadata.py
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"""The `Metadata` typed dictionary for including general metadata."""
|
|
2
|
-
|
|
3
|
-
from typing_extensions import NotRequired, TypedDict
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class Metadata(TypedDict, total=False):
|
|
7
|
-
"""The `Metadata` typed dictionary for including general metadata.
|
|
8
|
-
|
|
9
|
-
Attributes:
|
|
10
|
-
tags: A set of strings for tagging calls (e.g. versioning, categorizing, etc.)
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
tags: NotRequired[set[str]]
|