pydantic-ai 0.1.8__tar.gz → 0.1.10__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.
Potentially problematic release.
This version of pydantic-ai might be problematic. Click here for more details.
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/PKG-INFO +3 -3
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/pyproject.toml +1 -1
- pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +327 -0
- pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +327 -0
- pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_tool_returning_error.yaml +515 -0
- pydantic_ai-0.1.8/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml → pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_tool_returning_image.yaml +207 -187
- pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +334 -0
- pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +334 -0
- pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_tool_returning_none.yaml +327 -0
- pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_tool_returning_str.yaml +327 -0
- pydantic_ai-0.1.10/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +341 -0
- pydantic_ai-0.1.10/tests/mcp_server.py +114 -0
- pydantic_ai-0.1.10/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +57 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +16 -16
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +17 -17
- pydantic_ai-0.1.10/tests/models/cassettes/test_groq/test_extra_headers.yaml +71 -0
- pydantic_ai-0.1.10/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +184 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +22 -21
- pydantic_ai-0.1.10/tests/models/cassettes/test_openai/test_extra_headers.yaml +80 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +20 -20
- pydantic_ai-0.1.8/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml → pydantic_ai-0.1.10/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +50 -51
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +18 -18
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_anthropic.py +87 -11
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_gemini.py +2 -2
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_groq.py +17 -33
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_mistral.py +5 -5
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_openai.py +66 -5
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_openai_responses.py +4 -4
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_examples.py +4 -7
- pydantic_ai-0.1.10/tests/test_mcp.py +560 -0
- pydantic_ai-0.1.8/tests/mcp_server.py +0 -38
- pydantic_ai-0.1.8/tests/test_mcp.py +0 -139
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/.gitignore +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/LICENSE +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/Makefile +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/README.md +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/__init__.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/conftest.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/__init__.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_dataset.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/evals/utils.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/example_modules/README.md +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/graph/__init__.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/graph/test_state.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/import_examples.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/__init__.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_response.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_bedrock.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_cohere.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_instrumented.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_model.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_model_names.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/__init__.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_groq.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/providers/test_provider_names.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_agent.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_cli.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_deps.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_live.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_logfire.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_messages.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_settings.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_streaming.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_tools.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/test_utils.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/typed_agent.py +0 -0
- {pydantic_ai-0.1.8 → pydantic_ai-0.1.10}/tests/typed_graph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.10
|
|
4
4
|
Summary: Agent Framework / shim to use Pydantic with LLMs
|
|
5
5
|
Project-URL: Homepage, https://ai.pydantic.dev
|
|
6
6
|
Project-URL: Source, https://github.com/pydantic/pydantic-ai
|
|
@@ -28,9 +28,9 @@ Classifier: Topic :: Internet
|
|
|
28
28
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
29
29
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
30
30
|
Requires-Python: >=3.9
|
|
31
|
-
Requires-Dist: pydantic-ai-slim[anthropic,bedrock,cli,cohere,evals,groq,mcp,mistral,openai,vertexai]==0.1.
|
|
31
|
+
Requires-Dist: pydantic-ai-slim[anthropic,bedrock,cli,cohere,evals,groq,mcp,mistral,openai,vertexai]==0.1.10
|
|
32
32
|
Provides-Extra: examples
|
|
33
|
-
Requires-Dist: pydantic-ai-examples==0.1.
|
|
33
|
+
Requires-Dist: pydantic-ai-examples==0.1.10; extra == 'examples'
|
|
34
34
|
Provides-Extra: logfire
|
|
35
35
|
Requires-Dist: logfire>=3.11.0; extra == 'logfire'
|
|
36
36
|
Description-Content-Type: text/markdown
|
|
@@ -243,7 +243,7 @@ snap = ["create"]
|
|
|
243
243
|
|
|
244
244
|
[tool.codespell]
|
|
245
245
|
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
|
|
246
|
-
skip = '.git*,*.svg,*.lock,*.css'
|
|
246
|
+
skip = '.git*,*.svg,*.lock,*.css,*.yaml'
|
|
247
247
|
check-hidden = true
|
|
248
248
|
# Ignore "formatting" like **L**anguage
|
|
249
249
|
ignore-regex = '\*\*[A-Z]\*\*[a-z]+\b'
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
headers:
|
|
4
|
+
accept:
|
|
5
|
+
- application/json
|
|
6
|
+
accept-encoding:
|
|
7
|
+
- gzip, deflate
|
|
8
|
+
connection:
|
|
9
|
+
- keep-alive
|
|
10
|
+
content-length:
|
|
11
|
+
- '1776'
|
|
12
|
+
content-type:
|
|
13
|
+
- application/json
|
|
14
|
+
host:
|
|
15
|
+
- api.openai.com
|
|
16
|
+
method: POST
|
|
17
|
+
parsed_body:
|
|
18
|
+
messages:
|
|
19
|
+
- content: What is 0 degrees Celsius in Fahrenheit?
|
|
20
|
+
role: user
|
|
21
|
+
model: gpt-4o
|
|
22
|
+
n: 1
|
|
23
|
+
stream: false
|
|
24
|
+
tool_choice: auto
|
|
25
|
+
tools:
|
|
26
|
+
- function:
|
|
27
|
+
description: "Convert Celsius to Fahrenheit.\n\n Args:\n celsius: Temperature in Celsius\n\n Returns:\n
|
|
28
|
+
\ Temperature in Fahrenheit\n "
|
|
29
|
+
name: celsius_to_fahrenheit
|
|
30
|
+
parameters:
|
|
31
|
+
properties:
|
|
32
|
+
celsius:
|
|
33
|
+
type: number
|
|
34
|
+
required:
|
|
35
|
+
- celsius
|
|
36
|
+
type: object
|
|
37
|
+
type: function
|
|
38
|
+
- function:
|
|
39
|
+
description: "Get the weather forecast for a location.\n\n Args:\n location: The location to get the weather
|
|
40
|
+
forecast for.\n\n Returns:\n The weather forecast for the location.\n "
|
|
41
|
+
name: get_weather_forecast
|
|
42
|
+
parameters:
|
|
43
|
+
properties:
|
|
44
|
+
location:
|
|
45
|
+
type: string
|
|
46
|
+
required:
|
|
47
|
+
- location
|
|
48
|
+
type: object
|
|
49
|
+
type: function
|
|
50
|
+
- function:
|
|
51
|
+
description: ''
|
|
52
|
+
name: get_image_resource
|
|
53
|
+
parameters:
|
|
54
|
+
properties: {}
|
|
55
|
+
type: object
|
|
56
|
+
type: function
|
|
57
|
+
- function:
|
|
58
|
+
description: ''
|
|
59
|
+
name: get_image
|
|
60
|
+
parameters:
|
|
61
|
+
properties: {}
|
|
62
|
+
type: object
|
|
63
|
+
type: function
|
|
64
|
+
- function:
|
|
65
|
+
description: ''
|
|
66
|
+
name: get_dict
|
|
67
|
+
parameters:
|
|
68
|
+
properties: {}
|
|
69
|
+
type: object
|
|
70
|
+
type: function
|
|
71
|
+
- function:
|
|
72
|
+
description: ''
|
|
73
|
+
name: get_error
|
|
74
|
+
parameters:
|
|
75
|
+
properties:
|
|
76
|
+
value:
|
|
77
|
+
type: boolean
|
|
78
|
+
type: object
|
|
79
|
+
type: function
|
|
80
|
+
- function:
|
|
81
|
+
description: ''
|
|
82
|
+
name: get_none
|
|
83
|
+
parameters:
|
|
84
|
+
properties: {}
|
|
85
|
+
type: object
|
|
86
|
+
type: function
|
|
87
|
+
- function:
|
|
88
|
+
description: ''
|
|
89
|
+
name: get_multiple_items
|
|
90
|
+
parameters:
|
|
91
|
+
properties: {}
|
|
92
|
+
type: object
|
|
93
|
+
type: function
|
|
94
|
+
- function:
|
|
95
|
+
description: "Get the current log level.\n\n Returns:\n The current log level.\n "
|
|
96
|
+
name: get_log_level
|
|
97
|
+
parameters:
|
|
98
|
+
properties: {}
|
|
99
|
+
type: object
|
|
100
|
+
type: function
|
|
101
|
+
uri: https://api.openai.com/v1/chat/completions
|
|
102
|
+
response:
|
|
103
|
+
headers:
|
|
104
|
+
access-control-expose-headers:
|
|
105
|
+
- X-Request-ID
|
|
106
|
+
alt-svc:
|
|
107
|
+
- h3=":443"; ma=86400
|
|
108
|
+
connection:
|
|
109
|
+
- keep-alive
|
|
110
|
+
content-length:
|
|
111
|
+
- '1086'
|
|
112
|
+
content-type:
|
|
113
|
+
- application/json
|
|
114
|
+
openai-organization:
|
|
115
|
+
- pydantic-28gund
|
|
116
|
+
openai-processing-ms:
|
|
117
|
+
- '2632'
|
|
118
|
+
openai-version:
|
|
119
|
+
- '2020-10-01'
|
|
120
|
+
strict-transport-security:
|
|
121
|
+
- max-age=31536000; includeSubDomains; preload
|
|
122
|
+
transfer-encoding:
|
|
123
|
+
- chunked
|
|
124
|
+
parsed_body:
|
|
125
|
+
choices:
|
|
126
|
+
- finish_reason: tool_calls
|
|
127
|
+
index: 0
|
|
128
|
+
logprobs: null
|
|
129
|
+
message:
|
|
130
|
+
annotations: []
|
|
131
|
+
content: null
|
|
132
|
+
refusal: null
|
|
133
|
+
role: assistant
|
|
134
|
+
tool_calls:
|
|
135
|
+
- function:
|
|
136
|
+
arguments: '{"celsius":0}'
|
|
137
|
+
name: celsius_to_fahrenheit
|
|
138
|
+
id: call_QssdxTGkPblTYHmyVES1tKBj
|
|
139
|
+
type: function
|
|
140
|
+
created: 1745958315
|
|
141
|
+
id: chatcmpl-BRlnvvqIPFofAtKqtQKMWZkgXhzlT
|
|
142
|
+
model: gpt-4o-2024-08-06
|
|
143
|
+
object: chat.completion
|
|
144
|
+
service_tier: default
|
|
145
|
+
system_fingerprint: fp_f5bdcc3276
|
|
146
|
+
usage:
|
|
147
|
+
completion_tokens: 19
|
|
148
|
+
completion_tokens_details:
|
|
149
|
+
accepted_prediction_tokens: 0
|
|
150
|
+
audio_tokens: 0
|
|
151
|
+
reasoning_tokens: 0
|
|
152
|
+
rejected_prediction_tokens: 0
|
|
153
|
+
prompt_tokens: 195
|
|
154
|
+
prompt_tokens_details:
|
|
155
|
+
audio_tokens: 0
|
|
156
|
+
cached_tokens: 0
|
|
157
|
+
total_tokens: 214
|
|
158
|
+
status:
|
|
159
|
+
code: 200
|
|
160
|
+
message: OK
|
|
161
|
+
- request:
|
|
162
|
+
headers:
|
|
163
|
+
accept:
|
|
164
|
+
- application/json
|
|
165
|
+
accept-encoding:
|
|
166
|
+
- gzip, deflate
|
|
167
|
+
connection:
|
|
168
|
+
- keep-alive
|
|
169
|
+
content-length:
|
|
170
|
+
- '2023'
|
|
171
|
+
content-type:
|
|
172
|
+
- application/json
|
|
173
|
+
cookie:
|
|
174
|
+
- __cf_bm=UyRzBUJQ1BiB9T_si4uSo1QOHvt3jzINd95Ab5qSPR4-1745958318-1.0.1.1-dXvFJu1Kw9lQqM6cmwZKizLsanBZpJSYtEA2RTLVqeEbvTKEeBaoc_8iwKDx0Ui.HG5NnEcnOBR02OVABBiXTbQZxdcugMe3rAtvqS5hHSM;
|
|
175
|
+
_cfuvid=htgokfgH9.vmsTQnmS6v9S1Vwm3MHhQrDtRQ8IVdCfE-1745958318072-0.0.1.1-604800000
|
|
176
|
+
host:
|
|
177
|
+
- api.openai.com
|
|
178
|
+
method: POST
|
|
179
|
+
parsed_body:
|
|
180
|
+
messages:
|
|
181
|
+
- content: What is 0 degrees Celsius in Fahrenheit?
|
|
182
|
+
role: user
|
|
183
|
+
- role: assistant
|
|
184
|
+
tool_calls:
|
|
185
|
+
- function:
|
|
186
|
+
arguments: '{"celsius":0}'
|
|
187
|
+
name: celsius_to_fahrenheit
|
|
188
|
+
id: call_QssdxTGkPblTYHmyVES1tKBj
|
|
189
|
+
type: function
|
|
190
|
+
- content: '32.0'
|
|
191
|
+
role: tool
|
|
192
|
+
tool_call_id: call_QssdxTGkPblTYHmyVES1tKBj
|
|
193
|
+
model: gpt-4o
|
|
194
|
+
n: 1
|
|
195
|
+
stream: false
|
|
196
|
+
tool_choice: auto
|
|
197
|
+
tools:
|
|
198
|
+
- function:
|
|
199
|
+
description: "Convert Celsius to Fahrenheit.\n\n Args:\n celsius: Temperature in Celsius\n\n Returns:\n
|
|
200
|
+
\ Temperature in Fahrenheit\n "
|
|
201
|
+
name: celsius_to_fahrenheit
|
|
202
|
+
parameters:
|
|
203
|
+
properties:
|
|
204
|
+
celsius:
|
|
205
|
+
type: number
|
|
206
|
+
required:
|
|
207
|
+
- celsius
|
|
208
|
+
type: object
|
|
209
|
+
type: function
|
|
210
|
+
- function:
|
|
211
|
+
description: "Get the weather forecast for a location.\n\n Args:\n location: The location to get the weather
|
|
212
|
+
forecast for.\n\n Returns:\n The weather forecast for the location.\n "
|
|
213
|
+
name: get_weather_forecast
|
|
214
|
+
parameters:
|
|
215
|
+
properties:
|
|
216
|
+
location:
|
|
217
|
+
type: string
|
|
218
|
+
required:
|
|
219
|
+
- location
|
|
220
|
+
type: object
|
|
221
|
+
type: function
|
|
222
|
+
- function:
|
|
223
|
+
description: ''
|
|
224
|
+
name: get_image_resource
|
|
225
|
+
parameters:
|
|
226
|
+
properties: {}
|
|
227
|
+
type: object
|
|
228
|
+
type: function
|
|
229
|
+
- function:
|
|
230
|
+
description: ''
|
|
231
|
+
name: get_image
|
|
232
|
+
parameters:
|
|
233
|
+
properties: {}
|
|
234
|
+
type: object
|
|
235
|
+
type: function
|
|
236
|
+
- function:
|
|
237
|
+
description: ''
|
|
238
|
+
name: get_dict
|
|
239
|
+
parameters:
|
|
240
|
+
properties: {}
|
|
241
|
+
type: object
|
|
242
|
+
type: function
|
|
243
|
+
- function:
|
|
244
|
+
description: ''
|
|
245
|
+
name: get_error
|
|
246
|
+
parameters:
|
|
247
|
+
properties:
|
|
248
|
+
value:
|
|
249
|
+
type: boolean
|
|
250
|
+
type: object
|
|
251
|
+
type: function
|
|
252
|
+
- function:
|
|
253
|
+
description: ''
|
|
254
|
+
name: get_none
|
|
255
|
+
parameters:
|
|
256
|
+
properties: {}
|
|
257
|
+
type: object
|
|
258
|
+
type: function
|
|
259
|
+
- function:
|
|
260
|
+
description: ''
|
|
261
|
+
name: get_multiple_items
|
|
262
|
+
parameters:
|
|
263
|
+
properties: {}
|
|
264
|
+
type: object
|
|
265
|
+
type: function
|
|
266
|
+
- function:
|
|
267
|
+
description: "Get the current log level.\n\n Returns:\n The current log level.\n "
|
|
268
|
+
name: get_log_level
|
|
269
|
+
parameters:
|
|
270
|
+
properties: {}
|
|
271
|
+
type: object
|
|
272
|
+
type: function
|
|
273
|
+
uri: https://api.openai.com/v1/chat/completions
|
|
274
|
+
response:
|
|
275
|
+
headers:
|
|
276
|
+
access-control-expose-headers:
|
|
277
|
+
- X-Request-ID
|
|
278
|
+
alt-svc:
|
|
279
|
+
- h3=":443"; ma=86400
|
|
280
|
+
connection:
|
|
281
|
+
- keep-alive
|
|
282
|
+
content-length:
|
|
283
|
+
- '856'
|
|
284
|
+
content-type:
|
|
285
|
+
- application/json
|
|
286
|
+
openai-organization:
|
|
287
|
+
- pydantic-28gund
|
|
288
|
+
openai-processing-ms:
|
|
289
|
+
- '1002'
|
|
290
|
+
openai-version:
|
|
291
|
+
- '2020-10-01'
|
|
292
|
+
strict-transport-security:
|
|
293
|
+
- max-age=31536000; includeSubDomains; preload
|
|
294
|
+
transfer-encoding:
|
|
295
|
+
- chunked
|
|
296
|
+
parsed_body:
|
|
297
|
+
choices:
|
|
298
|
+
- finish_reason: stop
|
|
299
|
+
index: 0
|
|
300
|
+
logprobs: null
|
|
301
|
+
message:
|
|
302
|
+
annotations: []
|
|
303
|
+
content: 0 degrees Celsius is equal to 32 degrees Fahrenheit.
|
|
304
|
+
refusal: null
|
|
305
|
+
role: assistant
|
|
306
|
+
created: 1745958318
|
|
307
|
+
id: chatcmpl-BRlnyjUo5wlyqvdNdM5I8vIWjo1qF
|
|
308
|
+
model: gpt-4o-2024-08-06
|
|
309
|
+
object: chat.completion
|
|
310
|
+
service_tier: default
|
|
311
|
+
system_fingerprint: fp_f5bdcc3276
|
|
312
|
+
usage:
|
|
313
|
+
completion_tokens: 13
|
|
314
|
+
completion_tokens_details:
|
|
315
|
+
accepted_prediction_tokens: 0
|
|
316
|
+
audio_tokens: 0
|
|
317
|
+
reasoning_tokens: 0
|
|
318
|
+
rejected_prediction_tokens: 0
|
|
319
|
+
prompt_tokens: 227
|
|
320
|
+
prompt_tokens_details:
|
|
321
|
+
audio_tokens: 0
|
|
322
|
+
cached_tokens: 0
|
|
323
|
+
total_tokens: 240
|
|
324
|
+
status:
|
|
325
|
+
code: 200
|
|
326
|
+
message: OK
|
|
327
|
+
version: 1
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
headers:
|
|
4
|
+
accept:
|
|
5
|
+
- application/json
|
|
6
|
+
accept-encoding:
|
|
7
|
+
- gzip, deflate
|
|
8
|
+
connection:
|
|
9
|
+
- keep-alive
|
|
10
|
+
content-length:
|
|
11
|
+
- '1770'
|
|
12
|
+
content-type:
|
|
13
|
+
- application/json
|
|
14
|
+
host:
|
|
15
|
+
- api.openai.com
|
|
16
|
+
method: POST
|
|
17
|
+
parsed_body:
|
|
18
|
+
messages:
|
|
19
|
+
- content: Get me a dict, respond on one line
|
|
20
|
+
role: user
|
|
21
|
+
model: gpt-4o
|
|
22
|
+
n: 1
|
|
23
|
+
stream: false
|
|
24
|
+
tool_choice: auto
|
|
25
|
+
tools:
|
|
26
|
+
- function:
|
|
27
|
+
description: "Convert Celsius to Fahrenheit.\n\n Args:\n celsius: Temperature in Celsius\n\n Returns:\n
|
|
28
|
+
\ Temperature in Fahrenheit\n "
|
|
29
|
+
name: celsius_to_fahrenheit
|
|
30
|
+
parameters:
|
|
31
|
+
properties:
|
|
32
|
+
celsius:
|
|
33
|
+
type: number
|
|
34
|
+
required:
|
|
35
|
+
- celsius
|
|
36
|
+
type: object
|
|
37
|
+
type: function
|
|
38
|
+
- function:
|
|
39
|
+
description: "Get the weather forecast for a location.\n\n Args:\n location: The location to get the weather
|
|
40
|
+
forecast for.\n\n Returns:\n The weather forecast for the location.\n "
|
|
41
|
+
name: get_weather_forecast
|
|
42
|
+
parameters:
|
|
43
|
+
properties:
|
|
44
|
+
location:
|
|
45
|
+
type: string
|
|
46
|
+
required:
|
|
47
|
+
- location
|
|
48
|
+
type: object
|
|
49
|
+
type: function
|
|
50
|
+
- function:
|
|
51
|
+
description: ''
|
|
52
|
+
name: get_image_resource
|
|
53
|
+
parameters:
|
|
54
|
+
properties: {}
|
|
55
|
+
type: object
|
|
56
|
+
type: function
|
|
57
|
+
- function:
|
|
58
|
+
description: ''
|
|
59
|
+
name: get_image
|
|
60
|
+
parameters:
|
|
61
|
+
properties: {}
|
|
62
|
+
type: object
|
|
63
|
+
type: function
|
|
64
|
+
- function:
|
|
65
|
+
description: ''
|
|
66
|
+
name: get_dict
|
|
67
|
+
parameters:
|
|
68
|
+
properties: {}
|
|
69
|
+
type: object
|
|
70
|
+
type: function
|
|
71
|
+
- function:
|
|
72
|
+
description: ''
|
|
73
|
+
name: get_error
|
|
74
|
+
parameters:
|
|
75
|
+
properties:
|
|
76
|
+
value:
|
|
77
|
+
type: boolean
|
|
78
|
+
type: object
|
|
79
|
+
type: function
|
|
80
|
+
- function:
|
|
81
|
+
description: ''
|
|
82
|
+
name: get_none
|
|
83
|
+
parameters:
|
|
84
|
+
properties: {}
|
|
85
|
+
type: object
|
|
86
|
+
type: function
|
|
87
|
+
- function:
|
|
88
|
+
description: ''
|
|
89
|
+
name: get_multiple_items
|
|
90
|
+
parameters:
|
|
91
|
+
properties: {}
|
|
92
|
+
type: object
|
|
93
|
+
type: function
|
|
94
|
+
- function:
|
|
95
|
+
description: "Get the current log level.\n\n Returns:\n The current log level.\n "
|
|
96
|
+
name: get_log_level
|
|
97
|
+
parameters:
|
|
98
|
+
properties: {}
|
|
99
|
+
type: object
|
|
100
|
+
type: function
|
|
101
|
+
uri: https://api.openai.com/v1/chat/completions
|
|
102
|
+
response:
|
|
103
|
+
headers:
|
|
104
|
+
access-control-expose-headers:
|
|
105
|
+
- X-Request-ID
|
|
106
|
+
alt-svc:
|
|
107
|
+
- h3=":443"; ma=86400
|
|
108
|
+
connection:
|
|
109
|
+
- keep-alive
|
|
110
|
+
content-length:
|
|
111
|
+
- '1060'
|
|
112
|
+
content-type:
|
|
113
|
+
- application/json
|
|
114
|
+
openai-organization:
|
|
115
|
+
- pydantic-28gund
|
|
116
|
+
openai-processing-ms:
|
|
117
|
+
- '953'
|
|
118
|
+
openai-version:
|
|
119
|
+
- '2020-10-01'
|
|
120
|
+
strict-transport-security:
|
|
121
|
+
- max-age=31536000; includeSubDomains; preload
|
|
122
|
+
transfer-encoding:
|
|
123
|
+
- chunked
|
|
124
|
+
parsed_body:
|
|
125
|
+
choices:
|
|
126
|
+
- finish_reason: tool_calls
|
|
127
|
+
index: 0
|
|
128
|
+
logprobs: null
|
|
129
|
+
message:
|
|
130
|
+
annotations: []
|
|
131
|
+
content: null
|
|
132
|
+
refusal: null
|
|
133
|
+
role: assistant
|
|
134
|
+
tool_calls:
|
|
135
|
+
- function:
|
|
136
|
+
arguments: '{}'
|
|
137
|
+
name: get_dict
|
|
138
|
+
id: call_oqKviITBj8PwpQjGyUu4Zu5x
|
|
139
|
+
type: function
|
|
140
|
+
created: 1745958344
|
|
141
|
+
id: chatcmpl-BRloOs7Bb2tq8wJyy9Rv7SQ7L65a7
|
|
142
|
+
model: gpt-4o-2024-08-06
|
|
143
|
+
object: chat.completion
|
|
144
|
+
service_tier: default
|
|
145
|
+
system_fingerprint: fp_55d88aaf2f
|
|
146
|
+
usage:
|
|
147
|
+
completion_tokens: 11
|
|
148
|
+
completion_tokens_details:
|
|
149
|
+
accepted_prediction_tokens: 0
|
|
150
|
+
audio_tokens: 0
|
|
151
|
+
reasoning_tokens: 0
|
|
152
|
+
rejected_prediction_tokens: 0
|
|
153
|
+
prompt_tokens: 195
|
|
154
|
+
prompt_tokens_details:
|
|
155
|
+
audio_tokens: 0
|
|
156
|
+
cached_tokens: 0
|
|
157
|
+
total_tokens: 206
|
|
158
|
+
status:
|
|
159
|
+
code: 200
|
|
160
|
+
message: OK
|
|
161
|
+
- request:
|
|
162
|
+
headers:
|
|
163
|
+
accept:
|
|
164
|
+
- application/json
|
|
165
|
+
accept-encoding:
|
|
166
|
+
- gzip, deflate
|
|
167
|
+
connection:
|
|
168
|
+
- keep-alive
|
|
169
|
+
content-length:
|
|
170
|
+
- '2016'
|
|
171
|
+
content-type:
|
|
172
|
+
- application/json
|
|
173
|
+
cookie:
|
|
174
|
+
- __cf_bm=94n.etM.XZ9BhUYXG5FF37vBIe2HNdQ7nnq7Gg8.1ag-1745958345-1.0.1.1-ZEZQ7xzSm7sKO765NF_Fo0.Q6NdO5_GvkwNpG8Pbp8ano7693MTkVhD.J2osxvzVzpOZDDLVbPB1HGzeyU21YDrYCmlLngKsBJSk3VdZiLE;
|
|
175
|
+
_cfuvid=Hi7j4oFyo9z_jtpwAyznvhgoGw56MiYKy4HxoOqazEM-1745958345551-0.0.1.1-604800000
|
|
176
|
+
host:
|
|
177
|
+
- api.openai.com
|
|
178
|
+
method: POST
|
|
179
|
+
parsed_body:
|
|
180
|
+
messages:
|
|
181
|
+
- content: Get me a dict, respond on one line
|
|
182
|
+
role: user
|
|
183
|
+
- role: assistant
|
|
184
|
+
tool_calls:
|
|
185
|
+
- function:
|
|
186
|
+
arguments: '{}'
|
|
187
|
+
name: get_dict
|
|
188
|
+
id: call_oqKviITBj8PwpQjGyUu4Zu5x
|
|
189
|
+
type: function
|
|
190
|
+
- content: '{"foo":"bar","baz":123}'
|
|
191
|
+
role: tool
|
|
192
|
+
tool_call_id: call_oqKviITBj8PwpQjGyUu4Zu5x
|
|
193
|
+
model: gpt-4o
|
|
194
|
+
n: 1
|
|
195
|
+
stream: false
|
|
196
|
+
tool_choice: auto
|
|
197
|
+
tools:
|
|
198
|
+
- function:
|
|
199
|
+
description: "Convert Celsius to Fahrenheit.\n\n Args:\n celsius: Temperature in Celsius\n\n Returns:\n
|
|
200
|
+
\ Temperature in Fahrenheit\n "
|
|
201
|
+
name: celsius_to_fahrenheit
|
|
202
|
+
parameters:
|
|
203
|
+
properties:
|
|
204
|
+
celsius:
|
|
205
|
+
type: number
|
|
206
|
+
required:
|
|
207
|
+
- celsius
|
|
208
|
+
type: object
|
|
209
|
+
type: function
|
|
210
|
+
- function:
|
|
211
|
+
description: "Get the weather forecast for a location.\n\n Args:\n location: The location to get the weather
|
|
212
|
+
forecast for.\n\n Returns:\n The weather forecast for the location.\n "
|
|
213
|
+
name: get_weather_forecast
|
|
214
|
+
parameters:
|
|
215
|
+
properties:
|
|
216
|
+
location:
|
|
217
|
+
type: string
|
|
218
|
+
required:
|
|
219
|
+
- location
|
|
220
|
+
type: object
|
|
221
|
+
type: function
|
|
222
|
+
- function:
|
|
223
|
+
description: ''
|
|
224
|
+
name: get_image_resource
|
|
225
|
+
parameters:
|
|
226
|
+
properties: {}
|
|
227
|
+
type: object
|
|
228
|
+
type: function
|
|
229
|
+
- function:
|
|
230
|
+
description: ''
|
|
231
|
+
name: get_image
|
|
232
|
+
parameters:
|
|
233
|
+
properties: {}
|
|
234
|
+
type: object
|
|
235
|
+
type: function
|
|
236
|
+
- function:
|
|
237
|
+
description: ''
|
|
238
|
+
name: get_dict
|
|
239
|
+
parameters:
|
|
240
|
+
properties: {}
|
|
241
|
+
type: object
|
|
242
|
+
type: function
|
|
243
|
+
- function:
|
|
244
|
+
description: ''
|
|
245
|
+
name: get_error
|
|
246
|
+
parameters:
|
|
247
|
+
properties:
|
|
248
|
+
value:
|
|
249
|
+
type: boolean
|
|
250
|
+
type: object
|
|
251
|
+
type: function
|
|
252
|
+
- function:
|
|
253
|
+
description: ''
|
|
254
|
+
name: get_none
|
|
255
|
+
parameters:
|
|
256
|
+
properties: {}
|
|
257
|
+
type: object
|
|
258
|
+
type: function
|
|
259
|
+
- function:
|
|
260
|
+
description: ''
|
|
261
|
+
name: get_multiple_items
|
|
262
|
+
parameters:
|
|
263
|
+
properties: {}
|
|
264
|
+
type: object
|
|
265
|
+
type: function
|
|
266
|
+
- function:
|
|
267
|
+
description: "Get the current log level.\n\n Returns:\n The current log level.\n "
|
|
268
|
+
name: get_log_level
|
|
269
|
+
parameters:
|
|
270
|
+
properties: {}
|
|
271
|
+
type: object
|
|
272
|
+
type: function
|
|
273
|
+
uri: https://api.openai.com/v1/chat/completions
|
|
274
|
+
response:
|
|
275
|
+
headers:
|
|
276
|
+
access-control-expose-headers:
|
|
277
|
+
- X-Request-ID
|
|
278
|
+
alt-svc:
|
|
279
|
+
- h3=":443"; ma=86400
|
|
280
|
+
connection:
|
|
281
|
+
- keep-alive
|
|
282
|
+
content-length:
|
|
283
|
+
- '833'
|
|
284
|
+
content-type:
|
|
285
|
+
- application/json
|
|
286
|
+
openai-organization:
|
|
287
|
+
- pydantic-28gund
|
|
288
|
+
openai-processing-ms:
|
|
289
|
+
- '728'
|
|
290
|
+
openai-version:
|
|
291
|
+
- '2020-10-01'
|
|
292
|
+
strict-transport-security:
|
|
293
|
+
- max-age=31536000; includeSubDomains; preload
|
|
294
|
+
transfer-encoding:
|
|
295
|
+
- chunked
|
|
296
|
+
parsed_body:
|
|
297
|
+
choices:
|
|
298
|
+
- finish_reason: stop
|
|
299
|
+
index: 0
|
|
300
|
+
logprobs: null
|
|
301
|
+
message:
|
|
302
|
+
annotations: []
|
|
303
|
+
content: '{"foo":"bar","baz":123}'
|
|
304
|
+
refusal: null
|
|
305
|
+
role: assistant
|
|
306
|
+
created: 1745958345
|
|
307
|
+
id: chatcmpl-BRloPczU1HSCWnreyo21DdNtdOM7L
|
|
308
|
+
model: gpt-4o-2024-08-06
|
|
309
|
+
object: chat.completion
|
|
310
|
+
service_tier: default
|
|
311
|
+
system_fingerprint: fp_f5bdcc3276
|
|
312
|
+
usage:
|
|
313
|
+
completion_tokens: 11
|
|
314
|
+
completion_tokens_details:
|
|
315
|
+
accepted_prediction_tokens: 0
|
|
316
|
+
audio_tokens: 0
|
|
317
|
+
reasoning_tokens: 0
|
|
318
|
+
rejected_prediction_tokens: 0
|
|
319
|
+
prompt_tokens: 222
|
|
320
|
+
prompt_tokens_details:
|
|
321
|
+
audio_tokens: 0
|
|
322
|
+
cached_tokens: 0
|
|
323
|
+
total_tokens: 233
|
|
324
|
+
status:
|
|
325
|
+
code: 200
|
|
326
|
+
message: OK
|
|
327
|
+
version: 1
|