pydantic-ai 0.2.16__tar.gz → 0.2.17__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.2.16 → pydantic_ai-0.2.17}/PKG-INFO +3 -3
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/conftest.py +8 -2
- pydantic_ai-0.2.17/tests/models/cassettes/test_download_item/test_download_item_application_octet_stream.yaml +51 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml +63 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml +69 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml +111 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl].yaml +113 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml +117 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl].yaml +119 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl (gs)].yaml +112 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[ImageUrl].yaml +113 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (YouTube)].yaml +119 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl (gs)].yaml +115 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[VideoUrl].yaml +114 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input_force_download.yaml +161 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[AudioUrl (gs)].yaml +112 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[AudioUrl].yaml +112 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl (gs)].yaml +122 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[DocumentUrl].yaml +118 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[ImageUrl (gs)].yaml +113 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[ImageUrl].yaml +114 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (YouTube)].yaml +117 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[VideoUrl (gs)].yaml +113 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input[VideoUrl].yaml +115 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_google/test_google_url_input_force_download.yaml +157 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_openai/test_reasoning_model_with_temperature.yaml +77 -0
- pydantic_ai-0.2.17/tests/models/cassettes/test_openai_responses/test_reasoning_model_with_temperature.yaml +96 -0
- pydantic_ai-0.2.17/tests/models/test_download_item.py +53 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_gemini.py +44 -0
- pydantic_ai-0.2.17/tests/models/test_gemini_vertex.py +199 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_google.py +141 -6
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_openai.py +10 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_openai_responses.py +10 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_logfire.py +71 -4
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_messages.py +16 -0
- pydantic_ai-0.2.16/tests/models/test_gemini_vertexai.py +0 -51
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/.gitignore +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/LICENSE +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/Makefile +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/README.md +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/pyproject.toml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/__init__.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/assets/dummy.pdf +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/assets/kiwi.png +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/assets/marcelo.mp3 +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/assets/small_video.mp4 +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_agent_with_stdio_server.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_tool_returning_dict.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_tool_returning_error.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_tool_returning_image.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_tool_returning_image_resource.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_tool_returning_multiple_items.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_tool_returning_none.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_tool_returning_str.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_mcp/test_tool_returning_text_resource.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_settings/test_stop_settings[anthropic].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_settings/test_stop_settings[bedrock].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_settings/test_stop_settings[cohere].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_settings/test_stop_settings[gemini].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_settings/test_stop_settings[google].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_settings/test_stop_settings[groq].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_settings/test_stop_settings[mistral].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/cassettes/test_settings/test_stop_settings[openai].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/__init__.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_dataset.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_evaluator_base.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_evaluator_common.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_evaluator_context.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_evaluator_spec.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_evaluators.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_llm_as_a_judge.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_otel.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_render_numbers.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_reporting.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_reports.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/test_utils.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/evals/utils.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/example_modules/README.md +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/example_modules/bank_database.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/example_modules/fake_database.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/example_modules/weather_service.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/ext/__init__.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/ext/test_langchain.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/fasta2a/__init__.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/fasta2a/test_applications.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/graph/__init__.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/graph/test_file_persistence.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/graph/test_graph.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/graph/test_mermaid.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/graph/test_persistence.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/graph/test_state.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/graph/test_utils.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/import_examples.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/json_body_serializer.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/mcp_server.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/__init__.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_anthropic_model_empty_message_on_history.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_anthropic_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_document_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_image_url_input_invalid_mime_type.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_multiple_parallel_tool_calls.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_anthropic/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_empty_system_prompt.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_anthropic_model_without_tools.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_guardrail_config.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_other_parameters.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_performance_config.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_retry.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_stream.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_structured_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_model_top_p.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_bedrock_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_bedrock/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_cohere/test_cohere_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_cohere/test_request_simple_success_with_vcr.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_false.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_gemini_additional_properties_is_true.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_gemini_drop_exclusive_maximum.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_gemini_exclusive_minimum_and_maximum.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_gemini_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_labels_are_ignored_with_gla_provider.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_gemini/test_video_url_input.yaml +0 -0
- {pydantic_ai-0.2.16/tests/models/cassettes/test_gemini_vertexai → pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex}/test_labels.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_empty_user_prompt.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_iter_stream.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_max_tokens.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_multiple_documents_in_history.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_retry.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_safety_settings.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_stream.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_structured_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_text_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_thinking_config.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_top_p.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_vertex_labels.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_vertex_provider.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_video_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_google/test_google_model_video_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_groq/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_groq/test_groq_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_groq/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_groq/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_groq/test_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_mistral/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_mistral/test_mistral_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_model_names/test_known_model_names.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_compatible_api_with_tool_calls_without_id.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_extra_headers.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_image_url_tool_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4.5-preview].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_max_completion_tokens[gpt-4o-mini].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_max_completion_tokens[o3-mini].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_multiple_agent_tool_calls.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_openai_audio_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_openai_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_openai_instructions_with_tool_calls_keep_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_openai_model_without_system_prompt.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[developer].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_openai_o1_mini_system_role[system].yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai/test_user_id.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_audio_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_image_as_binary_content_tool_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_as_binary_content_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_image_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_builtin_tools.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_http_error.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_instructions.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_retry.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_model_simple_response_with_tool_call.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_output_type.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_effort.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_reasoning_generate_summary.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_stream.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_system_prompt.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/cassettes/test_openai_responses/test_openai_responses_text_document_url_input.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/mock_async_stream.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_anthropic.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_bedrock.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_cohere.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_fallback.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_groq.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_instrumented.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_mistral.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_model.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_model_function.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_model_names.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_model_request_parameters.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/models/test_model_test.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/__init__.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/cassettes/test_azure/test_azure_provider_call.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/cassettes/test_google_vertex/test_vertexai_provider.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/cassettes/test_heroku/test_heroku_model_provider_claude_3_7_sonnet.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/cassettes/test_openrouter/test_openrouter_with_google_model.yaml +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_anthropic.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_azure.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_bedrock.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_cohere.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_deepseek.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_fireworks.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_google_gla.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_google_vertex.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_grok.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_groq.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_heroku.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_mistral.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_openai.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_openrouter.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_provider_names.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/providers/test_together.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_a2a.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_agent.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_cli.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_deps.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_direct.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_examples.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_format_as_xml.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_json_body_serializer.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_live.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_mcp.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_parts_manager.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_settings.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_streaming.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_tools.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_usage_limits.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/test_utils.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/typed_agent.py +0 -0
- {pydantic_ai-0.2.16 → pydantic_ai-0.2.17}/tests/typed_graph.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pydantic-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.17
|
|
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[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.2.
|
|
31
|
+
Requires-Dist: pydantic-ai-slim[a2a,anthropic,bedrock,cli,cohere,evals,google,groq,mcp,mistral,openai,vertexai]==0.2.17
|
|
32
32
|
Provides-Extra: examples
|
|
33
|
-
Requires-Dist: pydantic-ai-examples==0.2.
|
|
33
|
+
Requires-Dist: pydantic-ai-examples==0.2.17; extra == 'examples'
|
|
34
34
|
Provides-Extra: logfire
|
|
35
35
|
Requires-Dist: logfire>=3.11.0; extra == 'logfire'
|
|
36
36
|
Description-Content-Type: text/markdown
|
|
@@ -24,21 +24,27 @@ import pydantic_ai.models
|
|
|
24
24
|
from pydantic_ai.messages import BinaryContent
|
|
25
25
|
from pydantic_ai.models import Model, cached_async_http_client
|
|
26
26
|
|
|
27
|
-
__all__ = 'IsDatetime', 'IsFloat', 'IsNow', 'IsStr', 'IsInt', 'TestEnv', 'ClientWithHandler', 'try_import'
|
|
27
|
+
__all__ = 'IsDatetime', 'IsFloat', 'IsNow', 'IsStr', 'IsInt', 'IsInstance', 'TestEnv', 'ClientWithHandler', 'try_import'
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
pydantic_ai.models.ALLOW_MODEL_REQUESTS = False
|
|
31
31
|
|
|
32
32
|
if TYPE_CHECKING:
|
|
33
|
+
from typing import TypeVar
|
|
34
|
+
|
|
33
35
|
from pydantic_ai.providers.bedrock import BedrockProvider
|
|
34
36
|
|
|
37
|
+
T = TypeVar('T')
|
|
38
|
+
|
|
39
|
+
def IsInstance(arg: type[T]) -> T: ...
|
|
40
|
+
|
|
35
41
|
def IsDatetime(*args: Any, **kwargs: Any) -> datetime: ...
|
|
36
42
|
def IsFloat(*args: Any, **kwargs: Any) -> float: ...
|
|
37
43
|
def IsInt(*args: Any, **kwargs: Any) -> int: ...
|
|
38
44
|
def IsNow(*args: Any, **kwargs: Any) -> datetime: ...
|
|
39
45
|
def IsStr(*args: Any, **kwargs: Any) -> str: ...
|
|
40
46
|
else:
|
|
41
|
-
from dirty_equals import IsDatetime, IsFloat, IsInt, IsNow as _IsNow, IsStr
|
|
47
|
+
from dirty_equals import IsDatetime, IsFloat, IsInstance, IsInt, IsNow as _IsNow, IsStr
|
|
42
48
|
|
|
43
49
|
def IsNow(*args: Any, **kwargs: Any):
|
|
44
50
|
# Increase the default value of `delta` to 10 to reduce test flakiness on overburdened machines
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
body: ""
|
|
4
|
+
headers:
|
|
5
|
+
accept:
|
|
6
|
+
- "*/*"
|
|
7
|
+
accept-encoding:
|
|
8
|
+
- gzip, deflate
|
|
9
|
+
connection:
|
|
10
|
+
- keep-alive
|
|
11
|
+
host:
|
|
12
|
+
- raw.githubusercontent.com
|
|
13
|
+
method: GET
|
|
14
|
+
uri: https://raw.githubusercontent.com/pydantic/pydantic-ai/refs/heads/main/tests/assets/small_video.mp4
|
|
15
|
+
response:
|
|
16
|
+
body:
|
|
17
|
+
string: !!binary |
|
|
18
|
+
AAAAHGZ0eXBtcDQyAAAAAWlzb21tcDQxbXA0MgAAAAFtZGF0AAAAAAAJiusAAAKsBgX//6jcRem9
|
|
19
|
+
YAAAHwwAACZMAACPRQAAM90AAB9FAAAhvwAAjNgAAEHMAAAgtQAAIdoAAAAYc3RjbwAAAAAAAAAC
|
|
20
|
+
AAAALAAHT2I=
|
|
21
|
+
headers:
|
|
22
|
+
accept-ranges:
|
|
23
|
+
- bytes
|
|
24
|
+
access-control-allow-origin:
|
|
25
|
+
- "*"
|
|
26
|
+
cache-control:
|
|
27
|
+
- max-age=300
|
|
28
|
+
connection:
|
|
29
|
+
- keep-alive
|
|
30
|
+
content-length:
|
|
31
|
+
- "122"
|
|
32
|
+
content-security-policy:
|
|
33
|
+
- default-src 'none'; style-src 'unsafe-inline'; sandbox
|
|
34
|
+
content-type:
|
|
35
|
+
- application/octet-stream
|
|
36
|
+
cross-origin-resource-policy:
|
|
37
|
+
- cross-origin
|
|
38
|
+
etag:
|
|
39
|
+
- W/"0e8fc2491b5d905053d769cebf41efa65670fdce574bc3d0a132431e025608d7"
|
|
40
|
+
expires:
|
|
41
|
+
- Sun, 01 Jun 2025 00:07:45 GMT
|
|
42
|
+
source-age:
|
|
43
|
+
- "105"
|
|
44
|
+
strict-transport-security:
|
|
45
|
+
- max-age=31536000
|
|
46
|
+
vary:
|
|
47
|
+
- Authorization,Accept-Encoding
|
|
48
|
+
status:
|
|
49
|
+
code: 200
|
|
50
|
+
message: OK
|
|
51
|
+
version: 1
|
pydantic_ai-0.2.17/tests/models/cassettes/test_download_item/test_download_item_no_content_type.yaml
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
body: ""
|
|
4
|
+
headers:
|
|
5
|
+
accept:
|
|
6
|
+
- "*/*"
|
|
7
|
+
accept-encoding:
|
|
8
|
+
- gzip, deflate
|
|
9
|
+
connection:
|
|
10
|
+
- keep-alive
|
|
11
|
+
host:
|
|
12
|
+
- raw.githubusercontent.com
|
|
13
|
+
method: GET
|
|
14
|
+
uri: https://raw.githubusercontent.com/pydantic/pydantic-ai/refs/heads/main/docs/help.md
|
|
15
|
+
response:
|
|
16
|
+
body:
|
|
17
|
+
string: |
|
|
18
|
+
# Getting Help
|
|
19
|
+
|
|
20
|
+
If you need help getting started with PydanticAI or with advanced usage, the following sources may be useful.
|
|
21
|
+
|
|
22
|
+
## :simple-slack: Slack
|
|
23
|
+
|
|
24
|
+
Join the `#pydantic-ai` channel in the [Pydantic Slack][slack] to ask questions, get help, and chat about PydanticAI. There's also channels for Pydantic, Logfire, and FastUI.
|
|
25
|
+
|
|
26
|
+
If you're on a [Logfire][logfire] Pro plan, you can also get a dedicated private slack collab channel with us.
|
|
27
|
+
|
|
28
|
+
## :simple-github: GitHub Issues
|
|
29
|
+
|
|
30
|
+
The [PydanticAI GitHub Issues][github-issues] are a great place to ask questions and give us feedback.
|
|
31
|
+
|
|
32
|
+
[slack]: https://logfire.pydantic.dev/docs/join-slack/
|
|
33
|
+
[github-issues]: https://github.com/pydantic/pydantic-ai/issues
|
|
34
|
+
[logfire]: https://pydantic.dev/logfire
|
|
35
|
+
headers:
|
|
36
|
+
accept-ranges:
|
|
37
|
+
- bytes
|
|
38
|
+
access-control-allow-origin:
|
|
39
|
+
- "*"
|
|
40
|
+
cache-control:
|
|
41
|
+
- max-age=300
|
|
42
|
+
connection:
|
|
43
|
+
- keep-alive
|
|
44
|
+
content-length:
|
|
45
|
+
- "737"
|
|
46
|
+
content-security-policy:
|
|
47
|
+
- default-src 'none'; style-src 'unsafe-inline'; sandbox
|
|
48
|
+
cross-origin-resource-policy:
|
|
49
|
+
- cross-origin
|
|
50
|
+
etag:
|
|
51
|
+
- W/"ac68af1e83d8ab533a0b86ab888c49b56225d78e0152e93ec97f3bae1c3fdc2d"
|
|
52
|
+
expires:
|
|
53
|
+
- Sun, 01 Jun 2025 23:17:48 GMT
|
|
54
|
+
source-age:
|
|
55
|
+
- "0"
|
|
56
|
+
strict-transport-security:
|
|
57
|
+
- max-age=31536000
|
|
58
|
+
vary:
|
|
59
|
+
- Authorization,Accept-Encoding
|
|
60
|
+
status:
|
|
61
|
+
code: 200
|
|
62
|
+
message: OK
|
|
63
|
+
version: 1
|
pydantic_ai-0.2.17/tests/models/cassettes/test_gemini/test_gemini_youtube_video_url_input.yaml
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
headers:
|
|
4
|
+
accept:
|
|
5
|
+
- '*/*'
|
|
6
|
+
accept-encoding:
|
|
7
|
+
- gzip, deflate
|
|
8
|
+
connection:
|
|
9
|
+
- keep-alive
|
|
10
|
+
content-length:
|
|
11
|
+
- '168'
|
|
12
|
+
content-type:
|
|
13
|
+
- application/json
|
|
14
|
+
host:
|
|
15
|
+
- generativelanguage.googleapis.com
|
|
16
|
+
method: POST
|
|
17
|
+
parsed_body:
|
|
18
|
+
contents:
|
|
19
|
+
- parts:
|
|
20
|
+
- text: What is the main content of this URL?
|
|
21
|
+
- fileData:
|
|
22
|
+
fileUri: https://youtu.be/lCdaVNyHtjU
|
|
23
|
+
mimeType: video/mp4
|
|
24
|
+
role: user
|
|
25
|
+
uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent
|
|
26
|
+
response:
|
|
27
|
+
headers:
|
|
28
|
+
alt-svc:
|
|
29
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
30
|
+
content-length:
|
|
31
|
+
- '1059'
|
|
32
|
+
content-type:
|
|
33
|
+
- application/json; charset=UTF-8
|
|
34
|
+
server-timing:
|
|
35
|
+
- gfet4t7; dur=5843
|
|
36
|
+
transfer-encoding:
|
|
37
|
+
- chunked
|
|
38
|
+
vary:
|
|
39
|
+
- Origin
|
|
40
|
+
- X-Origin
|
|
41
|
+
- Referer
|
|
42
|
+
parsed_body:
|
|
43
|
+
candidates:
|
|
44
|
+
- avgLogprobs: -0.2758338186475966
|
|
45
|
+
content:
|
|
46
|
+
parts:
|
|
47
|
+
- text: The main content of the URL is an analysis of recent 404 HTTP responses. The analysis identifies several
|
|
48
|
+
patterns, including the most common endpoints with 404 errors, request patterns (such as all requests being
|
|
49
|
+
GET requests), timeline-related issues, and configuration/authentication problems. The analysis also provides
|
|
50
|
+
recommendations for addressing the 404 errors.
|
|
51
|
+
role: model
|
|
52
|
+
finishReason: STOP
|
|
53
|
+
modelVersion: gemini-2.0-flash
|
|
54
|
+
usageMetadata:
|
|
55
|
+
candidatesTokenCount: 72
|
|
56
|
+
candidatesTokensDetails:
|
|
57
|
+
- modality: TEXT
|
|
58
|
+
tokenCount: 72
|
|
59
|
+
promptTokenCount: 9
|
|
60
|
+
promptTokensDetails:
|
|
61
|
+
- modality: TEXT
|
|
62
|
+
tokenCount: 9
|
|
63
|
+
- modality: VIDEO
|
|
64
|
+
- modality: AUDIO
|
|
65
|
+
totalTokenCount: 81
|
|
66
|
+
status:
|
|
67
|
+
code: 200
|
|
68
|
+
message: OK
|
|
69
|
+
version: 1
|
pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[AudioUrl (gs)].yaml
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
body: grant_type=%5B%27refresh_token%27%5D&client_id=%5B%27764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com%27%5D&client_secret=%5B%27scrubbed%27%5D&refresh_token=%5B%27scrubbed%27%5D
|
|
4
|
+
headers:
|
|
5
|
+
accept:
|
|
6
|
+
- "*/*"
|
|
7
|
+
accept-encoding:
|
|
8
|
+
- gzip, deflate
|
|
9
|
+
connection:
|
|
10
|
+
- keep-alive
|
|
11
|
+
content-length:
|
|
12
|
+
- "268"
|
|
13
|
+
content-type:
|
|
14
|
+
- application/x-www-form-urlencoded
|
|
15
|
+
method: POST
|
|
16
|
+
uri: https://oauth2.googleapis.com/token
|
|
17
|
+
response:
|
|
18
|
+
headers:
|
|
19
|
+
alt-svc:
|
|
20
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
21
|
+
cache-control:
|
|
22
|
+
- no-cache, no-store, max-age=0, must-revalidate
|
|
23
|
+
content-length:
|
|
24
|
+
- "1419"
|
|
25
|
+
content-type:
|
|
26
|
+
- application/json; charset=utf-8
|
|
27
|
+
expires:
|
|
28
|
+
- Mon, 01 Jan 1990 00:00:00 GMT
|
|
29
|
+
pragma:
|
|
30
|
+
- no-cache
|
|
31
|
+
transfer-encoding:
|
|
32
|
+
- chunked
|
|
33
|
+
vary:
|
|
34
|
+
- Origin
|
|
35
|
+
- X-Origin
|
|
36
|
+
- Referer
|
|
37
|
+
parsed_body:
|
|
38
|
+
access_token: scrubbed
|
|
39
|
+
expires_in: 3599
|
|
40
|
+
id_token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjgyMWYzYmM2NmYwNzUxZjc4NDA2MDY3OTliMWFkZjllOWZiNjBkZmIiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI3NjQwODYwNTE4NTAtNnFyNHA2Z3BpNmhuNTA2cHQ4ZWp1cTgzZGkzNDFodXIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI3NjQwODYwNTE4NTAtNnFyNHA2Z3BpNmhuNTA2cHQ4ZWp1cTgzZGkzNDFodXIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDY1Njg0NzQzMTU3NzkyMTI1NTkiLCJoZCI6InB5ZGFudGljLmRldiIsImVtYWlsIjoibWFyY2Vsb0BweWRhbnRpYy5kZXYiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6ImlyckNRNE00c0Z0Z2dfS2hRTVNjekEiLCJpYXQiOjE3NDM0MTM3NzcsImV4cCI6MTc0MzQxNzM3N30.BAvb4TlcIoYcQODNLFqwtUQoSNJJbpAR0lk2OyFxXK9rSZ7m1e1_Dp1O4ApxPUS7f_NX34eSCuDJN2IXgh8VBv4k3IhI7CbMydYeqXuwlbgOOp1Z0farGEKneU1M7TvdngigAJ9wT-2LHjKd_GEcGau-CUvzXpcT1IOnNNyXGVqtuGmEfcw5jjPkKJNECUheeNHE3zeImatTstOLuKmI1ZK-etl41l3poSNuQkZkrbQ80Vst8BdT-b1tnJnXP1KGATBIamDy99OOiB9a7a9m_ikXYEyN91yR76DYot3hpDPlOX0H9hF-BOSqoOtlSS2TMBkMvFiiYWjID1e_9VlNUg
|
|
41
|
+
scope: https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/userinfo.email openid https://www.googleapis.com/auth/sqlservice.login
|
|
42
|
+
token_type: Bearer
|
|
43
|
+
status:
|
|
44
|
+
code: 200
|
|
45
|
+
message: OK
|
|
46
|
+
- request:
|
|
47
|
+
headers:
|
|
48
|
+
accept:
|
|
49
|
+
- "*/*"
|
|
50
|
+
accept-encoding:
|
|
51
|
+
- gzip, deflate
|
|
52
|
+
connection:
|
|
53
|
+
- keep-alive
|
|
54
|
+
content-length:
|
|
55
|
+
- "177"
|
|
56
|
+
content-type:
|
|
57
|
+
- application/json
|
|
58
|
+
host:
|
|
59
|
+
- us-central1-aiplatform.googleapis.com
|
|
60
|
+
method: POST
|
|
61
|
+
parsed_body:
|
|
62
|
+
contents:
|
|
63
|
+
- parts:
|
|
64
|
+
- text: What is the main content of this URL?
|
|
65
|
+
- fileData:
|
|
66
|
+
fileUri: gs://pydantic-ai-dev/openai-alloy.wav
|
|
67
|
+
mimeType: audio/wav
|
|
68
|
+
role: user
|
|
69
|
+
uri: https://us-central1-aiplatform.googleapis.com/v1/projects/pydantic-ai/locations/us-central1/publishers/google/models/gemini-2.0-flash:generateContent
|
|
70
|
+
response:
|
|
71
|
+
headers:
|
|
72
|
+
alt-svc:
|
|
73
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
74
|
+
content-length:
|
|
75
|
+
- "896"
|
|
76
|
+
content-type:
|
|
77
|
+
- application/json; charset=UTF-8
|
|
78
|
+
transfer-encoding:
|
|
79
|
+
- chunked
|
|
80
|
+
vary:
|
|
81
|
+
- Origin
|
|
82
|
+
- X-Origin
|
|
83
|
+
- Referer
|
|
84
|
+
parsed_body:
|
|
85
|
+
candidates:
|
|
86
|
+
- avgLogprobs: -0.257239756376847
|
|
87
|
+
content:
|
|
88
|
+
parts:
|
|
89
|
+
- text: The URL's main content is about the observation that the sun rises in the east and sets in the west.
|
|
90
|
+
role: model
|
|
91
|
+
finishReason: STOP
|
|
92
|
+
createTime: "2025-05-31T21:53:55.945222Z"
|
|
93
|
+
modelVersion: gemini-2.0-flash
|
|
94
|
+
responseId: c3o7aMbYOdWLmecPzZeogQw
|
|
95
|
+
usageMetadata:
|
|
96
|
+
candidatesTokenCount: 23
|
|
97
|
+
candidatesTokensDetails:
|
|
98
|
+
- modality: TEXT
|
|
99
|
+
tokenCount: 23
|
|
100
|
+
promptTokenCount: 159
|
|
101
|
+
promptTokensDetails:
|
|
102
|
+
- modality: TEXT
|
|
103
|
+
tokenCount: 9
|
|
104
|
+
- modality: AUDIO
|
|
105
|
+
tokenCount: 150
|
|
106
|
+
totalTokenCount: 182
|
|
107
|
+
trafficType: ON_DEMAND
|
|
108
|
+
status:
|
|
109
|
+
code: 200
|
|
110
|
+
message: OK
|
|
111
|
+
version: 1
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
body: grant_type=%5B%27refresh_token%27%5D&client_id=%5B%27764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com%27%5D&client_secret=%5B%27scrubbed%27%5D&refresh_token=%5B%27scrubbed%27%5D
|
|
4
|
+
headers:
|
|
5
|
+
accept:
|
|
6
|
+
- "*/*"
|
|
7
|
+
accept-encoding:
|
|
8
|
+
- gzip, deflate
|
|
9
|
+
connection:
|
|
10
|
+
- keep-alive
|
|
11
|
+
content-length:
|
|
12
|
+
- "268"
|
|
13
|
+
content-type:
|
|
14
|
+
- application/x-www-form-urlencoded
|
|
15
|
+
method: POST
|
|
16
|
+
uri: https://oauth2.googleapis.com/token
|
|
17
|
+
response:
|
|
18
|
+
headers:
|
|
19
|
+
alt-svc:
|
|
20
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
21
|
+
cache-control:
|
|
22
|
+
- no-cache, no-store, max-age=0, must-revalidate
|
|
23
|
+
content-length:
|
|
24
|
+
- "1419"
|
|
25
|
+
content-type:
|
|
26
|
+
- application/json; charset=utf-8
|
|
27
|
+
expires:
|
|
28
|
+
- Mon, 01 Jan 1990 00:00:00 GMT
|
|
29
|
+
pragma:
|
|
30
|
+
- no-cache
|
|
31
|
+
transfer-encoding:
|
|
32
|
+
- chunked
|
|
33
|
+
vary:
|
|
34
|
+
- Origin
|
|
35
|
+
- X-Origin
|
|
36
|
+
- Referer
|
|
37
|
+
parsed_body:
|
|
38
|
+
access_token: scrubbed
|
|
39
|
+
expires_in: 3599
|
|
40
|
+
id_token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjgyMWYzYmM2NmYwNzUxZjc4NDA2MDY3OTliMWFkZjllOWZiNjBkZmIiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI3NjQwODYwNTE4NTAtNnFyNHA2Z3BpNmhuNTA2cHQ4ZWp1cTgzZGkzNDFodXIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI3NjQwODYwNTE4NTAtNnFyNHA2Z3BpNmhuNTA2cHQ4ZWp1cTgzZGkzNDFodXIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDY1Njg0NzQzMTU3NzkyMTI1NTkiLCJoZCI6InB5ZGFudGljLmRldiIsImVtYWlsIjoibWFyY2Vsb0BweWRhbnRpYy5kZXYiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6ImlyckNRNE00c0Z0Z2dfS2hRTVNjekEiLCJpYXQiOjE3NDM0MTM3NzcsImV4cCI6MTc0MzQxNzM3N30.BAvb4TlcIoYcQODNLFqwtUQoSNJJbpAR0lk2OyFxXK9rSZ7m1e1_Dp1O4ApxPUS7f_NX34eSCuDJN2IXgh8VBv4k3IhI7CbMydYeqXuwlbgOOp1Z0farGEKneU1M7TvdngigAJ9wT-2LHjKd_GEcGau-CUvzXpcT1IOnNNyXGVqtuGmEfcw5jjPkKJNECUheeNHE3zeImatTstOLuKmI1ZK-etl41l3poSNuQkZkrbQ80Vst8BdT-b1tnJnXP1KGATBIamDy99OOiB9a7a9m_ikXYEyN91yR76DYot3hpDPlOX0H9hF-BOSqoOtlSS2TMBkMvFiiYWjID1e_9VlNUg
|
|
41
|
+
scope: https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/userinfo.email openid https://www.googleapis.com/auth/sqlservice.login
|
|
42
|
+
token_type: Bearer
|
|
43
|
+
status:
|
|
44
|
+
code: 200
|
|
45
|
+
message: OK
|
|
46
|
+
- request:
|
|
47
|
+
headers:
|
|
48
|
+
accept:
|
|
49
|
+
- "*/*"
|
|
50
|
+
accept-encoding:
|
|
51
|
+
- gzip, deflate
|
|
52
|
+
connection:
|
|
53
|
+
- keep-alive
|
|
54
|
+
content-length:
|
|
55
|
+
- "187"
|
|
56
|
+
content-type:
|
|
57
|
+
- application/json
|
|
58
|
+
host:
|
|
59
|
+
- us-central1-aiplatform.googleapis.com
|
|
60
|
+
method: POST
|
|
61
|
+
parsed_body:
|
|
62
|
+
contents:
|
|
63
|
+
- parts:
|
|
64
|
+
- text: What is the main content of this URL?
|
|
65
|
+
- fileData:
|
|
66
|
+
fileUri: https://cdn.openai.com/API/docs/audio/alloy.wav
|
|
67
|
+
mimeType: audio/wav
|
|
68
|
+
role: user
|
|
69
|
+
uri: https://us-central1-aiplatform.googleapis.com/v1/projects/pydantic-ai/locations/us-central1/publishers/google/models/gemini-2.0-flash:generateContent
|
|
70
|
+
response:
|
|
71
|
+
headers:
|
|
72
|
+
alt-svc:
|
|
73
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
74
|
+
content-length:
|
|
75
|
+
- "957"
|
|
76
|
+
content-type:
|
|
77
|
+
- application/json; charset=UTF-8
|
|
78
|
+
transfer-encoding:
|
|
79
|
+
- chunked
|
|
80
|
+
vary:
|
|
81
|
+
- Origin
|
|
82
|
+
- X-Origin
|
|
83
|
+
- Referer
|
|
84
|
+
parsed_body:
|
|
85
|
+
candidates:
|
|
86
|
+
- avgLogprobs: -0.32768359780311584
|
|
87
|
+
content:
|
|
88
|
+
parts:
|
|
89
|
+
- text:
|
|
90
|
+
The content of the URL discusses the observation that the sun rises in the east and sets in the west, a
|
|
91
|
+
phenomenon that has been noted by humans for millennia.
|
|
92
|
+
role: model
|
|
93
|
+
finishReason: STOP
|
|
94
|
+
createTime: "2025-05-31T21:49:24.539116Z"
|
|
95
|
+
modelVersion: gemini-2.0-flash
|
|
96
|
+
responseId: ZHk7aOzzIPjqld8PpP6_qAk
|
|
97
|
+
usageMetadata:
|
|
98
|
+
candidatesTokenCount: 32
|
|
99
|
+
candidatesTokensDetails:
|
|
100
|
+
- modality: TEXT
|
|
101
|
+
tokenCount: 32
|
|
102
|
+
promptTokenCount: 159
|
|
103
|
+
promptTokensDetails:
|
|
104
|
+
- modality: TEXT
|
|
105
|
+
tokenCount: 9
|
|
106
|
+
- modality: AUDIO
|
|
107
|
+
tokenCount: 150
|
|
108
|
+
totalTokenCount: 191
|
|
109
|
+
trafficType: ON_DEMAND
|
|
110
|
+
status:
|
|
111
|
+
code: 200
|
|
112
|
+
message: OK
|
|
113
|
+
version: 1
|
pydantic_ai-0.2.17/tests/models/cassettes/test_gemini_vertex/test_url_input[DocumentUrl (gs)].yaml
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
body: grant_type=%5B%27refresh_token%27%5D&client_id=%5B%27764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com%27%5D&client_secret=%5B%27scrubbed%27%5D&refresh_token=%5B%27scrubbed%27%5D
|
|
4
|
+
headers:
|
|
5
|
+
accept:
|
|
6
|
+
- "*/*"
|
|
7
|
+
accept-encoding:
|
|
8
|
+
- gzip, deflate
|
|
9
|
+
connection:
|
|
10
|
+
- keep-alive
|
|
11
|
+
content-length:
|
|
12
|
+
- "268"
|
|
13
|
+
content-type:
|
|
14
|
+
- application/x-www-form-urlencoded
|
|
15
|
+
method: POST
|
|
16
|
+
uri: https://oauth2.googleapis.com/token
|
|
17
|
+
response:
|
|
18
|
+
headers:
|
|
19
|
+
alt-svc:
|
|
20
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
21
|
+
cache-control:
|
|
22
|
+
- no-cache, no-store, max-age=0, must-revalidate
|
|
23
|
+
content-length:
|
|
24
|
+
- "1419"
|
|
25
|
+
content-type:
|
|
26
|
+
- application/json; charset=utf-8
|
|
27
|
+
expires:
|
|
28
|
+
- Mon, 01 Jan 1990 00:00:00 GMT
|
|
29
|
+
pragma:
|
|
30
|
+
- no-cache
|
|
31
|
+
transfer-encoding:
|
|
32
|
+
- chunked
|
|
33
|
+
vary:
|
|
34
|
+
- Origin
|
|
35
|
+
- X-Origin
|
|
36
|
+
- Referer
|
|
37
|
+
parsed_body:
|
|
38
|
+
access_token: scrubbed
|
|
39
|
+
expires_in: 3599
|
|
40
|
+
id_token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjgyMWYzYmM2NmYwNzUxZjc4NDA2MDY3OTliMWFkZjllOWZiNjBkZmIiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI3NjQwODYwNTE4NTAtNnFyNHA2Z3BpNmhuNTA2cHQ4ZWp1cTgzZGkzNDFodXIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI3NjQwODYwNTE4NTAtNnFyNHA2Z3BpNmhuNTA2cHQ4ZWp1cTgzZGkzNDFodXIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDY1Njg0NzQzMTU3NzkyMTI1NTkiLCJoZCI6InB5ZGFudGljLmRldiIsImVtYWlsIjoibWFyY2Vsb0BweWRhbnRpYy5kZXYiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6ImlyckNRNE00c0Z0Z2dfS2hRTVNjekEiLCJpYXQiOjE3NDM0MTM3NzcsImV4cCI6MTc0MzQxNzM3N30.BAvb4TlcIoYcQODNLFqwtUQoSNJJbpAR0lk2OyFxXK9rSZ7m1e1_Dp1O4ApxPUS7f_NX34eSCuDJN2IXgh8VBv4k3IhI7CbMydYeqXuwlbgOOp1Z0farGEKneU1M7TvdngigAJ9wT-2LHjKd_GEcGau-CUvzXpcT1IOnNNyXGVqtuGmEfcw5jjPkKJNECUheeNHE3zeImatTstOLuKmI1ZK-etl41l3poSNuQkZkrbQ80Vst8BdT-b1tnJnXP1KGATBIamDy99OOiB9a7a9m_ikXYEyN91yR76DYot3hpDPlOX0H9hF-BOSqoOtlSS2TMBkMvFiiYWjID1e_9VlNUg
|
|
41
|
+
scope: https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/userinfo.email openid https://www.googleapis.com/auth/sqlservice.login
|
|
42
|
+
token_type: Bearer
|
|
43
|
+
status:
|
|
44
|
+
code: 200
|
|
45
|
+
message: OK
|
|
46
|
+
- request:
|
|
47
|
+
headers:
|
|
48
|
+
accept:
|
|
49
|
+
- "*/*"
|
|
50
|
+
accept-encoding:
|
|
51
|
+
- gzip, deflate
|
|
52
|
+
connection:
|
|
53
|
+
- keep-alive
|
|
54
|
+
content-length:
|
|
55
|
+
- "213"
|
|
56
|
+
content-type:
|
|
57
|
+
- application/json
|
|
58
|
+
host:
|
|
59
|
+
- us-central1-aiplatform.googleapis.com
|
|
60
|
+
method: POST
|
|
61
|
+
parsed_body:
|
|
62
|
+
contents:
|
|
63
|
+
- parts:
|
|
64
|
+
- text: What is the main content of this URL?
|
|
65
|
+
- fileData:
|
|
66
|
+
fileUri: gs://pydantic-ai-dev/Gemini_1_5_Pro_Technical_Report_Arxiv_1805.pdf
|
|
67
|
+
mimeType: application/pdf
|
|
68
|
+
role: user
|
|
69
|
+
uri: https://us-central1-aiplatform.googleapis.com/v1/projects/pydantic-ai/locations/us-central1/publishers/google/models/gemini-2.0-flash:generateContent
|
|
70
|
+
response:
|
|
71
|
+
headers:
|
|
72
|
+
alt-svc:
|
|
73
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
74
|
+
content-length:
|
|
75
|
+
- "1412"
|
|
76
|
+
content-type:
|
|
77
|
+
- application/json; charset=UTF-8
|
|
78
|
+
transfer-encoding:
|
|
79
|
+
- chunked
|
|
80
|
+
vary:
|
|
81
|
+
- Origin
|
|
82
|
+
- X-Origin
|
|
83
|
+
- Referer
|
|
84
|
+
parsed_body:
|
|
85
|
+
candidates:
|
|
86
|
+
- avgLogprobs: -0.5160888263157436
|
|
87
|
+
content:
|
|
88
|
+
parts:
|
|
89
|
+
- text:
|
|
90
|
+
The main content of this URL is a technical report about Gemini 1.5 Pro, a new model from Google DeepMind's
|
|
91
|
+
Gemini family, that is designed to unlock multimodal understanding across millions of tokens of context. It
|
|
92
|
+
describes the model architecture, performance benchmarks, and new capabilities, such as near-perfect recall
|
|
93
|
+
in long-context retrieval tasks and the ability to translate between English and Kalamang, a language with very
|
|
94
|
+
few speakers, using only a provided grammar manual. The report also covers the responsible deployment of the
|
|
95
|
+
model, including impact assessments and safety evaluations.
|
|
96
|
+
role: model
|
|
97
|
+
finishReason: STOP
|
|
98
|
+
createTime: "2025-05-31T21:54:44.822227Z"
|
|
99
|
+
modelVersion: gemini-2.0-flash
|
|
100
|
+
responseId: pHo7aNOXMpKHm9IPsNr50As
|
|
101
|
+
usageMetadata:
|
|
102
|
+
candidatesTokenCount: 112
|
|
103
|
+
candidatesTokensDetails:
|
|
104
|
+
- modality: TEXT
|
|
105
|
+
tokenCount: 112
|
|
106
|
+
promptTokenCount: 19875
|
|
107
|
+
promptTokensDetails:
|
|
108
|
+
- modality: DOCUMENT
|
|
109
|
+
tokenCount: 19866
|
|
110
|
+
- modality: TEXT
|
|
111
|
+
tokenCount: 9
|
|
112
|
+
totalTokenCount: 19987
|
|
113
|
+
trafficType: ON_DEMAND
|
|
114
|
+
status:
|
|
115
|
+
code: 200
|
|
116
|
+
message: OK
|
|
117
|
+
version: 1
|