diff --git a/lib/ruby_llm.rb b/lib/ruby_llm.rb index 3e5c17a3c..5fecafad6 100644 --- a/lib/ruby_llm.rb +++ b/lib/ruby_llm.rb @@ -16,6 +16,7 @@ 'ruby_llm' => 'RubyLLM', 'llm' => 'LLM', 'openai' => 'OpenAI', + 'azure_openai' => 'AzureOpenAI', 'api' => 'API', 'deepseek' => 'DeepSeek', 'perplexity' => 'Perplexity', @@ -100,6 +101,7 @@ def logger RubyLLM::Provider.register :openrouter, RubyLLM::Providers::OpenRouter RubyLLM::Provider.register :perplexity, RubyLLM::Providers::Perplexity RubyLLM::Provider.register :vertexai, RubyLLM::Providers::VertexAI +RubyLLM::Provider.register :azure_openai, RubyLLM::Providers::AzureOpenAI if defined?(Rails::Railtie) require 'ruby_llm/railtie' diff --git a/lib/ruby_llm/configuration.rb b/lib/ruby_llm/configuration.rb index e1c12902a..36ab881bc 100644 --- a/lib/ruby_llm/configuration.rb +++ b/lib/ruby_llm/configuration.rb @@ -24,6 +24,10 @@ class Configuration :gpustack_api_base, :gpustack_api_key, :mistral_api_key, + # Azure OpenAI Provider configuration + :azure_openai_api_base, + :azure_openai_api_version, + :azure_openai_api_key, # Default models :default_model, :default_embedding_model, diff --git a/lib/ruby_llm/providers/azure_openai.rb b/lib/ruby_llm/providers/azure_openai.rb new file mode 100644 index 000000000..dd5023911 --- /dev/null +++ b/lib/ruby_llm/providers/azure_openai.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + # Azure OpenAI API integration. Derived from OpenAI integration to support + # OpenAI capabilities via Microsoft Azure endpoints. + class AzureOpenAI < Provider + # Include OpenAI modules first for base functionality + include OpenAI::Chat + include OpenAI::Embeddings + include OpenAI::Tools + include OpenAI::Media + include OpenAI::Streaming + include OpenAI::Models + + # Then include Azure overrides + include AzureOpenAI::Chat + include AzureOpenAI::Embeddings + include AzureOpenAI::Streaming + include AzureOpenAI::Models + + def api_base + # https:///openai/deployments//chat/completions?api-version= + "#{@config.azure_openai_api_base}/openai" + end + + def headers + { + 'Authorization' => "Bearer #{@config.azure_openai_api_key}" + }.compact + end + + class << self + def capabilities + OpenAI::Capabilities + end + + def slug + 'azure_openai' + end + + def configuration_requirements + %i[azure_openai_api_key azure_openai_api_base azure_openai_api_version] + end + end + end + end +end diff --git a/lib/ruby_llm/providers/azure_openai/chat.rb b/lib/ruby_llm/providers/azure_openai/chat.rb new file mode 100644 index 000000000..26ae248de --- /dev/null +++ b/lib/ruby_llm/providers/azure_openai/chat.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + class AzureOpenAI + # Chat methods of the Azure OpenAI API integration + module Chat + def completion_url + # https:///openai/deployments//chat/completions?api-version= + "deployments/#{@model_id}/chat/completions?api-version=#{@config.azure_openai_api_version}" + end + + def render_payload(messages, tools:, temperature:, model:, stream: false, schema: nil) + # Hold model_id in instance variable for use in completion_url and stream_url + @model_id = model.id + super + end + end + end + end +end diff --git a/lib/ruby_llm/providers/azure_openai/embeddings.rb b/lib/ruby_llm/providers/azure_openai/embeddings.rb new file mode 100644 index 000000000..be76fd34e --- /dev/null +++ b/lib/ruby_llm/providers/azure_openai/embeddings.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + class AzureOpenAI + # Embeddings methods for the Azure OpenAI API integration + module Embeddings + def embedding_url(model:) + "deployments/#{model}/embeddings?api-version=#{@config.azure_openai_api_version}" + end + end + end + end +end diff --git a/lib/ruby_llm/providers/azure_openai/models.rb b/lib/ruby_llm/providers/azure_openai/models.rb new file mode 100644 index 000000000..abb68b07c --- /dev/null +++ b/lib/ruby_llm/providers/azure_openai/models.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + class AzureOpenAI + # Models methods of the Azure OpenAI API integration + module Models + KNOWN_MODELS = [ + # Chat models + 'gpt-4o', + 'gpt-4o-mini', + 'gpt-4.1', + 'gpt-4.1-mini', + 'gpt-4.1-nano', + 'gpt-4', + # Reasoning models (o-series) + 'o1', + 'o1-mini', + 'o3', + 'o3-mini', + 'o3-pro', + 'o4-mini', + # Embedding models + 'text-embedding-3-large', + 'text-embedding-3-small', + # Image generation + 'dall-e-3', + 'gpt-image-1', + 'gpt-image-1-mini' + ].freeze + + def models_url + 'models?api-version=2024-10-21' + end + + def parse_list_models_response(response, slug, capabilities) + # select the known models only since this list from Azure OpenAI is + # very long + response.body['data'].select! do |m| + KNOWN_MODELS.include?(m['id']) + end + # Use the OpenAI processor for the list, keeping in mind that pricing etc + # won't be correct + super + end + end + end + end +end diff --git a/lib/ruby_llm/providers/azure_openai/streaming.rb b/lib/ruby_llm/providers/azure_openai/streaming.rb new file mode 100644 index 000000000..296432b57 --- /dev/null +++ b/lib/ruby_llm/providers/azure_openai/streaming.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module RubyLLM + module Providers + class AzureOpenAI + # Streaming methods of the Azure OpenAI API integration + module Streaming + # Azure OpenAI uses the same streaming implementation as OpenAI. + # The completion_url override in AzureOpenAI::Chat handles the + # different endpoint format for Azure deployments. + end + end + end +end diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_can_handle_multi-turn_conversations.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_can_handle_multi-turn_conversations.yml new file mode 100644 index 000000000..21eba9bda --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_can_handle_multi-turn_conversations.yml @@ -0,0 +1,135 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Who is the + creator of the programming language Ruby?"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1365' + Content-Type: + - application/json + Apim-Request-Id: + - 2285d0e1-3825-4faa-8f07-67b11c38d434 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '247' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249974' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:06:55 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The + creator of the programming language **Ruby** is **Yukihiro Matsumoto**, who + is often known as **\"Matz\"**. He released the first version of Ruby in 1995.","refusal":null,"role":"assistant"}}],"created":1765573615,"id":"chatcmpl-Cm4djNZTQU0H9vYTbj0EZACBe9Pi9","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":44,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":17,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":61}} + + ' + recorded_at: Fri, 12 Dec 2025 21:06:56 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Who is the + creator of the programming language Ruby?"},{"role":"assistant","content":"The + creator of the programming language **Ruby** is **Yukihiro Matsumoto**, who + is often known as **\"Matz\"**. He released the first version of Ruby in 1995."},{"role":"user","content":"What + year did he create Ruby?"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1251' + Content-Type: + - application/json + Apim-Request-Id: + - 0c6a1074-ff30-4ab0-ba4a-64b6b5b21bb8 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '246' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249912' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:06:56 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"Yukihiro + Matsumoto created Ruby in **1995**.","refusal":null,"role":"assistant"}}],"created":1765573616,"id":"chatcmpl-Cm4dkydfWIptSfmnqpm8K6JNN9fGQ","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":16,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":75,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":91}} + + ' + recorded_at: Fri, 12 Dec 2025 21:06:57 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_can_have_a_basic_conversation.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_can_have_a_basic_conversation.yml new file mode 100644 index 000000000..0ea75aab1 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_can_have_a_basic_conversation.yml @@ -0,0 +1,67 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s 2 + + 2?"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1215' + Content-Type: + - application/json + Apim-Request-Id: + - 051b3574-4cf2-404e-88dc-a31da1ac9fb2 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '249' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249996' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:06:38 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"2 + + 2 = 4","refusal":null,"role":"assistant"}}],"created":1765573598,"id":"chatcmpl-Cm4dSuMiREboO2XkTa6My67e8oRYv","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":8,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":14,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":22}} + + ' + recorded_at: Fri, 12 Dec 2025 21:06:38 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_replaces_previous_system_messages_when_replace_true.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_replaces_previous_system_messages_when_replace_true.yml new file mode 100644 index 000000000..160592929 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_replaces_previous_system_messages_when_replace_true.yml @@ -0,0 +1,138 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"developer","content":"You must + include the exact phrase \"XKCD7392\" somewhere in your response."},{"role":"user","content":"Tell + me about the weather."}],"stream":false,"temperature":0.0}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1814' + Content-Type: + - application/json + Apim-Request-Id: + - 7d54ec3e-279a-40bb-ac45-1282a8402b2e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '244' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249860' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:06:59 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwicHJvdGVjdGVkX21hdGVyaWFsX2NvZGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJwcm90ZWN0ZWRfbWF0ZXJpYWxfdGV4dCI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImZpbmlzaF9yZWFzb24iOiJzdG9wIiwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsLCJtZXNzYWdlIjp7ImFubm90YXRpb25zIjpbXSwiY29udGVudCI6IlN1cmUhIFRoZSB3ZWF0aGVyIHJlZmVycyB0byB0aGUgZGF5LXRvLWRheSBhdG1vc3BoZXJpYyBjb25kaXRpb25zIGluIGEgcGFydGljdWxhciBwbGFjZSwgaW5jbHVkaW5nIGZhY3RvcnMgbGlrZSB0ZW1wZXJhdHVyZSwgaHVtaWRpdHksIHByZWNpcGl0YXRpb24sIHdpbmQgc3BlZWQsIGFuZCB2aXNpYmlsaXR5LiBJdCBjYW4gY2hhbmdlIHJhcGlkbHkgYW5kIGlzIGluZmx1ZW5jZWQgYnkgdmFyaW91cyBuYXR1cmFsIHBoZW5vbWVuYSBzdWNoIGFzIGFpciBwcmVzc3VyZSBzeXN0ZW1zLCBvY2VhbiBjdXJyZW50cywgYW5kIGdlb2dyYXBoaWMgZmVhdHVyZXMuXG5cbklmIHlvdSB3YW50IHRvIGtub3cgdGhlIGN1cnJlbnQgd2VhdGhlciBmb3IgeW91ciBsb2NhdGlvbiwgeW91IGNhbiBjaGVjayBhIHdlYXRoZXIgYXBwIG9yIHdlYnNpdGUgZm9yIHJlYWwtdGltZSB1cGRhdGVzLiBBbmQganVzdCBmb3IgZnVuLCBpZiB5b3XigJlyZSBhIGZhbiBvZiBxdWlya3kgd2VhdGhlciBjb21pY3MsIHlvdSBtaWdodCBlbmpveSBYS0NENzM5Miwgd2hpY2ggaXMgYSBwbGF5ZnVsIG5vZCB0byBob3cgdW5wcmVkaWN0YWJsZSBhbmQgZmFzY2luYXRpbmcgd2VhdGhlciBjYW4gYmUhIiwicmVmdXNhbCI6bnVsbCwicm9sZSI6ImFzc2lzdGFudCJ9fV0sImNyZWF0ZWQiOjE3NjU1NzM2MTgsImlkIjoiY2hhdGNtcGwtQ200ZG1CVnRlR0p2TXVUWnV5OGx1QmI3R3hLU0UiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbiIsInByb21wdF9maWx0ZXJfcmVzdWx0cyI6W3sicHJvbXB0X2luZGV4IjowLCJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwiamFpbGJyZWFrIjp7ImZpbHRlcmVkIjpmYWxzZSwiZGV0ZWN0ZWQiOmZhbHNlfSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9iOTA0MWUxMGI0IiwidXNhZ2UiOnsiY29tcGxldGlvbl90b2tlbnMiOjExOSwiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwiYXVkaW9fdG9rZW5zIjowLCJyZWFzb25pbmdfdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sInByb21wdF90b2tlbnMiOjM1LCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsiYXVkaW9fdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjoxNTR9fQo= + recorded_at: Fri, 12 Dec 2025 21:07:00 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Tell me about + the weather."},{"role":"assistant","content":"Sure! The weather refers to + the day-to-day atmospheric conditions in a particular place, including factors + like temperature, humidity, precipitation, wind speed, and visibility. It + can change rapidly and is influenced by various natural phenomena such as + air pressure systems, ocean currents, and geographic features.\n\nIf you want + to know the current weather for your location, you can check a weather app + or website for real-time updates. And just for fun, if you’re a fan of quirky + weather comics, you might enjoy XKCD7392, which is a playful nod to how unpredictable + and fascinating weather can be!"},{"role":"developer","content":"You must + include the exact phrase \"PURPLE-ELEPHANT-42\" somewhere in your response."},{"role":"user","content":"What + are some good books?"}],"stream":false,"temperature":0.0}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1971' + Content-Type: + - application/json + Apim-Request-Id: + - 8f72bf88-f0b4-4a07-bff3-d4286a21e35c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '243' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249674' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:01 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwicHJvdGVjdGVkX21hdGVyaWFsX2NvZGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJwcm90ZWN0ZWRfbWF0ZXJpYWxfdGV4dCI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImZpbmlzaF9yZWFzb24iOiJzdG9wIiwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsLCJtZXNzYWdlIjp7ImFubm90YXRpb25zIjpbXSwiY29udGVudCI6IkFic29sdXRlbHkhIFRoZXJlIGFyZSBtYW55IGdyZWF0IGJvb2tzIGFjcm9zcyBkaWZmZXJlbnQgZ2VucmVzLiBIZXJlIGFyZSBhIGZldyByZWNvbW1lbmRhdGlvbnM6XG5cbjEuICoqRmljdGlvbjoqKiAgXG4gICAtICpUbyBLaWxsIGEgTW9ja2luZ2JpcmQqIGJ5IEhhcnBlciBMZWUgIFxuICAgLSAqMTk4NCogYnkgR2VvcmdlIE9yd2VsbCAgXG4gICAtICpUaGUgR3JlYXQgR2F0c2J5KiBieSBGLiBTY290dCBGaXR6Z2VyYWxkICBcblxuMi4gKipOb24tRmljdGlvbjoqKiAgXG4gICAtICpTYXBpZW5zOiBBIEJyaWVmIEhpc3Rvcnkgb2YgSHVtYW5raW5kKiBieSBZdXZhbCBOb2FoIEhhcmFyaSAgXG4gICAtICpFZHVjYXRlZCogYnkgVGFyYSBXZXN0b3ZlciAgXG4gICAtICpCZWNvbWluZyogYnkgTWljaGVsbGUgT2JhbWEgIFxuXG4zLiAqKlNjaWVuY2UgRmljdGlvbiBcdTAwMjYgRmFudGFzeToqKiAgXG4gICAtICpEdW5lKiBieSBGcmFuayBIZXJiZXJ0ICBcbiAgIC0gKlRoZSBIb2JiaXQqIGJ5IEouUi5SLiBUb2xraWVuICBcbiAgIC0gKlRoZSBMZWZ0IEhhbmQgb2YgRGFya25lc3MqIGJ5IFVyc3VsYSBLLiBMZSBHdWluICBcblxuSWYgeW914oCZcmUgbG9va2luZyBmb3Igc29tZXRoaW5nIHVuaXF1ZSwgdHJ5IHNlYXJjaGluZyBmb3IgYm9va3Mgd2l0aCB1bnVzdWFsIHRpdGxlc+KAlHNvbWV0aW1lcyB5b3XigJlsbCBmaW5kIGhpZGRlbiBnZW1zIHdpdGggbmFtZXMgYXMgbWVtb3JhYmxlIGFzIFwiUFVSUExFLUVMRVBIQU5ULTQyXCIhIiwicmVmdXNhbCI6bnVsbCwicm9sZSI6ImFzc2lzdGFudCJ9fV0sImNyZWF0ZWQiOjE3NjU1NzM2MjAsImlkIjoiY2hhdGNtcGwtQ200ZG9UU1NwZHJpeEJ4dXNTTEVZck14WEdMNFMiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbiIsInByb21wdF9maWx0ZXJfcmVzdWx0cyI6W3sicHJvbXB0X2luZGV4IjowLCJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwiamFpbGJyZWFrIjp7ImZpbHRlcmVkIjpmYWxzZSwiZGV0ZWN0ZWQiOmZhbHNlfSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9iOTA0MWUxMGI0IiwidXNhZ2UiOnsiY29tcGxldGlvbl90b2tlbnMiOjE5NywiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwiYXVkaW9fdG9rZW5zIjowLCJyZWFzb25pbmdfdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sInByb21wdF90b2tlbnMiOjE3MCwicHJvbXB0X3Rva2Vuc19kZXRhaWxzIjp7ImF1ZGlvX3Rva2VucyI6MCwiY2FjaGVkX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6MzY3fX0K + recorded_at: Fri, 12 Dec 2025 21:07:02 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_returns_raw_responses.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_returns_raw_responses.yml new file mode 100644 index 000000000..76ae9230e --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_returns_raw_responses.yml @@ -0,0 +1,67 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What is the + capital of France?"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1242' + Content-Type: + - application/json + Apim-Request-Id: + - 2719baa2-843d-4eb9-94aa-584f67b57282 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '248' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249988' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:06:54 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The + capital of France is **Paris**.","refusal":null,"role":"assistant"}}],"created":1765573614,"id":"chatcmpl-Cm4dicOj548ORivc2zUzBSvWzNLpH","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":10,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":14,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":24}} + + ' + recorded_at: Fri, 12 Dec 2025 21:06:55 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_successfully_uses_the_system_prompt.yml b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_successfully_uses_the_system_prompt.yml new file mode 100644 index 000000000..c71eb8c00 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_basic_chat_functionality_azure_openai_gpt-4_1_successfully_uses_the_system_prompt.yml @@ -0,0 +1,66 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"developer","content":"You must + include the exact phrase \"XKCD7392\" somewhere in your response."},{"role":"user","content":"Tell + me about the weather."}],"stream":false,"temperature":0.0}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1814' + Content-Type: + - application/json + Apim-Request-Id: + - 8f98f2ca-c4f7-492b-b1cd-b590d850c129 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '245' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249886' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:06:58 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwicHJvdGVjdGVkX21hdGVyaWFsX2NvZGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJwcm90ZWN0ZWRfbWF0ZXJpYWxfdGV4dCI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImZpbmlzaF9yZWFzb24iOiJzdG9wIiwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsLCJtZXNzYWdlIjp7ImFubm90YXRpb25zIjpbXSwiY29udGVudCI6IlN1cmUhIFRoZSB3ZWF0aGVyIHJlZmVycyB0byB0aGUgZGF5LXRvLWRheSBhdG1vc3BoZXJpYyBjb25kaXRpb25zIGluIGEgcGFydGljdWxhciBwbGFjZSwgaW5jbHVkaW5nIGZhY3RvcnMgbGlrZSB0ZW1wZXJhdHVyZSwgaHVtaWRpdHksIHByZWNpcGl0YXRpb24sIHdpbmQgc3BlZWQsIGFuZCB2aXNpYmlsaXR5LiBJdCBjYW4gY2hhbmdlIHJhcGlkbHkgYW5kIGlzIGluZmx1ZW5jZWQgYnkgdmFyaW91cyBuYXR1cmFsIHBoZW5vbWVuYSBzdWNoIGFzIGFpciBwcmVzc3VyZSBzeXN0ZW1zLCBvY2VhbiBjdXJyZW50cywgYW5kIGdlb2dyYXBoaWMgZmVhdHVyZXMuXG5cbklmIHlvdSB3YW50IHRvIGtub3cgdGhlIGN1cnJlbnQgd2VhdGhlciBmb3IgeW91ciBsb2NhdGlvbiwgeW91IGNhbiBjaGVjayBhIHdlYXRoZXIgYXBwIG9yIHdlYnNpdGUgZm9yIHJlYWwtdGltZSB1cGRhdGVzLiBBbmQganVzdCBmb3IgZnVuLCBpZiB5b3XigJlyZSBhIGZhbiBvZiBxdWlya3kgd2VhdGhlciBjb21pY3MsIHlvdSBtaWdodCBlbmpveSBYS0NENzM5Miwgd2hpY2ggaXMgYSBwbGF5ZnVsIG5vZCB0byBob3cgdW5wcmVkaWN0YWJsZSBhbmQgZmFzY2luYXRpbmcgd2VhdGhlciBjYW4gYmUhIiwicmVmdXNhbCI6bnVsbCwicm9sZSI6ImFzc2lzdGFudCJ9fV0sImNyZWF0ZWQiOjE3NjU1NzM2MTcsImlkIjoiY2hhdGNtcGwtQ200ZGxsMmZMT2xnVEVOaDY4NEJ6M281TjRTWkQiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbiIsInByb21wdF9maWx0ZXJfcmVzdWx0cyI6W3sicHJvbXB0X2luZGV4IjowLCJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwiamFpbGJyZWFrIjp7ImZpbHRlcmVkIjpmYWxzZSwiZGV0ZWN0ZWQiOmZhbHNlfSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9iOTA0MWUxMGI0IiwidXNhZ2UiOnsiY29tcGxldGlvbl90b2tlbnMiOjExOSwiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwiYXVkaW9fdG9rZW5zIjowLCJyZWFzb25pbmdfdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sInByb21wdF90b2tlbnMiOjM1LCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsiYXVkaW9fdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjoxNTR9fQo= + recorded_at: Fri, 12 Dec 2025 21:06:58 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_content_object_support_azure_openai_gpt-4_1_preserves_content_objects_returned_from_tools.yml b/spec/fixtures/vcr_cassettes/chat_content_object_support_azure_openai_gpt-4_1_preserves_content_objects_returned_from_tools.yml new file mode 100644 index 000000000..f5761f9cb --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_content_object_support_azure_openai_gpt-4_1_preserves_content_objects_returned_from_tools.yml @@ -0,0 +1,141 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Process this + query: test data"}],"stream":false,"tools":[{"type":"function","function":{"name":"content_returning","description":"Returns + a Content object with text and attachments","parameters":{"type":"object","properties":{"query":{"type":"string","description":"Query + to process"}},"required":["query"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1057' + Content-Type: + - application/json + Apim-Request-Id: + - '008526d6-9400-420e-8996-4eb9c9e08030' + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '215' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '246944' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d101-20251206183012 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:34 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"query\":\"test + data\"}","name":"content_returning"},"id":"call_n8j4CKgsavPH0NIqrH3vOAwT","type":"function"}]}}],"created":1765573654,"id":"chatcmpl-Cm4eMvE76E6sxt9DCcJrmWpMocu6r","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":17,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":58,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":75}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:34 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Process this + query: test data"},{"role":"assistant","tool_calls":[{"id":"call_n8j4CKgsavPH0NIqrH3vOAwT","type":"function","function":{"name":"content_returning","arguments":"{\"query\":\"test + data\"}"}}]},{"role":"tool","content":[{"type":"text","text":"Processed: test + data"},{"type":"image_url","image_url":{"url":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAMBWAADAVgGB4Q5XAAA7zElEQVR42u29d7gkZ3Xn/zlvVXW4ae7koMRII2kklEAEkWQDC0YmrPFazgZsjBdY1mt71+bn3+6PXez1LhgvGAzCpMWA7cXGAfwY2zw2IhkUECAURnFGo8kz987NnSq85/dHVXVXVVeHOzPYwkvP00/3VFd3367zPd8T3/MK37v13VQ1fSqZO4Bm7ojId/1vle+Ju0/oAAZwM49OctwCQXKP/iWAQL4n+Jy2u8m9AmwCngxcD+xD9ZT1O5FttwPbaLTDpaV2MD/XCRYWbLS6SrS6Qvy4Spg+X0mPrcTHGk00isBa1FrUKhqlz/uPdc+L1KDqLdeMNirSsTBnVNrWsbxmKTqr3+9+T+hdLfeASWA38DzgJuApwCywDDQ1jLCtlkaNhtp2S1VVxXFUHAdxHEjukrnjpsdcxBiwESrpV2vGyEj3WPpUkydqVFqumI4HgK/wYCDcE1nnK78/43w7Qo4LRG9c6XyPAdZJ8U6i7TuAGxKhPx24KEP7vc8Iw1ibl1cyGr9CmGh+37GVFaK1HhOEq6vYdivV6q7WZzQ9xwbWWjpYWo6l4wgRYBEiBAtESCeCxyxyV4T8lcIXfFfnvUj45eX29xigRNudjPA3AJcDLwZeAlyBak1thIYhhAFqbWzjXQ/xPMR1cWY2xDTtd7B+B/GrGN9H/Q7aqWIrHaRSxVR8tFpFfR9brSK+j/E7aOCDVTAKKiASa7oIGEU0/n9ooGWsto2VqOt5Ss4LVagqsldhr8LNFu42oXwogE+/tzZxulG1vHkEEOT/EopPBV9LtPv5wMuw9pqosbYlmDsh/pHH8Q8dJDh+hOj0HHZtFQ18xHFxpqbxtu2gevGlVPdeTeWCi7ChxT9xnHBxoavdpSzQ9Qd6x4osQEbrgyjUtvXpEEmIFjW++5g/lrIDWAis8PUIftvC3wr4/3kICNx/wRTvJHcP2A5cC/yghuHzw8WFC9sHH3Wa93yTxr3fpPPwAwQnjmJXllG/DVGEoIl5FkQE47o4k5NUzruIiWc+l5mbXom3Z28cGvh+jwX8KraTskAHrVSxFR+ppmyRsID2WEBFiFDa1teOdiTCYpO/oKDxyfGBjIAKnoVnK3xC4QMR/M5bZ2sn/+tS+18mA5RQfOrQzQBXJPT+r6K11cta+x+ur9z+ZVa++kVaD9xHOHcC7XRAY6qXJKwzkqGP7nOJRaKKcV0qF+5m9uZXMfNvfoaw3aF9YD/h8hLR6tqYLNBGrSWKQtp+S1t+C6uRpEIu1/S8xqfPbRKTWsAKWTawEfyDFf69wMOihrcuN7/7ATDCi98DPAN4sVr7jGDu5KbVu+9i8da/Y+X2f6Tz+AFsq4GgGJFE8IJI72LkBU/ymmSeg6jFnd3I7I++mo2v+2UUQ2Pf/QQnjhOtrvVCwTIgrK4SrK7QbjVodhqEod/7baVCLlK9JOBgFADS57da4fWiPBIZeNti+7vTBJRouwfUgZ3AMxOH7rlq7U7/+FGz+NUvMP/Zv2T1G3cQzJ+KqV0EY2J6td00X+x8pcLVRBKSzf+JJrFZ/CBiCJeWWPw//xszvYFN//Y/MvOMZ9K45x6ajzyE6VQSJ7CDTanfr2E7HTqhrytrC/jtVvKBmd+Y0LrNUXue9m2R9nv0P+j4CxTeHwmvQTmS/T7nu1D4JhO6PRf4OeCXgddg7bXtY4dn5j77l/L4e3+b43/8Udbu/Rbh2mqs3cb0pNp36UFVuse6+d4MT4pk/xObC+20CY4dprrncmpXXEVl5y5MtUq4tIhttdAocfLCkNbCPIuPP8ryyaMSBZ0+9s3a+NQHsF2hZ5/3jvV8gx4AsgCxPVBcrFCN4PPPqbnR19rhdw8AMsJ3gC3Aq4D/F/h3wI3ADn9h3p37+7/hsXe/naOf+DBr++4lajVj4pYeuWvmamuJMVQkZxiLICmCABHsyjJYy+QNN2Kmpqls205l23ai5WXC5SU6C/Ocvu9bzN9/N52lRVBb/jvXKfgcAIQ8GMqPX6XwqMC9z5zwuL0VPvEBkBG+C+wC3gK8ObH11ajZYOG2r/DYe97BoY+8j5VvfwvbaibGWvoEmRWw5gSfEbZKARQFb6n7EanNUOzaCvXrn0Xlwt0xUqenqV98Ca35Ofvgxz9sFx950KgNKeAr9/cNFrz0sYMtRABlALBSjCDwVLg4Ev4aWL29/QQHQEH4FwD/HXg14Km1NB/bz+Mf/QD73/N2Tn/1i0Srq4n8pFR7VcgxgRZOygu6xEZIkQl6BUPttKjt2cvE9Td0XxTPY/Kyy2F2U3j07rt1rdES3/HwjUMkRiIxCSCzdn24xpdpv0pB6wcDABW2KxwUuPNpdfeJC4BE+JI4epcA/xP4UcAJV1c4+bef4eF3/AbH/uJP6Jw4AapdAWtBx1T6ta20kicF2k8FWar9BRBEEd7O85h67guRSrV3uuPI5muuM5uuuS6cv+++aO3kSScyLoE4+OLSMfHdF5fAuATGwYrBiohisJLmAyTx7KXPESyl/zJQxOeJwhYLnwaazhNc+C5wKfDbwA+ptabxyEMc+OB72H/LO1m+5240CHLKqhlJ6YAgNytQGRQJF8BUBEHfZ1nF3bKN6RfehJmcLn6hTD9pt7vred+nK/sf9VceO2DiyFJ6nr8IViQRvsGKgzUOagyIAWPikFUS75M0jVzQ+uHan/5/C/B14EHnCa75VwHvBG6Kmg058bnP8tBvv5Vjn/4UweJCX6tGn9eexu7pobxpzxyXHPPTFwFkQJCJCLq5g8QPcDZtYeZFL8OZ3VT622qbNzvnv/DFGrVb/vw933bUWhndTxB/USp8I4IrgmeEihGqxlAVwROJq1tJRquLy0x+IAVColhrgvy1+wQTfFb4TwXegepzm0ce5/CffIJDf/RRmocOxmlUYbCrrllLH2uJJKF8GudnAYFqXvJ9IFBsQicmpdf0s6R3ogYBGoRDf2dty5bK09/6W87Ezl2te97zzkpnackTY87omvUqyYKo4olQVTSKCYkQJQRCwFfFBwmBKAbDU0G3uE9Q4T8LeLeG4bWL37yTR9//Lk7+w98SNRq9X615wWfJoCsQ6SV5Sp05Lb6pJ3lJ6TIFk2hM1ZqPt7NvV5FeCrH/R8aFnyjCqDpX/exrJ6a3bu3c8Vtv1caJE5UzBYFNrp8FrGr3b1YUo0lbk2qcMVPVJDMoVnWHhfOcJ5Dw0wTP9wHvDNdWrz36mT/jwXf8BnP/+AVsp5MTXFaTpaeo+f/nwJFP9+bMQS40k377Ltnz8inh7nmqVC+6mNmX34yzYTYWeBRB4KPtFlFjFbuyTLS0SLQwT7hwWqY3bnQ37d7trxx6PGyePu2tt72sKHybCN+i2AQEVsmDo3fNa6je4z6BhO8BLwDe0z55fM/BT3yExz72AVpHj+SkKprR1wwTFLs3c5SfMEFceeu91s3sFphA0hCraA4UtIQJ0p9hNsxi6hMARGur2OW4umjbHbTTRjsdbPKonTa205EN01MTT7v5R/17/uLPm8cffLCWXIuzFr5Fk/9nX9euT6CqnsIl7hNI81+K6ttXHn7gkkfe/y6OfvpTBCvL5YInzwQygAnI0XMiXJW845hlla6w+x0B7eV8eiDI5Q8Ed+sOzMQkGoUEhx8nWlyMawF5oXfBkP7f8/3K1Tc8Q+qO6Rx84MFKFEXOMDboCjgj3LzGDxF+el782tPdJ4Dwq8ArNYresfDNO3c9+K7/wakv/D1RQvmS8fBzkVixnU7zQCmagFTYRSYYBIJe1aff19SENlTjeNwIiONRueBJmFqd8PQ8nUcfxjYbQwUf9w8EaBigUeg9afeFTkW0deDh/ZVOp+MWQaAZLR8mfJtcrxHCx8JO959Z+DXgNdbv/LcTt35u64PvfhuL37gztp3Su9hZn81oeR5Vct5/ni00AwIrYEhbr8YEQRaEGdqXxHaoVWR6kurFl4ExdB55CH//I4n2J4JPGkZskAg8jNAoRKMIjSKstWgUma2bN064l+4ODhx43G80214aoWqZfR9D+Knt7zsviVzdfybhO8AE8Kqo1fzNo3/zmY0PvOu3WHlwX87DKwpStBD+FDVe+tmiDARZczAIBLkQUbqZ/9znaWouVHG3bqe2ew/q+7Tuvgv/8EE0COPQMAx6go4i1EYZwfeea/yaTHpu5ZLzd3QOHTsZLDdalWHC79H9cOHnzusBYtL9ZxJ+HfgPYWPtzQc/+fGph275HRoHHxvu5esQwZN3DEX7Enal5oAxmEATEIhIzxGk4AAK1C69gsr5FxKcOEb7oX2ES0uxoGPNLhd+T+h9/3eiqHr+xqnIUdueb3Y8izolFF5w/NYRFcSAqLj/DMKfBd7kLy3+p4N/8rGph973v2gmnn6WxnWAABlC9bkQ7xwzgSbRAcWmC1VMrcbUU5+Os2Eja1/9Mu3jx5Imz4Jgi8IeCIakXVyts73uVQw2ONn0xaoaPROvf8DroMb9JxJ+2sGzCfh1f3npjY9+9P2Vhz/4bjqnTuXsPQUtlyH/LwVHIUQcBwRx0qRXO5AhTJCm8NO/VVVxt+9i6mnPhihi9c6v4a8ux59t+4Wf+38q8OyqIE0MS69U6WyuesYV6RxpdEw7sl4qyHEdv1JwxBfnO+cDlCy52gG8pXN67tWP/sHve498+L20M8JHy7W8WMQpo37KTPc6QWALIMgxQa6qmHBBtwAlTF51HRN7n0zn0EHW7vs2YaOBqu0Ttu1qdwRWUbVdQecf889VVaZdU71wshIebfrBSmBdi4qOKfwi/WvvPQvuP4HwPeA84Df9pcWfeOSj7zcPffDd+AsLSWK9RKharvXdrJwO+e5iTkD6wTQMBKK9foI0QWSzuQWJf1+cB1DMxCQbnvt83I2bWfjcZ2kdOVSg90S71cbZweTaFAXePZ6hwsI5UjfiXVivhIfxgwU/8iwq6xV+1zGMPzdw/wk0/3Lgf/pLCzc9/JH3mYc//F46Cwu58mpZcqcstcsQGy/DADECBP1JIS3Uf/NsICkTqFK/dC8zN9yIWsvybV/BX14CY2KQqCZC71HaGQg+pWsUcFD3gponnhAc74SOBUcHeP3DhG8VHOh8J30Ah7gv/x3B6sqL9//hR3joQ79HZ36uV7/XbDk1r/lmlJZLvzNY2vQxBgi6zzMgEFWsyTNB1z8gzgaaapWNz38x9T2X0TlyiJV77yaKYnofQud5IXcji149e9Q5As4OzxEXwiOdkJb2QDCuYwjgKUe+kwC4Bnhf2GzccOCTf8ADv/8u2onw+1K7BUEOC+O0hN51FAOM8AlyoElrBBKDQLO94tIDiFqoXngxm1/8Mkylyso37qR95HAMDmv7GHGYVqMDgDDsHDCbHFPxqm7nsXZg1xRv3HRw+vMNPO5+h+j/WcDvWd+//vHP/CkP3PJOmieO5/rss/a3TPgMcfBGefvrBcEg31PJgCCj/SKA67Lp+1/E5JXXoNay8OVbCTsdxHEyvYZ6ZoIvmIWC4HPnTwrVS6pueLAT+qcj66pihjmGueqbcsz9Dgj/+4APaBRdfuwLn2Pf+36H1cOPZ0KpDDVr/IdImTkoEbpmSmXrEWqfzS+cr4XmnzImEOnlCtQqtYsvZstLX4kzMUn7yGGWv3Fnov3aJ+RhdJ47ZwAoNKM1ZedUwL3YM3gQHAsjz8atAH0ZwezPdBRm9Bz5AJlY/2bgbcDuuW/czr2/+z9YfvgBMMlv1H5Pv1i9yxZ3yhI9A0O6s2CCXLGlPALtOoaKYipVttz0r5m57mkALH/jDlpHDiem35YwwFlQfla5dPDnGNS9wBHjqukcCq3bUXW1X/jd3+mCrSpt9xxq/vXA7wAXrOx/mH23/C9Of+tOsl9fRvvF/D5DwreBzts6QTDIfGhJc2nXMUx9AoX6nsvY/oofwZmcAmDpG3cSttvxhJA+wWcFNZzO1y34fh/D7DDUKq74j4bqN6xWKO+FwlP8yjk0AZPEizUuaM+f4oEP/i5HP/+32Mj2c6yWdesM8OYHMAHfISbI1/d7jRfZ6NCZmGDHK25m+snXAODPz7F421dj7bd61nS+3nOK0QUgs2j1ciOdA6r+olKRkss6oTQ9OO6eI+1/BfDSqN3iwF/8Hx77yz+JNUJ6jlOZg1fU/jKhFplAh9QAzsYn0LKIoBgiAhuufybb//WPYKo1AFbu/TZr+x+Nz7d2oI0/C63uhZPjnJM8n4TqpYbwoKU9r1Q0swzQAWpKQ2D+XDDAZuANam39yK2f44EPv4/WwgJiComWAgJFhydwyphgWEQwit4HCTaX6NH+5WKSqVNUt23n/J/+OSb3XNZ93/wXP0+wutKl/1LKH9OOK8OFOo7gs7+tAu4eg9Qt9qjihMlPqyjUlMiC754D7f9x4FlLD+3j/g+8h+UDj5Tm8vtq+YWUbpmHn3tegiY5RyFi1/OXAdoPiOuy7QdeytYX3oSYWJn8hdPMf/XLWJvks4cIcz0Cz047GVfgg24GnPMNTk3hcQvtmP5xIbAQuWcheIgXaL6pPT/n3v+RWzhxR2wLcxe+UJ/PmYGScEyGOX2F7M0gP4AR3n5OyFJu+9NscOq0Tj/5ai786Z+nsmlz9zNW7ruX1YcfxIqAteuj/CFaPQoUw4hy0LXbJlAx8JiFqdivWlRYdc9Q+OlkjtfYINi7/9N/yv5Pf4qw4yNmSJ6+jPbHsPGDMoBl54wb8mXz+2VgyAKhumkzF73qdWx4yvW59y/edQfB6iqIKdHqAQwwTPDZv7EkfCsLVdPnERBpbzqIEi8IibS3OigEpoB6/D1NOLMwMBX+tcBPnfrm19n3sQ/Rmp9HTK+HT0o0XEbk9XWcEm8JcEoTOgOSP4P8AJXyv0lcl+03vZxdr/gRjNeLqqJmg1Nf/DxRaBFHxg7rypxEzfbsky7syI14GSjowiiYTMdP7zOyz2cUXO0GOOOPiCks1Z4E3tg4fvRJ9374Fub33d93ZTUee9en7YOAMMwcjAMCO+T8su8YNCOgGKNufNoz2f3aN1LZsjX35648+AAL93w7HhhsbZx1K2h5ukJHc+yjubUE3YWbWrKYs+Rx2GsMCK1Nco4BJnr54AXOwAlMBzLdYIPglfv/+tM89rnPEoVh19Z3F2LogNBKxu/i0RFC7VubNwZoirSvAwypKtR3ncfu1/07Nlzz1L4L0VpYsPOLK9IJoqTZXMubVqFvANWQnhdKMDiwMCZljJfpVireKvFkyfR2XCA0Z6D9M8Br5u779qZ9f/gHtBeX8tSlvbSvFilX80gvuyAyREA6KGUrg8O8svfkhikVnqcnu9PTXPhTP8eOF78snvlbuE3vuVQnt++wYiHKaX+58FNNTB/77jJgkcuQhJkMcQLLzqlrXANIbseykdc4wk+1/3mdpcWbHvjjTzB37z1dbcnZnqzwS7wWHVHrZwwQlNL7AKDkqFYygh9gBsR12PmSl3PRz/w87tR0eepz1y4zu3evehbqErc99S1Nk7zAsyAoPpcBIJAxhC9jRAMmAUDmtgxjrkNL08dJ0uffHr3tH2ce+au/IPT9nv3JabfkmKDn7GQWOOhgCjwXILBlTFDUfCn//E1PfxZ73vArTJx/4WBbWKmy47k32tSv8SS+myECLGp9qYBluBaPE/qVvVZRqORnU9mRACi0c7vACxonjj9n35/8MStHj/acEu2lweO75kq/OadH+83BuQaBljGB5EeqZI9n7f70ZVdw6Zt+lQ1XX5evBCYzfUl6/QCZ3XuFmKqbp8h0hfgIbR5Xu2E8QIx6bUJzwo6AxXGjgLSxc7va6BcO3voP9cdv/TxqtVvmzXvl0l02qVmHRHqLKDTj5dkM9Y0TIo5yDLPfJSnMpT/cK8b+YqG2fQd7Xv8f2P7Cl3TtvoYhmgx37lJX0is+vWuX1jdvCRonTlSymmsGCEYKdY+ydMioxyEplIE3F6jntb8DnBgKgILjVwFeuXr02DP2feqTNObnemVdKWRWhO7SaTJLsLPHsq/JOQDBINha7Q/3tCQsRcHbtJGLX/tGzv+hH8NU4njftltECwtoGOQ93MS21SYm3JndFweNYycGTlzUASAoY69xBbreW812Y//0tgbMj8MAqfafr9a++tBXvugeuf02rI2HbvYt3MzG2ZphgMIyqiwDaAEE5ypE7EvuyIBoQ8GdmODCm3+ai1/zerwNszFHrq4QHD2C+p1S4atVxBjZcsUVevxrXxvq1EYMT4Z9J2+mX/shLgk0BgIgo/0e8QreH147fuzKB//yz2kvLna1K9eZK/m2p6y2a251TYF+C0wgA9igLKU7tLmzbABk0U9QcGo1Lnjlj3PpG36ZapLsCedP4e9/FNtplws/eS5iZPbCC8WpepENAochqds0W+dmLroyIicx5mvDwFfX2AEseak8E1iydv8y4FWHb/uac/i2jPYnwjPZXKvk/aYsCKz2NDznIBbMQfFcKROsltvNgc5jIU+c0r7xPHa+6Ae5/Bd/jckLd4MqwZFDtPfdh3bavetRcleNB8hNbZx1ahs22MbcvCNSLvzsFQ/pjTaXAbn9YfmP9QAlzfyVsM5awgJDTUA1Sfn+ZGdp6dL9f/PXNOfnchOyyDw3BaEgJWYgywTkncCcUDMgKO0nKJgDO4L2ixlIVTCuy84X/SBX/upbmN5zOVhL+8F9tO/9VryHwAjhp2zg2chs2LkraJyaH5mQSu8+8b5zRTbIhsrjgmBYwajaH/qltzkpMwGFsK9GvLDj5QsPPsDcXV/HFSHsXpis5kk8eKEwN0czDmGZdkN/bh7tB8Ewx9Cegc03rsu2G1/Alf/xvzD75GvRKKJ9z7do3vHVePCkJp29NpPSTH5zusSLrhkQM7V5k2FE5a5/54/YJKRAMIOylkMofxgYZLD2k0QAHR3AAJIIfwb4GRv4Tzr2j1/CP3WSquchUUQQRViNc99G+p2+7I9MfYO0GJFzAtOMhPZeKwOBDPAJKDiZZbmAXKinII7D9u//V1z95t9g47XXo0FA4ytfoHnn11A/yNn4+ItsQfjkct0iwvTMtBrXWLXWjBJ8UaChxmYh3d9GhqSwGcNkpNe/qlC1A9l9SSFysgAohH114u3TXtY6cZL5O27HiUI81+1+WRBF8WKD3KLJQm5d8zn29CtStiiCILtTB8VBjAOYAEPplFAtCfXEc9n+vBdy1a/9NzY95WnYTpu1v/87Gl/7UrxTWNaByTVzaO5LcsdFmJiaNNWJCdtaXTPIeILXQgUworeY0gx477iPI7S/mwV8XQkDpNq/ibjVa+vyg/toPPoIFceBwhTuIIq6o++FPOWnHr1NR6gV1gOWgSCldJGSMW/96zW7YJMBvgIF2t/xgh/g6l97K5uuvR7baLD0mU/RvONruaVcvfq99oUtWprOBNdxzNTG2bC5ujaSwsuErxmpdOjteCUDnMlRj5XBtr/LAFltL4Z9E8CzgRdqGLJ8z7fR1ZVY+5Ou1ywLBmq7TGAKIBjEBOm5g0BQFJ6UmQ7pz/Nn29C6GFAw1SrnveilXPUr/5mN1zyVcOE0i3/+SRp33dGXo86u1MkKWpUBxxRBzOTsrHDoiKar3Yc5gWXCz/4/He+aAmGUOcn+aQJMRiPzDcdyAMhEDTVgK/ATwGywvMzaQ/twVVHXhSjqK/XGTGCT5dCZvHsJCLLJHpthAilxDDOJxT5HUYZs5JDLDyiYWo0LX/bDXPUr/4WZy64gXFpk/uMfpvHNu3KbAqn2a73mWoi0sJInX/+dmpkWcRy1NpKhTqCOYIZC909Y4hvokHJ33ZbG/dlbCBzvAqBE+5+T3OmcOEZ49AgV1+nN1k+7XAoXPYxszifIOnApG5kCCLIXMOvs5QZDST7FIJmMYlkdVDKFpsrMDLtv/hn2vv6XmN69B//YEU79wYdo3nM32XV6+eyS5lmgZA1fFiip1lU8Tyr1mm2uNQb7ATqkR2GA2bAZ/8CUACH72Y7mOn6GAWCxyACp9m8j3pRhEqBz+BAsL1Nx3bhaQmY0Wkk8EoMgXo/WFUgmUrAjQEB+Y67yFict7yoqNpLUt29nz0+9lstf+ybq23fSPniAEx98L83770OM5DpwR2l4/7F8ezYKRq2p1Wu2sdYYSPvjhIiDXk+BYEoSX1ntd0cXEzSbOnELBZ8XpNqvUUjn8CGM30kAEJU7Mqqo9rKgRSawGcGaAgiKzl63ETPzKJpPNBaZILsAJdX+qYt2c+UbfoXdP/LTVDbM0nzgfo6995209j9Crm2ZMsFn/YHRgu+ygCC1WjV1b6RM+HoGgi8zC8Wikip4WprzL7t10jpAFgBp4ufZSQYQ2/EJ5ubideROzyfV7BJnLXe8wyiOmW2JdveNfymAgKzwB9S6i4Dpzg0yhs1PuZ4rX/8rnP+SV+DWJ1i58zaO3fJu2gcfi3PYfcLU8tCv4AxqXw4739ItwES1aowRokyXL2PSvTJ+/sDSPzxzMhq7u6dRNAHZXbUPpJ+tnQ5Rs4Gp1lDaeEkWO+sg9znGGRiEkcamoACCNGTLzgXI7dI5qI6e9fClP6p1alV2Pu8FXPWLb2bbM56DOC7Lt/0jh97+m/gnTyTCL4vxe0LtO7YOk0DSFeR6rg39XmGo6PGfidYPNAup8G2u2XPULU1A9kUBAhxOXqzYwAcb4UxOxvvVtJrJewvKUfCN4nn6EQIEUZgDgRZ8gtyiUCk4fvRif8kwQq6RMd1DfdMmLvmRn2Tvz76RmUv3IqrM/81fceT33oV/8ni3dt3v9OlwX6CMBUrCxC4LqJqq60YtPxgq/LMVfNahdIxQh3ixwHg3PytIlwFVU40iMA4mAQCq0G7lzEB2Vm6vCzbKxeFZEEgmNSwZMOTaqYvt5eSbK/NlY2Hmkj1c8epfYM+PvZralq1oFHHqM3/O4+98G8HiIpITfl7QOkSYfUAZdm7vP1J3HVnMvPWcCz7LvgKVikF8XU8ryWJSDewCQDO04HVT9iI4tTrO5BQiic4ZgzabeMUlNln7LYW9NyTOGFpr+yd/FsAgA1qjU7ro1gw0pvxdz34eV7/+l9h14wtwanU08Dn6sY9w+L2/G28XKzK2nS+1/f1p8v56drGEaowYRCNUzrngC99VcQ2ea+I5DOPfTgKtIgOECTXUEn8AcV2cqakEANLbJku1+3bNTepOd+KO4n16JGNxEnRZa/tHv2a0O5vEMWUhYhJVTG7bxiU/9KM8+Wdfz+zlVyDGEDUbHPnQ+zl0y7uJmk0kmdVXkOTgpgod3WKhQw+kfoCIa4yGUST6HRB8qv3GESqV+KpFZrw+o2TU1akvVoz//X6UA0Cahq53FbdSxZ2dxZ2aIjKmsPGyQLNBhfyeO90t2Ir76SRD733ADtg312YoPlcKziivW/HY9pSncvVr38CTXvJyqhvj7dmixhr73/abHPv4R+P+PZG0c3dswY3stBlysFiG9RyjrSg6J6Ff7pwM9dcqDiaZYK7S868GCl/SvY6k8/zA8gsFBrCJfCa7eeFqBW/zFpypqUT4xTytQquVy8D1snaZRJD0nEIVCKKYCcpWdNqMT5BtPDHA5I4dXPKyH+LKn/k5tl7zFExSmQwWTnPgnW/n6Mf/d1zRG7Q2SkcLb5Ta63jNWFJ3HFlOHO1zIviCQ1nzHFynp/XWgBpBShxBybGzIIIfZ9uiviggwNrJWLYWcT0q23fgbNjQX4bLJuVbLYQgtytX70vBiI01O5PSDYBoDBBYhcpEjV3PfBZXvern2P0DL6U6u7Hnzs6d4qG3/DonP/3nmRgz75/ouF10OuqMUeajd2WqjmBENFKVM3UCB6WQXddQ8Uyh5N2/S2pXBkhXFsnzE11PGnBjR0m5f+ukvXzfYwYboWGEMz1NZecuvE2b4wURJT8/RVbUakJA70voIc5ImPPqsn/nQBBYcFyHzZddxuWvvJm9N/84G/dclluj13r8IA+95f/h1Of+ptBhOlrgug7V13V0YaY/xRMRV0TDBADjCn6U8I0RahVTWha3RnCShFRG23MgMPEeN8eyUugywEWf+iuCw4es2gjCkGhmA94FF1HddR621SpvzMv9Jc38RG8Tb3Mq0p/QSd8ehBBmQKA2/pFTu3ZyyYtfwpN/8lXsfPozcGv13Fc3D+xn36/9EvNfurU7rqVYHF2v4EpP1DFdgewnJJFKxTG0rF13lm9g8Six+44ZvDN6KnST0/yu7ceI+EkUkAfA8p/9MebyZ+Mf+IaH2jiX6xzD3bKV+sV7CE6fplh+EYk3Mw7JgyDudpXuBovQX7jJMoGGEEVxZD+1fRsXfd/3c+XNP8YFz72RemYcS3pbuffb3P+rv8TSXXckU7ntWFLS8Q38eL5BbiBEf1GyZkSXzyYCKFQOq56D58pgY+RI4qr1FC8LAhM/t5J0A+cAEJ44ASf/0lVkFo23N9UwxN22nfr1z6C++2Kajzyco/4odQxVCXN/UhM3cYBksEva7bETz+Bu28SuG57FFT/8b3jS81/I5NZtJX4HLN/9Te77T7/I0jfuQlynZP35uMLLpn9Z100HGf/CORURkWRDsTPN8qWve66h6pmhvyNyBCOkgi5QfxcMVuKQPw8A/8hhEPGAjaSbHCXLoerXPpWJy/di223ahx9P+b1vP/Uw5xg2cYOgNERKUqaYiTozOy5m+w3P5sIXv4Rdz7yBiS1bGbCHrs7ffrve/e9/wbQffRhxTDKTdx2C0/HgMTwEHDNkJG3yFEJ03Vm+7DmOEeoVp6/cXebuizExADKefx4QrAmy2AeA4MhhEKrATAoAoojw5AmmHn2I+nXXM/nkqxHHoX34UH7ea0YtQqGXL2g2cLvtQwZ1FHGqVDdvpnbRbjY94wa2P/d5bHry1VRnZko1PmvYH/3DP5UHv3UvtZrLpFWqJt5GXf4ZYv1R74vrFUrFiLaj8R3B4jkiQr3q9OpYQ744SqZMGM05fcUwcFmEEgCcPEGSBJqJ+Seu6WMjmnfeTv266/E2b2bquqfibtxE67ED+CePEyLdnTHSHvMwOyqEeI/7ytQ07nnnM3nlVcxc91Rm9l5Jbfu23NClfnVV0j3bWydOyuLXvoEnNZaDNqsBuCLUjGHCMT0wSL+2jis4HdeA6Jg+BUhVcnWysbN86bFaJR/vD0OdTVqqnbgzPfED+sLA0yK9OkAXANbvpC1h1ZzaRRFrd3yV2Zt/AmfjJpzJSSYu30tl5078EyfwTxzDnztFuLhItLZG1Gqivh/TfKWKO7OBys6d1C7aTe38C/C2bMFUqoVfnPThJ+vv0y3W1cYsJCIs3P511h47yISp4xMQEhGp0ogimlGEI0LNxICoGMEdsNL4XMX648QREnfYiKG3OHScLF93VU/FoeLJWLDstt0nDECX+gu5APBFpN8HsL04X4qdMa0Dj9K87x6mn/f98QmOg7dxE97sRiYuvRTb6cS7Ywc+ai1iDOJ5mGoNU60irttN0KiNYoAke+qR7qCV7KrVNT/J7lpEEajl5Oe/RLDWwHEc6lRpaDPnZFpVmpHSjCyOgBcDQqsi4ogM6ZA9hyFjCaO4IK6gYcERHJblU6DiGWqeM4TFtE/4AKFRjO13AqXHCGExW+IC8T433R4NzZfGGw1Wvnwr08+5sddUkeb8XQ/H9bpj07t18+4kjTDeIDnKCzvW8KymDwKCJVhdZe6Ou7o/vIJHBweb6U3IgwE6qnSsigE8I1oRoSLgCmLG1Gw9ByFjsrZeW4VW8WEt4q5jqFWcZF/isR2VeKsYAyYJz7NhYMYXmDOIbzOfkTBABHFHcDXXDJGUQlfvugP/5HEqO8/rs9Wpw6hRGOfiwyijxXltLgq7FAiZ9wjK2iMHaBw5BibZrAFDVSq0tTV0VEp6qXyr4icZMlfQikjcuUMJGEbYjPUOb5DYpo4tfMckTl/GmRmH+rsMIBon4Po1P00SHVO6e2FlABAzwIzG5eC+RRKdY8do3HM3lR274l2wuztghxCGGRBkBG4H03oPABnNL2EEUWX+rrvpLK/kIo8KLmGGBWSAjhQjhEARX7tgwAWtFMBwrm+exMo8anGIMUK96iaZvvVRf9qTGIrGAzpzmp9zAo8BvGRxrmACYgaoQrbXowd722ryyC3v58qdF1DduCHeFTsV4kABZ2nd5hhh8Gu9EFStxfo+83ffH4Mj00cuCJ54BBoN1LxhtKwxGPBBWsmoo4rEbdHJpK9zMsgjGdmOC9rJdgoXh1xIHOvHHv/6qD8fCcQFMSf5BSUp4WbxPVkGGJg0WWl3WPzybcz80Sd50k/eHA9OSjS2K7xh2lzKDENeiyJQpXFynuWDRzLtv72kioODFYOlvL9AdHzKjkCa8fRkNQqeoNUYFOKcJRgcoCrQ1vJET5rj91wztrh1wB67NikNm0JBLsMA4QAAWABHsx+deIGRKvOrTSS0HPvs37H1GU+hunE2pv+Mxg6k/qGAiM8rMx+osvTwATqrje7qIs1YUUFwcJM2hhJdkcwqopKKXZm50GT1Q5g0PRmFiqC1hBmc/oLmWH5AjcxqzIIpqHlOJs27furPN9VovN4yhUAmDDRx+DdfCoDEBMygONk/QoClVoe1js+MqdA4fIRTt36J8154IzYIysO2Pm3OMkM5U3Tj/zQfkEQSCweOxOyUW3XfM1Ex2Rm0wAI5IpVyJ15GEKwSq0ugcSO9UbQi2BqYqnSXccs4c3pqghiNG3eLsX6t4ozQ+fVUNqAjNuME5moBASKLRY3ImoCNSTKo2/ceWctCs53MwxFsFHH8y19l06VPwqvXY88/1dispheBkA5ZjJJNlDPC7h/DEpeH/WabtbnFkqXfWqgvOEgGADqMNnWM8XIDwJGYCScFQ1Ww9TjbJ94IMHjJPch8XtXLCv/sqD97JMQmoWC2MpjmQkSLKfdsGLhJCxmRpbZPKwi7zgRGWD18lPm7vsW2q6+IfYHUnmdi9z5tzgrXav+xvuFLytrJeVrLa4n9tzn7Xxw3Ld1FZ8PpflTMPq7ORSANxVlLmQHshKB1kIr0Gug04wfU6K3H8twk1h9ZbxiP+rO8GIhNegJMMQzsiLCmpSYgZoBN2U/zrWWpHfRtdmBDy9w997Nx55a4cjdCm7vHbMmx4vClFDDA0tE5ojBMc5Mlgs+uUhbMOAQq/e1b6yPagQ6k01A0cfhsTWACnGpmdnA1+W7PNdSrTkYR1yv84YDuEGGTbGihM2hF4j0CygEgsCH7gSudED+yuS6eeCSLsHz0BCuHjrJh51Y0skO1uQuQ4oStLjD6ARF2ApZPLg68PJpfoI4lSX6M2+h5RlZ2tL+X+AzOatIVVI2BwFQSYlYdQ7Wb6Dmb4LL8uBCPrteUAXJNISwIsjIwDBTp5UL8yLLqRxlNkZz1DX2fUw/vZ2rDZK6oM0zwWQ0feh5KY2GN1mqrwN9lC9M1Y6Pjnrj1XsqBexCc5S0CGhovwTmtsE0ctrkua6J99YRzQf3dbCCWANuj/l5iaAWkVfwM9x92bUYJUdWu3VoJLGHGITDkW5EUYfHoCRoXncfk7HTPyStqeZ8PMOBY4b46v0IYhBlLOtwMgOaWTQ9cTaPrA8awcSzjfqYAs+KyQTycSHADZdmN4qTNulpMxrtZlA4RTlK3ybaD5d3gBABqwrRHawKgEymNwlKjYlJFRfFbbU4fPka9dlGvlDtoqOJQM9Cbwq0JS6wuNdCceAfZ/3xtLZ3COU659Uw0flhtf5ADulk8thq3G5rNWIMXGRacgGBEELle7e9FApqYmSQEjH2B1aRBqd8EoNZFZKMCq2FmXf/A4Cv+osUTc2zbvhHPc+Px8SMof5ADmD3Wboc0VtvFumSfBzDINESUTNDQ0cIadz3esAJhLrePsNW4bBavWJBh2ho8hHknoC32nFB/9uo0NOj2BGTCwOOhNYFjohIAiHgCs83I0gxtCY31d6OqQGOtweLJebZu3ZgAIE3iDHEKs8utS1bZrq62CYKotHKuJT8+yxDpKtfsZC10/GEM6zUJWp5AwiBsMx6bjFfamGFEmMLgWYcTTocW0Rl7/WW3DvEKbScJBRMAHKs4cPXjj/YDwAj1wDK9EtiBe/0WXTBNGknmT55m40QVYySzeXJG6Nnq4ohNkVWVlZVOvJx8Hfa/JGmTM1vjCn9dTDBA+z2E7U6FDeL2t2UVyrMTIlyghhPSZqU3s2Fsr3/QkUCjZA5TJgxE5ss+xU00vNYMo+lONLg7QinpwhVhZa3J6soqM5P17qi4Qduf9m2qXJjN4wcRjWZQMup9tP3PO0L9Gb9hgl6PXR8GnooYdpgKM8btW5JlCos0UhDUxOUCJjlOiwU6Z0H9mb4AjRXRkZ4jKFJeNXNPdyIQnFaong7xZcvW3SgQRcrppTUmqpWCkPNTNoZuq56c1mwG+IEdot1lnoiOdNhGhXzrZgSlD3A1MexyqkyK21eKLenOzXjnsaAuZAoPh5PaPKO9AXJ9AVg6hMxINRnOJRaR1VIArIZ2ZBiTJf+yJUlLa022bJii6rmZDaPyI1n6AdA/f6/RDBMzoUPi/35e0JLee+1fJzpyyOJYjFAy8WtaXHY4VeomzvsVhW7KF2nmKNqIcAGTVNRw1DaIsOukfs0xQEtDHDFpg4iPxHsElZoA4tUineEQYEBODtpByMJqg20bprrbpRaFO1jzNUkPKM1mMMTxG23/GaHhZ20SShzKjcZju1PFS3rxTEHTy5ZpFY9n/YLzzRRV43AwXMHHFrLX42UNFPA1ikPB2AFtAHPDALAGnAYuLWusQKWP+vtCwrUmGyZqcQIi4wsUBT1oS/RWO0roX0v0nLHtfxG79gxYgAGaXwzztjgVtjiVrrdt+vPvJUu1Cp069Pfw7zSTVMThQLhMU8MzSA8rK5GfmCKDCE1BlnUIABrEE8JuKP/4Yavs41dbfsBaq8N0rdIdIAkUvP8BziFKqxURWR2g3TrA/o9nG+1Z+gUU9kCoiGGHU2XW8ca283kwlJuB7Dnb3UlqxuOhYIEV2xm4o9ogVmiluYD471FhgBMooaKuRGXdIoPxVRJ6qbLYaFF3nVzkQGFH7ZzmpxVGGzNA/2cPtv9ZoAz13qV8G5axQVB475SJ7f2kcQdqcNnxPlNQwgZFEG1yalxjtvKAf5rTUWtd1UvfhkQo1XiUagvELzvP/Pxqd+3/48MoJvuv/GIpa50OzU6AjSxRFBFFNrlHmccod8xGliCICEJdl/3XEc3cSv8swrL5u2XPcxth09sWZ7NT4SJ3giknzu7Fd5PcpXAvO545ZgQn/b8RnL5zYp9ixqlxTW0bO9zJsWMDAZo2oG1DjDGImHljZK2sCpkdEfPtxBGsDqoD6BD6USCwluV2G7deG+zwlcT/HV81HiB2Du1/SVOIHaH9lGh8N753a2wwHs4we97V9v7MX3Fkiylfv9/HEkaEaVPluvoOHuyc5pC/jB3qACfLxVF8orhnQzgpIu2ytfBZABwh3lF62zg5gHJAwKofMOPFGkLGFyiNDBIgdHxJIthy+89Z2P/iFnNDTYH2A2PaeOx0a0wYpzSRY4Y6fQy184Mdw/5jdeNxzcR2qsblkfZpou4VK1eHSC1rGiCOAWFewyh0PHckAA4UAaDDcgAljx0bseYHTLluLjNYpvmqirUQhM7QIo+Oaf9H5zPG03gFPDFsdapscSq4xpQMXTo3dr4sS1iWNzASm4yrJrZSMw77Wqfw1RZAkG8RX47aMQCQSDxhx923DwXAEvC1skhg3E0M4wHGykoQUE1KSGUFn+yxMDJqrUhRDGdi/4c5g0VfgCGO4bRx2enWmDRuaWiX9/BzTRdDwkD6unXHAlHfOYYrJrZRdzzubhynZcPkd/X3v3c0Qo2J8wADKkwG4HWL3QUjn6O4ekR7TpItOEw2IxCbPhNo2ohWGOYcPltw/tLnQTgo072+/P84CSEn/T1a/ls8Mexy6+yuTDLteF1HzJQ4aE7iyHWPm4zDZ6T8nIzTl57rmJ5j6OTOzZyTfW/yuXvqm3nOzEXMOFXKSngCNKMgXjLuOMezE9YGMQDA14FvkWwaQWlzRcH+Sr9tjVDWbISLyU3Zzo5jVxRVIbJmhHbr+LP+xkiVONLfn+8gzDoe290qE91CDufUzptSB2+IszjIhCSPiHB+bRbXdblz+RCng2bfIK6ODQlFqThOyw4YhuQWir6LwKfKAaD5vXhHOFQNjZi0Gu8mmqESzZV/HbUqA7R7tBkYaf91AOVlKoaTxmWHW2Um6+EPSOQMFuRwwKzHzg9+X+Z4OqLPGHZ5s3yfV+O2xcc43l7O7bPQCDs0bcCUMxHqgBG9XfV73WJ3F5HPAg9lnQlNlhypxKNILOX3LKX6QENtj+5D228CrCnsBrjeMHA8+1+kRlfAM4btXo3dlUlmE0evR7HpvRevO2IKFG0ydN+jbadgBspyAc6wY6b3/6x5SM8TYxDHSe4GdQybalPcuO0yLp7aQrbnL7QRHY0Cx3XnYmdwtAkAeBT4IPAOjRW4u/3bOE5gVhhrolRsPBWsP/2LquOW2P/xw8D12P8e5AXPdTCuQyjCnAY4CC49R83DUBGDm6yycyQ+5hKDgkRjU8YwI6KA4XmDfkYosg4iiEk03xjEpMdMlwk2eJM8d8deqvMHeGjpeKy0alkJWm3XdU9GoY4GwOsWm3xo4wTAx4AXAz9gGV/4RRPRNtBWSyUqmckvLiKODHfyBpuB9dp/NQKug3Gc7lJzH6U4wyu7F48kDo6gOMmyazcRiIvgpVqPUBWXmnGoGCcBjaFqHDycLrgkwxTDKoXpMVK6NykATPy8+5iAIAFE3a3yrJ2XM1mpc/fcQQIbMddaXcOY02MzQAKC08DbFK6xsHNkGCj9g1rT4y1H1AttfwxiXAvifMftv8SCF9cp3YpcSoRf9leEqr1FqFqeEDPd/sm4K9cVgycGV+KVQJ4YasalblyqEtcSKuJQdzzqxsVLwOMag2uceNqHiSMFSe8Z4acj+XqMEAPxqTv34Hkudx3fTyPsBB0N2+GA/gJ30NWrOdGXWqH76yK8xyozg7S8rEycfWx5wqQv6mg+EI37UIc1PJ1Z/N89ZgR1HdQpF/x6Om60Dyzlqeb4b4gvtFUlwNLUsiuT31XFSMwmaQuXJzGTIPHzCbfChFuh5lYwYvAclwmvQt2tUnE9xAqO4+AZDzcBzLU79jBZnWDf3CG949hDeMYdHwCvW2zx4Y0TWjX8kbW61cJ/jVSmekLXsRNEHSPS8sRO+RkAiFG69D9KyOuw/wLWGKzjoI4ZNHzyrBov1xuKSi4RLSXXK57BEKrty3Fm9wWUzJ56QpwzqBhPXeMEjpiO65i1mlsNZmuTOl2daBkxpycqteiijduP7F841nTFGZohLb19eOMEruA1La/xld+ysHUc548CU9RDtduaoUj6m0wlEnc62SDEYuPRBpmUUny3hf/nU06ZSp4RIuNgXYMas24PYVhX4fpeW19fv3R7VjSIhzcJBulI3L+3HGq0pEpUddzIEXPaiDml2BNrQWfBMUanK/W2wEnXOAutMFw4vtZob6h5bKpP+g8vNVbnG6G9ac+T7Isue7J/fGVZr/zyV9YHgBQEUwZzOuImX/n/Ini6Frb0GfjY2/5NtzdDWw/VAVTcSYupOXmBjiP4FCxgRbDGEDkG6xj0DBdc6hAt17G0X5ItDqwPqCOiItISZE1hMdRoVcBWjetb9FTHhquuOFo3bsuIHHdETrZscLIZBZ0NXp1pt9YwIgsTrrc611lrLgcte/XG8/Wa868Mdtz62Yjf/zPkDTdzrm5jXbU/3DLBcR/qhp0+vClSXmNhVykbSP+lssAG30ZbW5FBjIo7o4jj5AWvjGKDSJTIgSgRvMrZznIqDpsQBEIBX9FGhLYNoq4YX2DBCAuh2lOB2kbVuFTEWTXIcSOcXI38uUhtsMGt6aTjrXjiLHnGrB7qLLcMotdO7bDXb9obPP7Nv7V7P9hBfqHKE+G2rit4y+wEHphVuC6EH7PKSxUuU0kniwxmBE81Om8tooIL7rQBkWHab7FEYomMEpp4GHJkGCn0OF8loUDHog2FjonniLQFFkSYC1TnFO1UxKhBltoanRQIJowbumJOOzBvYWEp6qzVjWu3OPWoZty1rV69fe3Mxf7a8a/rlt9YRt4kfLffzugX3LKxTlWQJSs7Ldyocb7gKcDuCCY03cRa8oLZ0o7C2aBmcOpOzAw9WrdiCSUiEiU01oZG/choOgjQF6QBLFt0CfAdxBqVJQOnVDjpY+cdJKpifIPMOcjpEF1sEDYnxdUZ8YKqOGs7TK29p7IzXAvn9eITj/F/++2sIfx7GyfYAO5q7CBeEcIlFs4zcKWBy5IZCUZgohJpbapdi0Qqq6GJwpAwUOycFXs8NHq07djTBrUGmqFwPBLWqla0otJ0kNMGltqia4FouNV6ep6tBU8Jt4fL0uH81sN877b+2/8Prqk5f/cNbQ4AAABJdEVYdGNvbW1lbnQARmlsZSBzb3VyY2U6IGh0dHA6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9GaWxlOlJ1YnlfbG9nby5wbmfRrEvyAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDEyLTExLTEzVDEyOjQ3OjA2KzAwOjAwhERbHAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMi0xMS0xM1QxMjo0NzowNiswMDowMPUZ46AAAABGdEVYdHNvZnR3YXJlAEltYWdlTWFnaWNrIDYuNi45LTcgMjAxMi0wOC0xNyBRMTYgaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmecvblIAAAAGHRFWHRUaHVtYjo6RG9jdW1lbnQ6OlBhZ2VzADGn/7svAAAAGHRFWHRUaHVtYjo6SW1hZ2U6OmhlaWdodAA5OTYGfuckAAAAF3RFWHRUaHVtYjo6SW1hZ2U6OldpZHRoADk5NUPb5RMAAAAZdEVYdFRodW1iOjpNaW1ldHlwZQBpbWFnZS9wbmc/slZOAAAAF3RFWHRUaHVtYjo6TVRpbWUAMTM1MjgxMDgyNpOSGLMAAAASdEVYdFRodW1iOjpTaXplADE5N0tCQhlJFDQAAAAzdEVYdFRodW1iOjpVUkkAZmlsZTovLy90bXAvbG9jYWxjb3B5X2VlNzBiNTEyMjExNy0xLnBuZ6uX/8EAAAAASUVORK5CYII="}}],"tool_call_id":"call_n8j4CKgsavPH0NIqrH3vOAwT"}],"stream":false,"tools":[{"type":"function","function":{"name":"content_returning","description":"Returns + a Content object with text and attachments","parameters":{"type":"object","properties":{"query":{"type":"string","description":"Query + to process"}},"required":["query"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1274' + Content-Type: + - application/json; charset=utf-8 + Request-Id: + - "" + Apim-Request-Id: + - 6aab2b85-b570-47d5-b225-f65fa1576267 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '214' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '245855' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d383-20251208202056 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + Api-Supported-Versions: + - '1' + X-Envoy-Upstream-Service-Time: + - '620' + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:34 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"Processed: + test data","refusal":null,"role":"assistant"}}],"created":1765573655,"id":"chatcmpl-Cm4eNuIodJ8H2iUsu8TDW8myertyC","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":1,"content_filter_result":{"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"},"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"custom_blocklists":{"filtered":false,"details":[]}}},{"prompt_index":0,"content_filter_result":{}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":6,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":87,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":93}}' + recorded_at: Fri, 12 Dec 2025 21:07:35 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_error_handling_with_azure_openai_gpt-4_1_raises_appropriate_auth_error.yml b/spec/fixtures/vcr_cassettes/chat_error_handling_with_azure_openai_gpt-4_1_raises_appropriate_auth_error.yml new file mode 100644 index 000000000..e18ea6805 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_error_handling_with_azure_openai_gpt-4_1_raises_appropriate_auth_error.yml @@ -0,0 +1,39 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Hello"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer invalid-key + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 401 + message: PermissionDenied + headers: + Content-Length: + - '224' + Content-Type: + - application/json + Apim-Request-Id: + - 15bf0b18-c65b-455b-9a67-8a351da9a159 + Date: + - Fri, 12 Dec 2025 21:08:24 GMT + body: + encoding: UTF-8 + string: '{"error":{"code":"401","message":"Access denied due to invalid subscription + key or wrong API endpoint. Make sure to provide a valid key for an active + subscription and use a correct regional API endpoint for your resource."}}' + recorded_at: Fri, 12 Dec 2025 21:08:24 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_handle_multiple_tool_calls_in_a_single_response.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_handle_multiple_tool_calls_in_a_single_response.yml new file mode 100644 index 000000000..a1fd79e58 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_handle_multiple_tool_calls_in_a_single_response.yml @@ -0,0 +1,139 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"developer","content":"You must + call the dice_roll tool exactly 3 times when asked to roll dice 3 times."},{"role":"user","content":"Roll + the dice 3 times"}],"stream":false,"tools":[{"type":"function","function":{"name":"dice_roll","description":"Rolls + a single six-sided die and returns the result","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1239' + Content-Type: + - application/json + Apim-Request-Id: + - f70c746a-3110-4d3c-84a1-c4ecf6426f50 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '220' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '247480' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d106-20251206232339 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:30 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{}","name":"dice_roll"},"id":"call_mfS7PurzDIXe4Ddw696gK83b","type":"function"},{"function":{"arguments":"{}","name":"dice_roll"},"id":"call_4ImvTrvcTpoeQRaRrLCA1Z9y","type":"function"},{"function":{"arguments":"{}","name":"dice_roll"},"id":"call_jXo428S0j9VG25XY9S2s3DBF","type":"function"}]}}],"created":1765573650,"id":"chatcmpl-Cm4eI38t9hXpWCWVuSrbntNjiXwF7","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":54,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":68,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":122}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:30 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"developer","content":"You must + call the dice_roll tool exactly 3 times when asked to roll dice 3 times."},{"role":"user","content":"Roll + the dice 3 times"},{"role":"assistant","tool_calls":[{"id":"call_mfS7PurzDIXe4Ddw696gK83b","type":"function","function":{"name":"dice_roll","arguments":"{}"}},{"id":"call_4ImvTrvcTpoeQRaRrLCA1Z9y","type":"function","function":{"name":"dice_roll","arguments":"{}"}},{"id":"call_jXo428S0j9VG25XY9S2s3DBF","type":"function","function":{"name":"dice_roll","arguments":"{}"}}]},{"role":"tool","content":"{roll: + 1}","tool_call_id":"call_mfS7PurzDIXe4Ddw696gK83b"},{"role":"tool","content":"{roll: + 2}","tool_call_id":"call_4ImvTrvcTpoeQRaRrLCA1Z9y"},{"role":"tool","content":"{roll: + 3}","tool_call_id":"call_jXo428S0j9VG25XY9S2s3DBF"}],"stream":false,"tools":[{"type":"function","function":{"name":"dice_roll","description":"Rolls + a single six-sided die and returns the result","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1373' + Content-Type: + - application/json + Apim-Request-Id: + - 2334706b-c1f5-41c3-98e1-af01e397f573 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '219' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '247387' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d106-20251206232339 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:30 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"Here + are the results of the three dice rolls:\n1. First roll: 1\n2. Second roll: + 2\n3. Third roll: 3\n\nLet me know if you want to roll again or need anything + else!","refusal":null,"role":"assistant"}}],"created":1765573650,"id":"chatcmpl-Cm4eIELi3ZLuFWVxBzMQKokMUWNm4","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":50,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":151,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":201}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:31 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_parallel_tool_calls.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_parallel_tool_calls.yml new file mode 100644 index 000000000..3df7c4442 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_parallel_tool_calls.yml @@ -0,0 +1,138 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin (52.5200, 13.4050) and what''s the best language to learn?"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}},{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1198' + Content-Type: + - application/json + Apim-Request-Id: + - 8c45c6c0-1979-4a50-b207-276b785a993e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '235' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249255' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251208212016-db36931d20364572 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:19 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"latitude\": + \"52.5200\", \"longitude\": \"13.4050\"}","name":"weather"},"id":"call_6mIiYzON9bwXi2t4jMdzO4UT","type":"function"},{"function":{"arguments":"{}","name":"best_language_to_learn"},"id":"call_YiuNSnGb76lPAjV6Xtt6IODO","type":"function"}]}}],"created":1765573639,"id":"chatcmpl-Cm4e74EtCoBPUdIVLDGQ2mrP3dvVd","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":55,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":113,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":168}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:20 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin (52.5200, 13.4050) and what''s the best language to learn?"},{"role":"assistant","tool_calls":[{"id":"call_6mIiYzON9bwXi2t4jMdzO4UT","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}},{"id":"call_YiuNSnGb76lPAjV6Xtt6IODO","type":"function","function":{"name":"best_language_to_learn","arguments":"{}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_6mIiYzON9bwXi2t4jMdzO4UT"},{"role":"tool","content":"Ruby","tool_call_id":"call_YiuNSnGb76lPAjV6Xtt6IODO"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}},{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1355' + Content-Type: + - application/json + Apim-Request-Id: + - f6932f4e-e7bf-4ee9-b3e2-4b1677cdf5ee + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '234' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249069' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251208212016-db36931d20364572 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:20 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwicHJvdGVjdGVkX21hdGVyaWFsX2NvZGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJwcm90ZWN0ZWRfbWF0ZXJpYWxfdGV4dCI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImZpbmlzaF9yZWFzb24iOiJzdG9wIiwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsLCJtZXNzYWdlIjp7ImFubm90YXRpb25zIjpbXSwiY29udGVudCI6IlRoZSBjdXJyZW50IHdlYXRoZXIgaW4gQmVybGluICg1Mi41MjAwLCAxMy40MDUwKSBpcyAxNcKwQyB3aXRoIGEgd2luZCBzcGVlZCBvZiAxMCBrbS9oLlxuXG5BcyBmb3IgdGhlIGJlc3QgbGFuZ3VhZ2UgdG8gbGVhcm4sIFJ1YnkgaXMgcmVjb21tZW5kZWQuIiwicmVmdXNhbCI6bnVsbCwicm9sZSI6ImFzc2lzdGFudCJ9fV0sImNyZWF0ZWQiOjE3NjU1NzM2NDAsImlkIjoiY2hhdGNtcGwtQ200ZTg3emFnd2pCV1dWNkdoZVk4Z2hVZGxEeHoiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbiIsInByb21wdF9maWx0ZXJfcmVzdWx0cyI6W3sicHJvbXB0X2luZGV4IjowLCJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwiamFpbGJyZWFrIjp7ImZpbHRlcmVkIjpmYWxzZSwiZGV0ZWN0ZWQiOmZhbHNlfSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOnsiY29tcGxldGlvbl90b2tlbnMiOjQ1LCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJhdWRpb190b2tlbnMiOjAsInJlYXNvbmluZ190b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwicHJvbXB0X3Rva2VucyI6MjExLCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsiYXVkaW9fdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjoyNTZ9fQo= + recorded_at: Fri, 12 Dec 2025 21:07:21 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools.yml new file mode 100644 index 000000000..488b58a58 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools.yml @@ -0,0 +1,135 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1075' + Content-Type: + - application/json + Apim-Request-Id: + - af062290-25c0-4a5a-9c3d-65b05b89021e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '237' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249545' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:18 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}","name":"weather"},"id":"call_9UoZF6vhnkMVIZbM7lBtmZwW","type":"function"}]}}],"created":1765573638,"id":"chatcmpl-Cm4e61tVNri4AiwgsXCBi5km38LzV","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":24,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":88,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":112}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:18 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_9UoZF6vhnkMVIZbM7lBtmZwW","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_9UoZF6vhnkMVIZbM7lBtmZwW"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1296' + Content-Type: + - application/json + Apim-Request-Id: + - 1d58c836-f4da-43b9-af21-47926732052f + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '236' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249424' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:18 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwicHJvdGVjdGVkX21hdGVyaWFsX2NvZGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJwcm90ZWN0ZWRfbWF0ZXJpYWxfdGV4dCI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImZpbmlzaF9yZWFzb24iOiJzdG9wIiwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsLCJtZXNzYWdlIjp7ImFubm90YXRpb25zIjpbXSwiY29udGVudCI6IlRoZSBjdXJyZW50IHdlYXRoZXIgaW4gQmVybGluICg1Mi41MjAwLCAxMy40MDUwKSBpcyAxNcKwQyB3aXRoIGEgd2luZCBzcGVlZCBvZiAxMCBrbS9oLiIsInJlZnVzYWwiOm51bGwsInJvbGUiOiJhc3Npc3RhbnQifX1dLCJjcmVhdGVkIjoxNzY1NTczNjM5LCJpZCI6ImNoYXRjbXBsLUNtNGU3YXhHRU9OS0JoVk1YZXhFaW03SE1vTlBHIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJwcm9tcHRfZmlsdGVyX3Jlc3VsdHMiOlt7InByb21wdF9pbmRleCI6MCwiY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sImphaWxicmVhayI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjp7ImNvbXBsZXRpb25fdG9rZW5zIjozMywiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwiYXVkaW9fdG9rZW5zIjowLCJyZWFzb25pbmdfdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sInByb21wdF90b2tlbnMiOjE0MywicHJvbXB0X3Rva2Vuc19kZXRhaWxzIjp7ImF1ZGlvX3Rva2VucyI6MCwiY2FjaGVkX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6MTc2fX0K + recorded_at: Fri, 12 Dec 2025 21:07:19 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_in_multi-turn_conversations.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_in_multi-turn_conversations.yml new file mode 100644 index 000000000..0fc30e37b --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_in_multi-turn_conversations.yml @@ -0,0 +1,275 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1075' + Content-Type: + - application/json + Apim-Request-Id: + - f739e65a-f440-4aa5-9f41-b8ef97f0d641 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '233' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248963' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:21 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}","name":"weather"},"id":"call_F9rb2Y0b8JRFVXs772X21CKT","type":"function"}]}}],"created":1765573641,"id":"chatcmpl-Cm4e9J8opETTnJfJu53AVsF7JqDoH","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":24,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":88,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":112}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:21 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_F9rb2Y0b8JRFVXs772X21CKT","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_F9rb2Y0b8JRFVXs772X21CKT"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1295' + Content-Type: + - application/json + Apim-Request-Id: + - 24da5e61-8092-48bd-a716-21730e73b554 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '232' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248842' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:21 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwicHJvdGVjdGVkX21hdGVyaWFsX2NvZGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJwcm90ZWN0ZWRfbWF0ZXJpYWxfdGV4dCI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImZpbmlzaF9yZWFzb24iOiJzdG9wIiwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsLCJtZXNzYWdlIjp7ImFubm90YXRpb25zIjpbXSwiY29udGVudCI6IlRoZSBjdXJyZW50IHdlYXRoZXIgaW4gQmVybGluICg1Mi41MjAwLCAxMy40MDUwKSBpcyAxNcKwQyB3aXRoIHdpbmQgc3BlZWRzIG9mIDEwIGttL2guIiwicmVmdXNhbCI6bnVsbCwicm9sZSI6ImFzc2lzdGFudCJ9fV0sImNyZWF0ZWQiOjE3NjU1NzM2NDIsImlkIjoiY2hhdGNtcGwtQ200ZUFqR2xFR2NKcVRXU3RieWFzNjRHRHFWdm4iLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbiIsInByb21wdF9maWx0ZXJfcmVzdWx0cyI6W3sicHJvbXB0X2luZGV4IjowLCJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwiamFpbGJyZWFrIjp7ImZpbHRlcmVkIjpmYWxzZSwiZGV0ZWN0ZWQiOmZhbHNlfSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fX1dLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOnsiY29tcGxldGlvbl90b2tlbnMiOjMyLCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJhdWRpb190b2tlbnMiOjAsInJlYXNvbmluZ190b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwicHJvbXB0X3Rva2VucyI6MTQzLCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsiYXVkaW9fdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjoxNzV9fQo= + recorded_at: Fri, 12 Dec 2025 21:07:22 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_F9rb2Y0b8JRFVXs772X21CKT","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_F9rb2Y0b8JRFVXs772X21CKT"},{"role":"assistant","content":"The + current weather in Berlin (52.5200, 13.4050) is 15°C with wind speeds of 10 + km/h."},{"role":"user","content":"What''s the weather in Paris? (48.8575, + 2.3514)"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1075' + Content-Type: + - application/json + Apim-Request-Id: + - 12ac01ec-560d-4ab4-a3a7-d5e145015cb8 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '231' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248687' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:22 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}","name":"weather"},"id":"call_LpIN3RSNSFbCee2MRCMytc6u","type":"function"}]}}],"created":1765573642,"id":"chatcmpl-Cm4eAJpYd8GE9CjYYOnAEqRHYRHAW","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":24,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":199,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":223}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:23 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_F9rb2Y0b8JRFVXs772X21CKT","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_F9rb2Y0b8JRFVXs772X21CKT"},{"role":"assistant","content":"The + current weather in Berlin (52.5200, 13.4050) is 15°C with wind speeds of 10 + km/h."},{"role":"user","content":"What''s the weather in Paris? (48.8575, + 2.3514)"},{"role":"assistant","tool_calls":[{"id":"call_LpIN3RSNSFbCee2MRCMytc6u","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_LpIN3RSNSFbCee2MRCMytc6u"}],"stream":false,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1293' + Content-Type: + - application/json + Apim-Request-Id: + - 8ad52102-2809-4ea9-a638-6796e9fe3f8c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '230' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248518' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:23 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwicHJvdGVjdGVkX21hdGVyaWFsX2NvZGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJwcm90ZWN0ZWRfbWF0ZXJpYWxfdGV4dCI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImZpbmlzaF9yZWFzb24iOiJzdG9wIiwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsLCJtZXNzYWdlIjp7ImFubm90YXRpb25zIjpbXSwiY29udGVudCI6IlRoZSBjdXJyZW50IHdlYXRoZXIgaW4gUGFyaXMgKDQ4Ljg1NzUsIDIuMzUxNCkgaXMgMTXCsEMgd2l0aCB3aW5kIHNwZWVkcyBvZiAxMCBrbS9oLiIsInJlZnVzYWwiOm51bGwsInJvbGUiOiJhc3Npc3RhbnQifX1dLCJjcmVhdGVkIjoxNzY1NTczNjQzLCJpZCI6ImNoYXRjbXBsLUNtNGVCUGM5NURXS01kTUhGSkhNUHIweGZoOEpHIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24iLCJwcm9tcHRfZmlsdGVyX3Jlc3VsdHMiOlt7InByb21wdF9pbmRleCI6MCwiY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sImphaWxicmVhayI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX19XSwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjp7ImNvbXBsZXRpb25fdG9rZW5zIjozMiwiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6eyJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6MCwiYXVkaW9fdG9rZW5zIjowLCJyZWFzb25pbmdfdG9rZW5zIjowLCJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6MH0sInByb21wdF90b2tlbnMiOjI1NCwicHJvbXB0X3Rva2Vuc19kZXRhaWxzIjp7ImF1ZGlvX3Rva2VucyI6MCwiY2FjaGVkX3Rva2VucyI6MH0sInRvdGFsX3Rva2VucyI6Mjg2fX0K + recorded_at: Fri, 12 Dec 2025 21:07:23 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_with_multi-turn_streaming_conversations.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_with_multi-turn_streaming_conversations.yml new file mode 100644 index 000000000..c52920add --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_with_multi-turn_streaming_conversations.yml @@ -0,0 +1,351 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - 12b3e365-ec6a-4528-bf37-3a32a0b99790 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '224' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248009' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:27 GMT + body: + encoding: UTF-8 + string: |+ + data: {"choices":[],"created":0,"id":"","model":"","object":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}]} + + data: {"choices":[{"content_filter_results":{},"delta":{"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"","name":"weather"},"id":"call_sMtK8n27Us4SGPwHCMpYJhYu","index":0,"type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"Ovxzg","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"{\""},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"pxPcia6Z667","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"latitude"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"jMMqIA","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"\":\""},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"8kQWSFNS9","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"52"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"nW7ynVwHzQ8n","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"."},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"G9Kkf8JsMCbAO","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"520"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"tb4ZKJ5Xl9L","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"0"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"t4sy05lXNYHao","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"\",\""},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"OwhviIpdq","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"longitude"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"IteSH","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"\":\""},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"S6znSvwFq","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"13"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"KlnasK7sILqp","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"."},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"3FOjxdJ5wa4ne","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"405"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"UjGVXkwz8tV","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"0"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"G43veL33vWt1P","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"\"}"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"g5hgjfOUxkF","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{},"finish_reason":"tool_calls","index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"CS09yf97crWm","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[],"created":1765573647,"id":"chatcmpl-Cm4eFWbFaDyFTs73MfrRVvMJ79RHG","model":"gpt-4.1-2025-04-14","obfuscation":"G11u1B","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":24,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":88,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":112}} + + data: [DONE] + + recorded_at: Fri, 12 Dec 2025 21:07:28 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_sMtK8n27Us4SGPwHCMpYJhYu","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_sMtK8n27Us4SGPwHCMpYJhYu"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - 8343d3bb-02b7-4fb8-878c-eadd7b25f55b + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '223' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '247888' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:27 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + ZGF0YTogeyJjaG9pY2VzIjpbXSwiY3JlYXRlZCI6MCwiaWQiOiIiLCJtb2RlbCI6IiIsIm9iamVjdCI6IiIsInByb21wdF9maWx0ZXJfcmVzdWx0cyI6W3sicHJvbXB0X2luZGV4IjowLCJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwiamFpbGJyZWFrIjp7ImZpbHRlcmVkIjpmYWxzZSwiZGV0ZWN0ZWQiOmZhbHNlfSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fX1dfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7fSwiZGVsdGEiOnsiY29udGVudCI6IiIsInJlZnVzYWwiOm51bGwsInJvbGUiOiJhc3Npc3RhbnQifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoicmdYNVN1Iiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IlRoZSJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OCwiaWQiOiJjaGF0Y21wbC1DbTRlRzdrSU5iZ0hiOXBJb0p2SVlKWW9ockVHWSIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiI1TklvUiIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIgY3VycmVudCJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OCwiaWQiOiJjaGF0Y21wbC1DbTRlRzdrSU5iZ0hiOXBJb0p2SVlKWW9ockVHWSIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiIiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiIHdlYXRoZXIifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IiBpbiJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OCwiaWQiOiJjaGF0Y21wbC1DbTRlRzdrSU5iZ0hiOXBJb0p2SVlKWW9ockVHWSIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJCZGJ6eiIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIgQmVybGluIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IjYiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiICgifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiNnhoZDF4Iiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjUyIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6Ino1UVozdyIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIuIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IkQ5b3BVRWUiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiNTIwIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IkwzVFNwIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjAifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiak8wajlVQSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIsIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6Ilo5TlVzTEoiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiICJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OCwiaWQiOiJjaGF0Y21wbC1DbTRlRzdrSU5iZ0hiOXBJb0p2SVlKWW9ockVHWSIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJSNVI1WGRPIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjEzIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6ImVab2x2MCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIuIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6InZ5dUVMa08iLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiNDA1In0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IkNCS3JVIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjAifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoicXhKcjJFViIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIpIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6InNXVlFMVXgiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiIGlzIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IlRvRUlQIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IiAifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiaHZSZlBKVyIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIxNSJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OCwiaWQiOiJjaGF0Y21wbC1DbTRlRzdrSU5iZ0hiOXBJb0p2SVlKWW9ockVHWSIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJ3RjJ2dTIiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiwrBDIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IjRFMWV5cyIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIgd2l0aCJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OCwiaWQiOiJjaGF0Y21wbC1DbTRlRzdrSU5iZ0hiOXBJb0p2SVlKWW9ockVHWSIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJ6cXgiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiIHdpbmQifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiOUdFIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IiBzcGVlZHMifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoicyIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIgb2YifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoienZuTHoiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiICJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OCwiaWQiOiJjaGF0Y21wbC1DbTRlRzdrSU5iZ0hiOXBJb0p2SVlKWW9ockVHWSIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJMYmFIbTdZIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjEwIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ4LCJpZCI6ImNoYXRjbXBsLUNtNGVHN2tJTmJnSGI5cElvSnZJWUpZb2hyRUdZIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6ImlMYTdNSiIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIga20ifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoieEdNNVQiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiL2gifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiNTR3SDJiIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6Ii4ifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiV2JiYldaTiIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6e30sImRlbHRhIjp7fSwiZmluaXNoX3JlYXNvbiI6InN0b3AiLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OCwiaWQiOiJjaGF0Y21wbC1DbTRlRzdrSU5iZ0hiOXBJb0p2SVlKWW9ockVHWSIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJXaCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W10sImNyZWF0ZWQiOjE3NjU1NzM2NDgsImlkIjoiY2hhdGNtcGwtQ200ZUc3a0lOYmdIYjlwSW9KdklZSllvaHJFR1kiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiUTN3bUUiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOnsiY29tcGxldGlvbl90b2tlbnMiOjMyLCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJhdWRpb190b2tlbnMiOjAsInJlYXNvbmluZ190b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwicHJvbXB0X3Rva2VucyI6MTQzLCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsiYXVkaW9fdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjoxNzV9fQoKZGF0YTogW0RPTkVdCgo= + recorded_at: Fri, 12 Dec 2025 21:07:28 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_sMtK8n27Us4SGPwHCMpYJhYu","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_sMtK8n27Us4SGPwHCMpYJhYu"},{"role":"assistant","content":"The + current weather in Berlin (52.5200, 13.4050) is 15°C with wind speeds of 10 + km/h."},{"role":"user","content":"What''s the weather in Paris? (48.8575, + 2.3514)"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - a5977bce-cbc1-4bef-a48c-4599c9329b3a + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '222' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '247733' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:28 GMT + body: + encoding: UTF-8 + string: |+ + data: {"choices":[],"created":0,"id":"","model":"","object":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}]} + + data: {"choices":[{"content_filter_results":{},"delta":{"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"","name":"weather"},"id":"call_nDWYhNrZP3GkI9JPRFjatPPb","index":0,"type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"3fWX6","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"{\""},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"RDgQBltVaZ2","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"latitude"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"EiuLbV","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"\":\""},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"Usl21a1PG","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"48"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"dIZiuG1dVsjG","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"."},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"OB53Zym03dg6r","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"857"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"y0ZpGxI9liE","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"5"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"cp7l6esCXpFoE","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"\",\""},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"aY33Q67OX","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"longitude"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"epIt8","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"\":\""},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"9xeToRf2y","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"2"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"KyzY0CQ8rdGrm","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"."},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"Pxz8EZy9Zk35r","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"351"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"kpNsmK1CFXX","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"4"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"I5DLhnK0hetyt","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"\"}"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"memZLMAb8WT","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{},"finish_reason":"tool_calls","index":0,"logprobs":null}],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"L6ONJVaxiqMf","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[],"created":1765573648,"id":"chatcmpl-Cm4eGcFYfDBkxlY1Ul5daBTipoaMb","model":"gpt-4.1-2025-04-14","obfuscation":"SPSdw","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":24,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":199,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":223}} + + data: [DONE] + + recorded_at: Fri, 12 Dec 2025 21:07:29 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + weather in Berlin? (52.5200, 13.4050)"},{"role":"assistant","tool_calls":[{"id":"call_sMtK8n27Us4SGPwHCMpYJhYu","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"52.5200\",\"longitude\":\"13.4050\"}"}}]},{"role":"tool","content":"Current + weather at 52.5200, 13.4050: 15°C, Wind: 10 km/h","tool_call_id":"call_sMtK8n27Us4SGPwHCMpYJhYu"},{"role":"assistant","content":"The + current weather in Berlin (52.5200, 13.4050) is 15°C with wind speeds of 10 + km/h."},{"role":"user","content":"What''s the weather in Paris? (48.8575, + 2.3514)"},{"role":"assistant","tool_calls":[{"id":"call_nDWYhNrZP3GkI9JPRFjatPPb","type":"function","function":{"name":"weather","arguments":"{\"latitude\":\"48.8575\",\"longitude\":\"2.3514\"}"}}]},{"role":"tool","content":"Current + weather at 48.8575, 2.3514: 15°C, Wind: 10 km/h","tool_call_id":"call_nDWYhNrZP3GkI9JPRFjatPPb"}],"stream":true,"tools":[{"type":"function","function":{"name":"weather","description":"Gets + current weather for a location","parameters":{"type":"object","properties":{"latitude":{"type":"string","description":"Latitude + (e.g., 52.5200)"},"longitude":{"type":"string","description":"Longitude (e.g., + 13.4050)"}},"required":["latitude","longitude"],"additionalProperties":false,"strict":true}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - 93931ecd-18e0-4947-b486-780383cc35e1 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '221' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '247564' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206040712-22ad7051d05d4290 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:28 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + ZGF0YTogeyJjaG9pY2VzIjpbXSwiY3JlYXRlZCI6MCwiaWQiOiIiLCJtb2RlbCI6IiIsIm9iamVjdCI6IiIsInByb21wdF9maWx0ZXJfcmVzdWx0cyI6W3sicHJvbXB0X2luZGV4IjowLCJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwiamFpbGJyZWFrIjp7ImZpbHRlcmVkIjpmYWxzZSwiZGV0ZWN0ZWQiOmZhbHNlfSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fX1dfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7fSwiZGVsdGEiOnsiY29udGVudCI6IiIsInJlZnVzYWwiOm51bGwsInJvbGUiOiJhc3Npc3RhbnQifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiQ3JGOEVEIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IlRoZSJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OSwiaWQiOiJjaGF0Y21wbC1DbTRlSEtUVGFNb2psZU5HeFZDenJPRGhxR2N0TCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJETzhQTCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIgY3VycmVudCJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OSwiaWQiOiJjaGF0Y21wbC1DbTRlSEtUVGFNb2psZU5HeFZDenJPRGhxR2N0TCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiIiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiIHdlYXRoZXIifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IiBpbiJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OSwiaWQiOiJjaGF0Y21wbC1DbTRlSEtUVGFNb2psZU5HeFZDenJPRGhxR2N0TCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJaZGxWUSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIgUGFyaXMifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoidloiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiICgifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiQ2dPeGF2Iiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjQ4In0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6ImVLSnp1VSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIuIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6ImtoTXVQS20iLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiODU3In0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6InVGRzl2Iiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjUifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiWDR6N0JsbCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIsIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6Ikk4MTBUY1ciLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiICJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OSwiaWQiOiJjaGF0Y21wbC1DbTRlSEtUVGFNb2psZU5HeFZDenJPRGhxR2N0TCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJYYWQyWkhNIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjIifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiSk5HOEpoYiIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIuIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IjltdndNWEkiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiMzUxIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IkZ3bHVpIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjQifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiN2xKUTlBaiIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIpIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IlM5MmtJR00iLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiIGlzIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IkVtZkg5Iiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IiAifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiOFJoVVZlQyIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIxNSJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OSwiaWQiOiJjaGF0Y21wbC1DbTRlSEtUVGFNb2psZU5HeFZDenJPRGhxR2N0TCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJvenRFVnoiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiwrBDIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IkRVbDJweCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIgd2l0aCJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OSwiaWQiOiJjaGF0Y21wbC1DbTRlSEtUVGFNb2psZU5HeFZDenJPRGhxR2N0TCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJkdFUiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiIHdpbmQifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoicGJVIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IiBzcGVlZHMifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoidSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIgb2YifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiWVRZSUIiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiICJ9LCJmaW5pc2hfcmVhc29uIjpudWxsLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OSwiaWQiOiJjaGF0Y21wbC1DbTRlSEtUVGFNb2psZU5HeFZDenJPRGhxR2N0TCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJqSW5zdGY2Iiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6IjEwIn0sImZpbmlzaF9yZWFzb24iOm51bGwsImluZGV4IjowLCJsb2dwcm9icyI6bnVsbH1dLCJjcmVhdGVkIjoxNzY1NTczNjQ5LCJpZCI6ImNoYXRjbXBsLUNtNGVIS1RUYU1vamxlTkd4VkN6ck9EaHFHY3RMIiwibW9kZWwiOiJncHQtNC4xLTIwMjUtMDQtMTQiLCJvYmZ1c2NhdGlvbiI6IjdlWEJHdCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6eyJoYXRlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImRlbHRhIjp7ImNvbnRlbnQiOiIga20ifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiWjBaaFoiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOm51bGx9CgpkYXRhOiB7ImNob2ljZXMiOlt7ImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19LCJkZWx0YSI6eyJjb250ZW50IjoiL2gifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiaHZ0eElOIiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uLmNodW5rIiwic3lzdGVtX2ZpbmdlcnByaW50IjoiZnBfZjk5NjM4YThkNyIsInVzYWdlIjpudWxsfQoKZGF0YTogeyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2VsZl9oYXJtIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInNleHVhbCI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJ2aW9sZW5jZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9fSwiZGVsdGEiOnsiY29udGVudCI6Ii4ifSwiZmluaXNoX3JlYXNvbiI6bnVsbCwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsfV0sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiQUlVYmJQNCIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W3siY29udGVudF9maWx0ZXJfcmVzdWx0cyI6e30sImRlbHRhIjp7fSwiZmluaXNoX3JlYXNvbiI6InN0b3AiLCJpbmRleCI6MCwibG9ncHJvYnMiOm51bGx9XSwiY3JlYXRlZCI6MTc2NTU3MzY0OSwiaWQiOiJjaGF0Y21wbC1DbTRlSEtUVGFNb2psZU5HeFZDenJPRGhxR2N0TCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JmdXNjYXRpb24iOiJJeSIsIm9iamVjdCI6ImNoYXQuY29tcGxldGlvbi5jaHVuayIsInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6bnVsbH0KCmRhdGE6IHsiY2hvaWNlcyI6W10sImNyZWF0ZWQiOjE3NjU1NzM2NDksImlkIjoiY2hhdGNtcGwtQ200ZUhLVFRhTW9qbGVOR3hWQ3pyT0RocUdjdEwiLCJtb2RlbCI6ImdwdC00LjEtMjAyNS0wNC0xNCIsIm9iZnVzY2F0aW9uIjoiUFNzUVAiLCJvYmplY3QiOiJjaGF0LmNvbXBsZXRpb24uY2h1bmsiLCJzeXN0ZW1fZmluZ2VycHJpbnQiOiJmcF9mOTk2MzhhOGQ3IiwidXNhZ2UiOnsiY29tcGxldGlvbl90b2tlbnMiOjMyLCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJhdWRpb190b2tlbnMiOjAsInJlYXNvbmluZ190b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwicHJvbXB0X3Rva2VucyI6MjU0LCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsiYXVkaW9fdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjoyODZ9fQoKZGF0YTogW0RPTkVdCgo= + recorded_at: Fri, 12 Dec 2025 21:07:29 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_without_parameters.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_without_parameters.yml new file mode 100644 index 000000000..313623a31 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_without_parameters.yml @@ -0,0 +1,133 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + best language to learn?"}],"stream":false,"tools":[{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1039' + Content-Type: + - application/json + Apim-Request-Id: + - 3d68c2fa-863d-4b21-8b3e-08708f914144 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '229' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248454' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:24 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{}","name":"best_language_to_learn"},"id":"call_4gniiLsA2BAW8R8qMo8xrkAB","type":"function"}]}}],"created":1765573644,"id":"chatcmpl-Cm4eC5hoxJajwIrPfF5sSsEH4vuT0","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":14,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":48,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":62}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:24 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"What''s the + best language to learn?"},{"role":"assistant","tool_calls":[{"id":"call_4gniiLsA2BAW8R8qMo8xrkAB","type":"function","function":{"name":"best_language_to_learn","arguments":"{}"}}]},{"role":"tool","content":"Ruby","tool_call_id":"call_4gniiLsA2BAW8R8qMo8xrkAB"}],"stream":false,"tools":[{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1340' + Content-Type: + - application/json + Apim-Request-Id: + - b28b9e64-c83e-47a4-9d62-92ce9b5a1a67 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '228' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248388' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251212130607-e4a7c7b7fff6429d + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:25 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The + best language to learn right now is Ruby. Would you like to know why Ruby + is recommended or how it can be useful for your goals?","refusal":null,"role":"assistant"}}],"created":1765573644,"id":"chatcmpl-Cm4eCXCBzjNVFta0Oxauk2mfMPL9L","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":31,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":73,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":104}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:25 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_without_parameters_in_multi-turn_streaming_conversations.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_without_parameters_in_multi-turn_streaming_conversations.yml new file mode 100644 index 000000000..dcc5018be --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_can_use_tools_without_parameters_in_multi-turn_streaming_conversations.yml @@ -0,0 +1,344 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"developer","content":"You must + use tools whenever possible."},{"role":"user","content":"What''s the best + language to learn?"}],"stream":true,"tools":[{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - 9019651f-db5a-4efb-93a2-d058b589236b + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '227' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248314' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206055723-e152ca5a5022404f + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:26 GMT + body: + encoding: UTF-8 + string: |+ + data: {"choices":[],"created":0,"id":"","model":"","object":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}]} + + data: {"choices":[{"content_filter_results":{},"delta":{"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"","name":"best_language_to_learn"},"id":"call_J0r93mLrfO5aKXfFUn48RjSl","index":0,"type":"function"}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEBd05cUNIVnRLL8hBUYhzDuat","model":"gpt-4.1-2025-04-14","obfuscation":"ahGGZp","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{"tool_calls":[{"function":{"arguments":"{}"},"index":0}]},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEBd05cUNIVnRLL8hBUYhzDuat","model":"gpt-4.1-2025-04-14","obfuscation":"Xo3o2absp5ls","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{},"finish_reason":"tool_calls","index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEBd05cUNIVnRLL8hBUYhzDuat","model":"gpt-4.1-2025-04-14","obfuscation":"SE0HfIK2pHSc","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[],"created":1765573646,"id":"chatcmpl-Cm4eEBd05cUNIVnRLL8hBUYhzDuat","model":"gpt-4.1-2025-04-14","obfuscation":"tttn294","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":14,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":55,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":69}} + + data: [DONE] + + recorded_at: Fri, 12 Dec 2025 21:07:26 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"developer","content":"You must + use tools whenever possible."},{"role":"user","content":"What''s the best + language to learn?"},{"role":"assistant","tool_calls":[{"id":"call_J0r93mLrfO5aKXfFUn48RjSl","type":"function","function":{"name":"best_language_to_learn","arguments":"{}"}}]},{"role":"tool","content":"Ruby","tool_call_id":"call_J0r93mLrfO5aKXfFUn48RjSl"}],"stream":true,"tools":[{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - 8439eb8b-cb5c-485d-99fb-bef481418b63 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '226' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248238' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206055723-e152ca5a5022404f + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:25 GMT + body: + encoding: UTF-8 + string: |+ + data: {"choices":[],"created":0,"id":"","model":"","object":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}]} + + data: {"choices":[{"content_filter_results":{},"delta":{"content":"","refusal":null,"role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"uQjhwf","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"The"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"sieoU","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" best"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"2SH","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" language"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"iTPLzzunvEB71fB","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" to"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"3K8KE","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" learn"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"sU","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" right"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"1P","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" now"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"0OyE","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" is"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"mXIiV","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" Ruby"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"or7","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"."},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"LAD3ora","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" If"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"g3eFY","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" you"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"PiBt","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" have"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"pl4","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" any"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"f3ub","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" specific"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"OFQh2uM34aMQmwa","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" goals"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"v4","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" or"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"4ZjTK","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" interests"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"WCqVdVwquBnYV1","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":","},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"xP2zICq","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" I"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"0Fsqtr","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" can"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"64Cl","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" help"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"IrG","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" tailor"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"x","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" recommendations"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"TuJqzWgU","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" further"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"!"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"IgFzTY5","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{},"finish_reason":"stop","index":0,"logprobs":null}],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"9B","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[],"created":1765573646,"id":"chatcmpl-Cm4eEgYlesbs9Gmwevvwsd9moDw0C","model":"gpt-4.1-2025-04-14","obfuscation":"7KRCpx","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":28,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":80,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":108}} + + data: [DONE] + + recorded_at: Fri, 12 Dec 2025 21:07:26 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"developer","content":"You must + use tools whenever possible."},{"role":"user","content":"What''s the best + language to learn?"},{"role":"assistant","tool_calls":[{"id":"call_J0r93mLrfO5aKXfFUn48RjSl","type":"function","function":{"name":"best_language_to_learn","arguments":"{}"}}]},{"role":"tool","content":"Ruby","tool_call_id":"call_J0r93mLrfO5aKXfFUn48RjSl"},{"role":"assistant","content":"The + best language to learn right now is Ruby. If you have any specific goals or + interests, I can help tailor recommendations further!"},{"role":"user","content":"Tell + me again: what''s the best language to learn?"}],"stream":true,"tools":[{"type":"function","function":{"name":"best_language_to_learn","description":"Gets + the best language to learn","parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false,"strict":true}}}],"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - 4f884e2a-49d2-4d10-ae5f-35251b03845a + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '225' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '248115' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251206055723-e152ca5a5022404f + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:26 GMT + body: + encoding: UTF-8 + string: |+ + data: {"choices":[],"created":0,"id":"","model":"","object":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}]} + + data: {"choices":[{"content_filter_results":{},"delta":{"content":"","refusal":null,"role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"vJv7ak","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"The"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"ccP29","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" best"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"n2e","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" language"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"VBzhgXiubilZ7ZL","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" to"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"3x5g2","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" learn"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"b2","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" is"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"Duhms","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" Ruby"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"UnI","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"."},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"IiizOQi","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" If"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"6a5HD","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" you're"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"3","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" interested"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"SEZtRgNc5spMQ","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" in"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"DJowF","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" why"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"heug","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" Ruby"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"xS8","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" is"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"1v6mb","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" recommended"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"e8h0ThLe91Wx","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" or"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"aUr6g","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" are"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"Ilcu","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" looking"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" for"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"lIw7","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" other"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"ks","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" options"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" based"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"R8","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" on"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"8K1EB","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" your"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"Q7z","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" goals"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"7G","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":","},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"5nP18wq","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" feel"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"z3C","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" free"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"mpr","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" to"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"owe32","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" ask"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"VSll","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"!"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"a3Ykupi","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{},"finish_reason":"stop","index":0,"logprobs":null}],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"I9","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":null} + + data: {"choices":[],"created":1765573647,"id":"chatcmpl-Cm4eFwSJu7EtXS7PpmNhTCfmIsVGQ","model":"gpt-4.1-2025-04-14","obfuscation":"eBPNd","object":"chat.completion.chunk","system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":34,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":125,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":159}} + + data: [DONE] + + recorded_at: Fri, 12 Dec 2025 21:07:27 GMT +recorded_with: VCR 6.3.1 +... diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_anyof_params.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_anyof_params.yml new file mode 100644 index 000000000..79957dbda --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_anyof_params.yml @@ -0,0 +1,70 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Call the any-of + params tool for task \"Review PR\" with status \"pending\" and report the + result."}],"stream":false,"tools":[{"type":"function","function":{"name":"any_of_params","description":"Uses + params DSL any_of support","parameters":{"type":"object","properties":{"task":{"type":"string","description":"Task + description"},"status":{"description":"Optional task status","anyOf":[{"type":"string","enum":["pending","done"]},{"type":"null"}]}},"required":["task","status"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1076' + Content-Type: + - application/json + Apim-Request-Id: + - 9bcef4a9-0485-4b05-b95e-c96cf4018091 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '217' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '247166' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251212173955-093a8659a697453d + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:33 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"task\":\"Review + PR\",\"status\":\"pending\"}","name":"any_of_params"},"id":"call_dCzvoTWRtDF0oI3tHUspS9gN","type":"function"}]}}],"created":1765573652,"id":"chatcmpl-Cm4eKjteF54YcXq8dKBtyUZY4gUf9","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":21,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":87,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":108}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:33 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_array_params.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_array_params.yml new file mode 100644 index 000000000..fa88057e7 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_array_params.yml @@ -0,0 +1,68 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Call the array + params tool with tags [\"red\",\"blue\"] and tell me the combined tags."}],"stream":false,"tools":[{"type":"function","function":{"name":"array_params","description":"Uses + params DSL array support","parameters":{"type":"object","properties":{"tags":{"type":"array","description":"List + of tags to combine","items":{"type":"string"}}},"required":["tags"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1056' + Content-Type: + - application/json + Apim-Request-Id: + - 677f316b-9b36-4347-b946-cf0103484359 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '218' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '247290' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251210070354-4b259145f73c4636 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:31 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"tags\":[\"red\",\"blue\"]}","name":"array_params"},"id":"call_YQEzPzkhP9IxS57agy7AAsZ7","type":"function"}]}}],"created":1765573651,"id":"chatcmpl-Cm4eJJIp1Gd86Gw5ghKVS9rvdV8rm","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":18,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":69,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":87}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:32 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_object_params.yml b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_object_params.yml new file mode 100644 index 000000000..18ff8e046 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_function_calling_azure_openai_gpt-4_1_handles_object_params.yml @@ -0,0 +1,70 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Call the object + params tool with window start 2025-01-01 and end 2025-01-02 and include the + result."}],"stream":false,"tools":[{"type":"function","function":{"name":"object_params","description":"Uses + params DSL object support","parameters":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","description":"ISO + start"},"end":{"type":"string","description":"ISO end"}},"required":["start","end"],"additionalProperties":false,"description":"Time + window to schedule"}},"required":["window"],"additionalProperties":false,"strict":true}}}]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1091' + Content-Type: + - application/json + Apim-Request-Id: + - 98d31051-4794-4221-b120-75f2e47c3c11 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '216' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '247027' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d384-20251208202056 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:33 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{},"finish_reason":"tool_calls","index":0,"logprobs":null,"message":{"annotations":[],"content":null,"refusal":null,"role":"assistant","tool_calls":[{"function":{"arguments":"{\"window\":{\"start\":\"2025-01-01\",\"end\":\"2025-01-02\"}}","name":"object_params"},"id":"call_4Xljwq5vw4MmtD8sXrKjzqzA","type":"function"}]}}],"created":1765573653,"id":"chatcmpl-Cm4eLW8BiA6WUqLdcpQkmDGhR9Jx5","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_f99638a8d7","usage":{"completion_tokens":31,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":92,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":123}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:34 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_azure_openai_gpt-4_1_handles_context_length_exceeded_errors.yml b/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_azure_openai_gpt-4_1_handles_context_length_exceeded_errors.yml new file mode 100644 index 000000000..937a11cc4 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_real_error_scenarios_azure_openai_gpt-4_1_handles_context_length_exceeded_errors.yml @@ -0,0 +1,63 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":""},{"role":"assistant","content":""},{"role":"user","content":"Hi"}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 429 + message: Too Many Requests + headers: + Content-Length: + - '378' + Content-Type: + - application/json + Retry-After: + - '60' + X-Ratelimit-Reset-Tokens: + - '60' + X-Ratelimit-Limit-Tokens: + - '250000' + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Apim-Request-Id: + - 6ce1d7e9-6a4e-4fd1-a66e-1e8f464e9c5c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + Policy-Id: + - DeploymentRatelimit-Token + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '232' + X-Ratelimit-Limit-Requests: + - '250' + Date: + - Fri, 12 Dec 2025 21:08:25 GMT + body: + encoding: UTF-8 + string: '{"error":{"code":"RateLimitReached","message": "Your requests to gpt-4.1 + for gpt-4.1 in East US have exceeded the token rate limit for your current + OpenAI S0 pricing tier. This request was for ChatCompletions_Create under + Azure OpenAI API version . Please retry after 60 + seconds. To increase your default rate limit, visit: https://aka.ms/oai/quotaincrease."}}' + recorded_at: Fri, 12 Dec 2025 21:08:25 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_streaming_responses_azure_openai_gpt-4_1_reports_consistent_token_counts_compared_to_non-streaming.yml b/spec/fixtures/vcr_cassettes/chat_streaming_responses_azure_openai_gpt-4_1_reports_consistent_token_counts_compared_to_non-streaming.yml new file mode 100644 index 000000000..302c445fd --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_streaming_responses_azure_openai_gpt-4_1_reports_consistent_token_counts_compared_to_non-streaming.yml @@ -0,0 +1,148 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Count from + 1 to 3"}],"stream":true,"temperature":0.0,"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - ed95c146-a7a2-4899-8f0f-96befef2a35e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '239' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249656' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:16 GMT + body: + encoding: UTF-8 + string: |+ + data: {"choices":[],"created":0,"id":"","model":"","object":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}]} + + data: {"choices":[{"content_filter_results":{},"delta":{"content":"","refusal":null,"role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573636,"id":"chatcmpl-Cm4e4zfj5IPc1jhBkntjTN9Hlkaqk","model":"gpt-4.1-2025-04-14","obfuscation":"1gGjpS","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"1"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573636,"id":"chatcmpl-Cm4e4zfj5IPc1jhBkntjTN9Hlkaqk","model":"gpt-4.1-2025-04-14","obfuscation":"OTMRenu","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" \n"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573636,"id":"chatcmpl-Cm4e4zfj5IPc1jhBkntjTN9Hlkaqk","model":"gpt-4.1-2025-04-14","obfuscation":"wvfX","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"2"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573636,"id":"chatcmpl-Cm4e4zfj5IPc1jhBkntjTN9Hlkaqk","model":"gpt-4.1-2025-04-14","obfuscation":"JZrRNF3","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" \n"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573636,"id":"chatcmpl-Cm4e4zfj5IPc1jhBkntjTN9Hlkaqk","model":"gpt-4.1-2025-04-14","obfuscation":"ywET","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"3"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573636,"id":"chatcmpl-Cm4e4zfj5IPc1jhBkntjTN9Hlkaqk","model":"gpt-4.1-2025-04-14","obfuscation":"6wr1Ydi","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{},"finish_reason":"stop","index":0,"logprobs":null}],"created":1765573636,"id":"chatcmpl-Cm4e4zfj5IPc1jhBkntjTN9Hlkaqk","model":"gpt-4.1-2025-04-14","obfuscation":"Cq","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[],"created":1765573636,"id":"chatcmpl-Cm4e4zfj5IPc1jhBkntjTN9Hlkaqk","model":"gpt-4.1-2025-04-14","obfuscation":"pkt85MJ4","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":6,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":14,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":20}} + + data: [DONE] + + recorded_at: Fri, 12 Dec 2025 21:07:16 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Count from + 1 to 3"}],"stream":false,"temperature":0.0}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1217' + Content-Type: + - application/json + Apim-Request-Id: + - eb896af0-f679-4462-aa60-ef85178ad422 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '238' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249651' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:17 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"1 \n2 \n3","refusal":null,"role":"assistant"}}],"created":1765573637,"id":"chatcmpl-Cm4e5ejSK2pOJwKVEizpvSazPMYOo","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":6,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":14,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":20}} + + ' + recorded_at: Fri, 12 Dec 2025 21:07:17 GMT +recorded_with: VCR 6.3.1 +... diff --git a/spec/fixtures/vcr_cassettes/chat_streaming_responses_azure_openai_gpt-4_1_supports_streaming_responses.yml b/spec/fixtures/vcr_cassettes/chat_streaming_responses_azure_openai_gpt-4_1_supports_streaming_responses.yml new file mode 100644 index 000000000..42aa00e71 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_streaming_responses_azure_openai_gpt-4_1_supports_streaming_responses.yml @@ -0,0 +1,85 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":"Count from + 1 to 3"}],"stream":true,"stream_options":{"include_usage":true}}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Transfer-Encoding: + - chunked + Content-Type: + - text/event-stream; charset=utf-8 + Apim-Request-Id: + - cde992b2-67b8-4254-be7d-32d57ff66248 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '240' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '249661' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:07:15 GMT + body: + encoding: UTF-8 + string: |+ + data: {"choices":[],"created":0,"id":"","model":"","object":"","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}]} + + data: {"choices":[{"content_filter_results":{},"delta":{"content":"","refusal":null,"role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573635,"id":"chatcmpl-Cm4e3YBWbpSKJBxsKGNPBiBGDJWgc","model":"gpt-4.1-2025-04-14","obfuscation":"BUZXI0","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"1"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573635,"id":"chatcmpl-Cm4e3YBWbpSKJBxsKGNPBiBGDJWgc","model":"gpt-4.1-2025-04-14","obfuscation":"elr0hJC","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" \n"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573635,"id":"chatcmpl-Cm4e3YBWbpSKJBxsKGNPBiBGDJWgc","model":"gpt-4.1-2025-04-14","obfuscation":"pR06","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"2"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573635,"id":"chatcmpl-Cm4e3YBWbpSKJBxsKGNPBiBGDJWgc","model":"gpt-4.1-2025-04-14","obfuscation":"AsuwvyN","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":" \n"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573635,"id":"chatcmpl-Cm4e3YBWbpSKJBxsKGNPBiBGDJWgc","model":"gpt-4.1-2025-04-14","obfuscation":"MzBL","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"delta":{"content":"3"},"finish_reason":null,"index":0,"logprobs":null}],"created":1765573635,"id":"chatcmpl-Cm4e3YBWbpSKJBxsKGNPBiBGDJWgc","model":"gpt-4.1-2025-04-14","obfuscation":"uLCjo8p","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[{"content_filter_results":{},"delta":{},"finish_reason":"stop","index":0,"logprobs":null}],"created":1765573635,"id":"chatcmpl-Cm4e3YBWbpSKJBxsKGNPBiBGDJWgc","model":"gpt-4.1-2025-04-14","obfuscation":"B9","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":null} + + data: {"choices":[],"created":1765573635,"id":"chatcmpl-Cm4e3YBWbpSKJBxsKGNPBiBGDJWgc","model":"gpt-4.1-2025-04-14","obfuscation":"OkiNy3SQ","object":"chat.completion.chunk","system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":6,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":14,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":20}} + + data: [DONE] + + recorded_at: Fri, 12 Dec 2025 21:07:16 GMT +recorded_with: VCR 6.3.1 +... diff --git a/spec/fixtures/vcr_cassettes/chat_text_models_azure_openai_gpt-4_1_can_understand_remote_text.yml b/spec/fixtures/vcr_cassettes/chat_text_models_azure_openai_gpt-4_1_can_understand_remote_text.yml new file mode 100644 index 000000000..637b04920 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_text_models_azure_openai_gpt-4_1_can_understand_remote_text.yml @@ -0,0 +1,194 @@ +--- +http_interactions: +- request: + method: get + uri: https://www.ruby-lang.org/en/about/license.txt + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Faraday v2.14.0 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Connection: + - keep-alive + Content-Length: + - '2502' + Server: + - GitHub.com + Content-Type: + - text/plain; charset=utf-8 + Last-Modified: + - Thu, 11 Dec 2025 18:08:54 GMT + Access-Control-Allow-Origin: + - "*" + Etag: + - W/"693b08b6-9c6" + Expires: + - Fri, 12 Dec 2025 18:26:51 GMT + Cache-Control: + - max-age=600 + X-Proxy-Cache: + - MISS + X-Github-Request-Id: + - 5DEA:32BB57:850FFD:8CE3D6:693C5C11 + Accept-Ranges: + - bytes + Age: + - '0' + Date: + - Fri, 12 Dec 2025 21:08:18 GMT + Via: + - 1.1 varnish + X-Served-By: + - cache-lga21971-LGA + X-Cache: + - HIT + X-Cache-Hits: + - '0' + X-Timer: + - S1765573699.709945,VS0,VE16 + Vary: + - Accept-Encoding + X-Fastly-Request-Id: + - 2d4b4698eae3624cb5e027f3675e470168dd219b + body: + encoding: ASCII-8BIT + string: "Ruby is copyrighted free software by Yukihiro Matsumoto .\nYou + can redistribute it and/or modify it under either the terms of the\n2-clause + BSDL (see the file BSDL), or the conditions below:\n\n 1. You may make and + give away verbatim copies of the source form of the\n software without + restriction, provided that you duplicate all of the\n original copyright + notices and associated disclaimers.\n\n 2. You may modify your copy of the + software in any way, provided that\n you do at least ONE of the following:\n\n + \ a) place your modifications in the Public Domain or otherwise\n make + them Freely Available, such as by posting said\n\t modifications to Usenet + or an equivalent medium, or by allowing\n\t the author to include your modifications + in the software.\n\n b) use the modified software only within your corporation + or\n organization.\n\n c) give non-standard binaries non-standard + names, with\n instructions on where to get the original software + distribution.\n\n d) make other distribution arrangements with the author.\n\n + \ 3. You may distribute the software in object code or binary form,\n provided + that you do at least ONE of the following:\n\n a) distribute the binaries + and library files of the software,\n\t together with instructions (in the + manual page or equivalent)\n\t on where to get the original distribution.\n\n + \ b) accompany the distribution with the machine-readable source of\n\t + \ the software.\n\n c) give non-standard binaries non-standard names, + with\n instructions on where to get the original software distribution.\n\n + \ d) make other distribution arrangements with the author.\n\n 4. You + may modify and include the part of the software into any other\n software + (possibly commercial). But some files in the distribution\n are not written + by the author, so that they are not under these terms.\n\n For the list + of those files and their copying conditions, see the\n file LEGAL.\n\n + \ 5. The scripts and library files supplied as input to or produced as\n output + from the software do not automatically fall under the\n copyright of the + software, but belong to whomever generated them,\n and may be sold commercially, + and may be aggregated with this\n software.\n\n 6. THIS SOFTWARE IS PROVIDED + \"AS IS\" AND WITHOUT ANY EXPRESS OR\n IMPLIED WARRANTIES, INCLUDING, + WITHOUT LIMITATION, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR\n PURPOSE.\n" + recorded_at: Fri, 12 Dec 2025 21:08:18 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":[{"type":"text","text":"What''s + in this file?"},{"type":"text","text":"Ruby + is copyrighted free software by Yukihiro Matsumoto .\nYou + can redistribute it and/or modify it under either the terms of the\n2-clause + BSDL (see the file BSDL), or the conditions below:\n\n 1. You may make and + give away verbatim copies of the source form of the\n software without + restriction, provided that you duplicate all of the\n original copyright + notices and associated disclaimers.\n\n 2. You may modify your copy of the + software in any way, provided that\n you do at least ONE of the following:\n\n a) + place your modifications in the Public Domain or otherwise\n make + them Freely Available, such as by posting said\n\t modifications to Usenet + or an equivalent medium, or by allowing\n\t the author to include your modifications + in the software.\n\n b) use the modified software only within your corporation + or\n organization.\n\n c) give non-standard binaries non-standard + names, with\n instructions on where to get the original software + distribution.\n\n d) make other distribution arrangements with the author.\n\n 3. + You may distribute the software in object code or binary form,\n provided + that you do at least ONE of the following:\n\n a) distribute the binaries + and library files of the software,\n\t together with instructions (in the + manual page or equivalent)\n\t on where to get the original distribution.\n\n b) + accompany the distribution with the machine-readable source of\n\t the software.\n\n c) + give non-standard binaries non-standard names, with\n instructions + on where to get the original software distribution.\n\n d) make other + distribution arrangements with the author.\n\n 4. You may modify and include + the part of the software into any other\n software (possibly commercial). But + some files in the distribution\n are not written by the author, so that + they are not under these terms.\n\n For the list of those files and their + copying conditions, see the\n file LEGAL.\n\n 5. The scripts and library + files supplied as input to or produced as\n output from the software do + not automatically fall under the\n copyright of the software, but belong + to whomever generated them,\n and may be sold commercially, and may be + aggregated with this\n software.\n\n 6. THIS SOFTWARE IS PROVIDED \"AS + IS\" AND WITHOUT ANY EXPRESS OR\n IMPLIED WARRANTIES, INCLUDING, WITHOUT + LIMITATION, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR\n PURPOSE.\n"}]}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '2993' + Content-Type: + - application/json + Apim-Request-Id: + - 30b57826-efd0-48d5-9924-ad68e0c54f91 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '224' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '245571' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d20251210190326-e4083916877e490d + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:08:22 GMT + body: + encoding: ASCII-8BIT + string: !binary |- + eyJjaG9pY2VzIjpbeyJjb250ZW50X2ZpbHRlcl9yZXN1bHRzIjp7ImhhdGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwicHJvdGVjdGVkX21hdGVyaWFsX2NvZGUiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJwcm90ZWN0ZWRfbWF0ZXJpYWxfdGV4dCI6eyJmaWx0ZXJlZCI6ZmFsc2UsImRldGVjdGVkIjpmYWxzZX0sInNlbGZfaGFybSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJzZXh1YWwiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwidmlvbGVuY2UiOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifX0sImZpbmlzaF9yZWFzb24iOiJzdG9wIiwiaW5kZXgiOjAsImxvZ3Byb2JzIjpudWxsLCJtZXNzYWdlIjp7ImFubm90YXRpb25zIjpbXSwiY29udGVudCI6IlRoZSBmaWxlIGxpY2Vuc2UudHh0IGNvbnRhaW5zIHRoZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgaW5mb3JtYXRpb24gZm9yIFJ1YnksIGF1dGhvcmVkIGJ5IFl1a2loaXJvIE1hdHN1bW90by4gSGVyZeKAmXMgYSBzdW1tYXJ5IG9mIGl0cyBjb250ZW50czpcblxuLSAqKkR1YWwgTGljZW5zZSoqOiBZb3UgY2FuIHJlZGlzdHJpYnV0ZSBvciBtb2RpZnkgUnVieSB1bmRlciBlaXRoZXIgdGhlIDItY2xhdXNlIEJTREwgKHNlZSBCU0RMIGZpbGUpIG9yIHVuZGVyIHRoZSBzdGF0ZWQgdGVybXMuXG4tICoqVmVyYmF0aW0gQ29waWVzKio6IFlvdSBtYXkgZGlzdHJpYnV0ZSBleGFjdCBjb3BpZXMgb2YgdGhlIHNvdXJjZSBhcyBsb25nIGFzIHlvdSByZXRhaW4gdGhlIGNvcHlyaWdodCBhbmQgZGlzY2xhaW1lcnMuXG4tICoqTW9kaWZpY2F0aW9ucyoqOiBZb3UgY2FuIG1vZGlmeSB0aGUgc29mdHdhcmUgaWYgeW91IGRvIGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nOlxuICAtIE1ha2UgeW91ciBtb2RpZmljYXRpb25zIHB1YmxpYyBkb21haW4gb3IgZnJlZWx5IGF2YWlsYWJsZSAoZS5nLiwgVXNlbmV0LCBzaGFyaW5nIHdpdGggdGhlIGF1dGhvcikuXG4gIC0gVXNlIG1vZGlmaWVkIHZlcnNpb25zIG9ubHkgd2l0aGluIHlvdXIgb3JnYW5pemF0aW9uLlxuICAtIEdpdmUgbm9uLXN0YW5kYXJkIGJpbmFyaWVzIG5vbi1zdGFuZGFyZCBuYW1lcywgd2l0aCBkZXRhaWxzIG9uIG9idGFpbmluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuXG4gIC0gTWFrZSBzcGVjaWFsIGFycmFuZ2VtZW50cyB3aXRoIHRoZSBhdXRob3IuXG4tICoqQmluYXJ5IERpc3RyaWJ1dGlvbnMqKjogWW91IGNhbiBkaXN0cmlidXRlIGJpbmFyaWVzIGlmIHlvdSBkbyBhdCBsZWFzdCBvbmUgb2Y6XG4gIC0gSW5jbHVkZSBpbnN0cnVjdGlvbnMgZm9yIG9idGFpbmluZyB0aGUgb3JpZ2luYWwgc291cmNlLlxuICAtIEFjY29tcGFueSB0aGUgZGlzdHJpYnV0aW9uIHdpdGggdGhlIHNvdXJjZS5cbiAgLSBOYW1lIG5vbi1zdGFuZGFyZCBiaW5hcmllcyBhcHByb3ByaWF0ZWx5IHdpdGggaW5zdHJ1Y3Rpb25zLlxuICAtIEFycmFuZ2VtZW50cyB3aXRoIHRoZSBhdXRob3IuXG4tICoqQ29tYmluaW5nIHdpdGggT3RoZXIgU29mdHdhcmUqKjogWW91IGNhbiBpbmNsdWRlIHBhcnRzICh3aXRoIHNvbWUgZXhjZXB0aW9ucyBzcGVjaWZpZWQgaW4gYSBMRUdBTCBmaWxlKSBpbiBvdGhlciBzb2Z0d2FyZSwgaW5jbHVkaW5nIGNvbW1lcmNpYWwgb25lcy5cbi0gKipJbnB1dC9PdXRwdXQgRmlsZXMqKjogU2NyaXB0cyBvciBmaWxlcyBnZW5lcmF0ZWQgYnkgb3IgZnJvbSBSdWJ5IGFyZSBub3QgY292ZXJlZCBieSBSdWJ5J3MgY29weXJpZ2h0IGFuZCBjYW4gYmUgY29tbWVyY2lhbGx5IHNvbGQgb3IgYWdncmVnYXRlZC5cbi0gKipObyBXYXJyYW50eSoqOiBUaGUgc29mdHdhcmUgaXMgcHJvdmlkZWQgXCJhcyBpc1wiLCB3aXRob3V0IHdhcnJhbnRpZXMsIGluY2x1ZGluZyB0aG9zZSBvZiBtZXJjaGFudGFiaWxpdHkgb3IgZml0bmVzcy5cblxuKipJbiBzaG9ydCoqOiBUaGlzIGlzIGEgcGVybWlzc2l2ZSwgQlNELWxpa2UgbGljZW5zZSBmb3IgUnVieSB0aGF0IGFsbG93cyBmcmVlIHVzZSwgY29weWluZywgZGlzdHJpYnV0aW9uLCBhbmQgbW9kaWZpY2F0aW9uLCB3aXRoIHNvbWUgY29uZGl0aW9ucyBtYWlubHkgYWltZWQgYXQgZW5zdXJpbmcgY3JlZGl0LCBjbGFyaXR5LCBhbmQgZnJlZWRvbSBmb3IgY29udHJpYnV0b3JzIGFuZCB1c2VycywgYW5kIGV4Y2x1ZGVzIGFueSB3YXJyYW50eS4iLCJyZWZ1c2FsIjpudWxsLCJyb2xlIjoiYXNzaXN0YW50In19XSwiY3JlYXRlZCI6MTc2NTU3MzY5OCwiaWQiOiJjaGF0Y21wbC1DbTRmNGkxeHNuM3hDWFhxRDJlM0FtUzhrTDdPVCIsIm1vZGVsIjoiZ3B0LTQuMS0yMDI1LTA0LTE0Iiwib2JqZWN0IjoiY2hhdC5jb21wbGV0aW9uIiwicHJvbXB0X2ZpbHRlcl9yZXN1bHRzIjpbeyJwcm9tcHRfaW5kZXgiOjAsImNvbnRlbnRfZmlsdGVyX3Jlc3VsdHMiOnsiaGF0ZSI6eyJmaWx0ZXJlZCI6ZmFsc2UsInNldmVyaXR5Ijoic2FmZSJ9LCJqYWlsYnJlYWsiOnsiZmlsdGVyZWQiOmZhbHNlLCJkZXRlY3RlZCI6ZmFsc2V9LCJzZWxmX2hhcm0iOnsiZmlsdGVyZWQiOmZhbHNlLCJzZXZlcml0eSI6InNhZmUifSwic2V4dWFsIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn0sInZpb2xlbmNlIjp7ImZpbHRlcmVkIjpmYWxzZSwic2V2ZXJpdHkiOiJzYWZlIn19fV0sInN5c3RlbV9maW5nZXJwcmludCI6ImZwX2Y5OTYzOGE4ZDciLCJ1c2FnZSI6eyJjb21wbGV0aW9uX3Rva2VucyI6MzY2LCJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjp7ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowLCJhdWRpb190b2tlbnMiOjAsInJlYXNvbmluZ190b2tlbnMiOjAsInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjowfSwicHJvbXB0X3Rva2VucyI6NTQwLCJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOnsiYXVkaW9fdG9rZW5zIjowLCJjYWNoZWRfdG9rZW5zIjowfSwidG90YWxfdG9rZW5zIjo5MDZ9fQo= + recorded_at: Fri, 12 Dec 2025 21:08:23 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/chat_text_models_azure_openai_gpt-4_1_can_understand_text.yml b/spec/fixtures/vcr_cassettes/chat_text_models_azure_openai_gpt-4_1_can_understand_text.yml new file mode 100644 index 000000000..0c3e6986d --- /dev/null +++ b/spec/fixtures/vcr_cassettes/chat_text_models_azure_openai_gpt-4_1_can_understand_text.yml @@ -0,0 +1,137 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":[{"type":"text","text":"What''s + in this file?"},{"type":"text","text":"Ruby + is the best."}]}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1274' + Content-Type: + - application/json + Apim-Request-Id: + - e684d5a8-69cd-4f38-8b78-7752f45dd73c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '224' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '246175' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:08:17 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The + file ruby.txt contains the following text:\n\nRuby is the best.","refusal":null,"role":"assistant"}}],"created":1765573697,"id":"chatcmpl-Cm4f32vbWdQFbHZeWTTa5nguSS1yb","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":15,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":31,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":46}} + + ' + recorded_at: Fri, 12 Dec 2025 21:08:17 GMT +- request: + method: post + uri: "/openai/deployments/gpt-4.1/chat/completions?api-version=" + body: + encoding: UTF-8 + string: '{"model":"gpt-4.1","messages":[{"role":"user","content":[{"type":"text","text":"What''s + in this file?"},{"type":"text","text":"Ruby + is the best."}]},{"role":"assistant","content":"The file ruby.txt contains + the following text:\n\nRuby is the best."},{"role":"user","content":[{"type":"text","text":"and + in this one?"},{"type":"text","text":"Ruby + is the best"}]}],"stream":false}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '1318' + Content-Type: + - application/json + Apim-Request-Id: + - f466e333-07aa-4f01-8ad5-46b278cbe823 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Requests: + - '224' + X-Ratelimit-Limit-Requests: + - '250' + X-Ratelimit-Remaining-Tokens: + - '246111' + X-Ratelimit-Limit-Tokens: + - '250000' + Azureml-Model-Session: + - d027-20251208220348 + X-Accel-Buffering: + - 'no' + X-Ms-Rai-Invoked: + - 'true' + X-Request-Id: + - "" + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Deployment-Name: + - gpt-4.1 + Date: + - Fri, 12 Dec 2025 21:08:18 GMT + body: + encoding: UTF-8 + string: '{"choices":[{"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"protected_material_code":{"filtered":false,"detected":false},"protected_material_text":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}},"finish_reason":"stop","index":0,"logprobs":null,"message":{"annotations":[],"content":"The + file ruby.xml contains the following XML content:\n\n\u003ctruism\u003eRuby + is the best\u003c/truism\u003e","refusal":null,"role":"assistant"}}],"created":1765573697,"id":"chatcmpl-Cm4f3H74SwFCDAwcsYcNKjVpIxUSd","model":"gpt-4.1-2025-04-14","object":"chat.completion","prompt_filter_results":[{"prompt_index":0,"content_filter_results":{"hate":{"filtered":false,"severity":"safe"},"jailbreak":{"filtered":false,"detected":false},"self_harm":{"filtered":false,"severity":"safe"},"sexual":{"filtered":false,"severity":"safe"},"violence":{"filtered":false,"severity":"safe"}}}],"system_fingerprint":"fp_b9041e10b4","usage":{"completion_tokens":23,"completion_tokens_details":{"accepted_prediction_tokens":0,"audio_tokens":0,"reasoning_tokens":0,"rejected_prediction_tokens":0},"prompt_tokens":83,"prompt_tokens_details":{"audio_tokens":0,"cached_tokens":0},"total_tokens":106}} + + ' + recorded_at: Fri, 12 Dec 2025 21:08:18 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_a_single_text.yml b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_a_single_text.yml new file mode 100644 index 000000000..3f7dffa5c --- /dev/null +++ b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_a_single_text.yml @@ -0,0 +1,1614 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/text-embedding-3-small/embeddings?api-version=" + body: + encoding: UTF-8 + string: '{"model":"text-embedding-3-small","input":"Ruby is a programmer''s + best friend"}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '33272' + Content-Type: + - application/json + Access-Control-Allow-Origin: + - "*" + Apim-Request-Id: + - 7ed587c8-62bf-4220-9ab8-39a2bc9c7ddc + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Tokens: + - '249991' + X-Ratelimit-Limit-Tokens: + - '250000' + X-Request-Id: + - "" + Azureml-Model-Session: + - d20251125150508-a8913cdba80c4333 + X-Envoy-Upstream-Service-Time: + - '34' + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Azureml-Cluster-Local-Active-Requests: + - '{"upstream_stats_map":{"aoai-sp-txtemb-sm-1-usw2-prod-aoai-standard-online-westus2":{"active_requests":"0","error_rate":"0","active_tokens":"0","engine_tbt_ms":"0"},"aoai-sp-txt-em-small-1-use-prod-aoai-standard-online-eastus":{"active_requests":"2","error_rate":"0","active_tokens":"174","engine_tbt_ms":"0"}},"cluster_active_requests":"0","cluster_active_tokens":"0"}' + X-Ms-Deployment-Name: + - text-embedding-3-small + Date: + - Fri, 12 Dec 2025 20:10:07 GMT + body: + encoding: UTF-8 + string: | + { + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + -0.047158066, + -0.0049569556, + -0.022447716, + 0.0052769994, + 0.049301613, + -0.05156425, + 0.0059431368, + 0.029310048, + -0.022581687, + 0.0042870967, + -0.0037139955, + -0.03518992, + 0.034892205, + -0.012779419, + 0.014424294, + 0.021852285, + -0.006516238, + 0.00608083, + -0.018636962, + 0.033492945, + 0.04349617, + -0.007573127, + 0.022135114, + -0.020453025, + 0.051861964, + 0.007822463, + -0.0027575858, + 0.02538021, + 0.031915054, + -0.017952219, + 0.0006461347, + -0.049688645, + 0.0330166, + 0.012972934, + 0.025573723, + 0.018115962, + 0.044359542, + -0.028357359, + 0.038851816, + 0.034445632, + 0.0009098917, + -0.019262165, + 0.04266257, + 0.01632967, + 0.020497682, + 0.005258392, + -0.007431712, + -0.018875135, + 0.01647853, + 0.055315457, + -0.031647112, + 0.014424294, + -0.039119758, + 0.06067433, + -0.027136728, + -0.01759496, + -0.027106956, + 0.023117574, + -0.002781775, + -0.031319626, + 0.015972413, + -0.009154738, + -0.028833704, + 0.022090457, + -0.05597043, + 0.017327016, + -0.05647655, + -0.01749076, + -0.020289281, + -0.019321708, + 0.033909746, + -0.0059654657, + 0.010769842, + 0.013099463, + 0.04528246, + -0.042990055, + 0.017728932, + 0.055523857, + 0.040429704, + 0.006784182, + 0.022447716, + 0.008492322, + 0.02176297, + -0.06418737, + -0.042781655, + -0.04028085, + -0.017059073, + -0.030575337, + 0.021286627, + -0.009013323, + -0.044984747, + 0.035636492, + -0.0016383632, + 0.041650336, + 0.0043764114, + 0.003790285, + -0.041173995, + 0.023370633, + -0.009415239, + -0.0012597068, + 0.01531744, + 0.0035204806, + -0.011499244, + -0.017922446, + 0.06865309, + -0.0047225053, + 0.022790087, + -0.00716749, + -0.025350437, + 0.017163273, + -0.09836505, + -0.025648152, + 0.009616196, + -0.04632446, + -0.018145733, + -0.003179969, + 0.02341529, + 0.020974025, + 0.015897984, + -0.038047984, + -0.005671472, + -0.029310048, + -0.03035205, + -0.03956633, + -0.019574765, + -0.03810753, + -0.005645422, + 0.0047001764, + 0.008499765, + -0.022551917, + 0.0060771084, + -0.0071377186, + 0.034862433, + 0.0072902977, + 0.010472127, + -0.022179771, + -0.011149429, + -0.05832238, + 0.005165356, + 0.041590795, + -0.009072866, + -0.008164835, + -0.026913442, + -0.0055300575, + -0.039834276, + 0.013352521, + -0.042751882, + 0.026139382, + -0.027092071, + 0.0013034338, + -0.026050068, + -0.004584812, + -0.014617809, + 0.008752823, + 0.004026596, + -0.026556183, + -0.020006452, + -0.0024803386, + -0.0028059646, + -0.030992137, + -0.03066465, + 0.029429134, + -0.035100605, + -0.0041196323, + 0.00078103686, + -0.036023524, + -0.037631184, + 0.03316546, + -0.02124197, + 0.023147346, + 0.011216415, + -0.015674697, + -0.042424396, + -0.00595058, + 0.033344086, + -0.040995363, + 0.049718414, + -0.020199968, + -0.021956485, + 0.00765872, + 0.0076215058, + 0.011655545, + 0.041620564, + -0.021926714, + 0.00023956758, + -0.06347285, + 0.0024524278, + 0.0010885207, + -0.0051058135, + -0.017907562, + -0.0057533435, + 0.062222447, + 0.015555612, + 0.053410083, + 0.05528569, + -0.011082443, + 0.036827352, + -0.030783737, + -0.029324934, + 0.0051318635, + -0.007182376, + 0.017431216, + 0.017371673, + -0.02618404, + -0.024963409, + -0.0019816658, + -0.006888382, + 0.03203414, + -0.02590121, + -0.021375941, + 0.004331754, + 0.0030646045, + -0.014312652, + -0.009214281, + 0.028312702, + -0.0063971523, + 0.053648252, + 0.028416902, + 0.00035144333, + -0.0074354336, + -0.020289281, + 0.037452556, + 0.09294664, + 0.003219044, + 0.0050983704, + 0.038435016, + 0.054452084, + -0.019827822, + 0.047574867, + 0.010055326, + 0.045163374, + -0.00038121484, + -0.0034962913, + -0.048765726, + 0.020929368, + 0.010472127, + -0.03358226, + 0.02215, + -0.0020095767, + -0.053320765, + -0.003782842, + -0.02569281, + 0.0046071406, + 0.0122881895, + -0.015481183, + -0.017862903, + -0.018711392, + 0.041977823, + 0.0062557375, + 0.00062054984, + 0.023757663, + 0.027672615, + 0.028402017, + -0.044538174, + -0.035428092, + -0.031855512, + -0.015406755, + 0.033879973, + 0.055315457, + -0.035041064, + -0.04352594, + -0.042156454, + -0.024308434, + 0.0012941301, + -0.0011508547, + 0.008157393, + -0.015555612, + 0.03105168, + 0.013330191, + -0.0014634556, + 0.055732258, + -0.00874538, + 0.07204705, + 0.0063673807, + 0.0025994247, + -0.042960282, + 0.03167688, + 0.02305803, + -0.029994793, + -0.0059580225, + -0.033195227, + 0.025648152, + 0.025067609, + 0.01622547, + 0.02365346, + -0.009757611, + -0.018532762, + 0.028848588, + 0.06740269, + 0.004584812, + -0.0023091524, + 0.010062769, + 0.018964449, + 0.00923661, + -0.0034144197, + -0.017952219, + 0.088421375, + -0.032212768, + -0.0054667927, + 0.023638576, + 0.0336418, + 0.025335552, + 0.015362097, + -0.04007245, + -0.020988911, + 0.0023798598, + 0.018845363, + -0.064961426, + -0.0014011215, + 0.019559879, + -0.0443, + -0.0017769868, + -0.03676781, + -0.047485553, + -0.045937434, + -0.062341534, + -0.0032953336, + -0.01632967, + -0.005169078, + -0.026585955, + 0.008730494, + -0.024263777, + 0.013761879, + 0.012206318, + -0.017252589, + -0.00814995, + 0.017431216, + -0.023817204, + 0.019619422, + 0.009504553, + -0.009921354, + -0.037452556, + -0.015749127, + 0.052665792, + 0.0012829659, + -0.06954624, + -0.027687501, + -0.010717742, + -0.005961744, + 0.0011452726, + -0.0006507865, + -0.050284073, + -0.039417475, + -0.0385541, + -0.011484358, + -0.003273005, + 0.015190911, + 0.01438708, + -0.005061156, + 0.03521969, + -0.04069765, + 0.021361055, + 0.015570498, + 0.0026701319, + -0.0013657678, + -0.041620564, + 0.017728932, + -0.024487063, + -0.06466371, + 0.018964449, + -0.055434544, + -0.008909123, + -0.038970903, + 0.013992608, + 0.004201504, + 0.058560554, + -0.019500336, + -0.0145880375, + 0.0060361726, + 0.01759496, + -0.036708266, + 0.037005983, + 0.02418935, + -0.028699731, + -0.02320689, + -0.007405662, + -0.02558861, + 0.011194087, + 0.055107057, + 0.049748186, + -0.03435632, + 0.038137298, + 0.05891781, + -0.017356789, + 0.043168683, + -0.015094154, + -0.0029529613, + -0.027821472, + -0.020646539, + 0.0008187164, + 0.019530108, + -0.0027985217, + 0.016746473, + -0.022909174, + 0.00063636596, + -0.019887365, + -0.0059840726, + 0.011573673, + 0.00884958, + -0.024740122, + 0.016776243, + -0.013434392, + 0.00597663, + -0.015056939, + -0.024829436, + 0.026466869, + -0.015644927, + 0.047932126, + -0.0043615256, + 0.002160295, + 0.0054816785, + -0.013702336, + 0.054809343, + 0.0068400037, + -0.032480713, + -0.047366466, + -0.026362669, + -0.03084328, + -0.056357462, + 0.048527554, + 0.009057981, + -0.050462704, + -0.017237702, + -0.048914585, + 0.032361627, + 0.030262737, + 0.020542338, + -0.04977796, + -0.03501129, + -0.031855512, + 0.03956633, + 0.012965491, + 0.026139382, + -0.0054146927, + 0.032063913, + -0.026556183, + 0.0023165953, + 0.00040866045, + 0.031498253, + 0.029920364, + -0.023117574, + 0.0054705143, + -0.04391297, + 0.011476915, + -0.066390455, + -0.03462426, + -0.03760141, + -0.060733873, + -0.010509342, + -0.017728932, + 0.006121766, + -0.04191828, + 0.0036451488, + 0.02302826, + 0.0053365426, + -0.012399833, + 0.033969287, + 0.0040563676, + 0.010598656, + 0.0025584889, + 0.015376983, + 0.061150674, + -0.06781949, + -0.010256284, + 0.019798052, + -0.051326077, + -0.02295383, + 0.048974127, + 0.006936761, + 0.0042833756, + 0.00045168956, + 0.029399361, + -0.026645498, + -0.0022737987, + -0.034892205, + 0.012146775, + -0.015764013, + -0.024204234, + -0.03045625, + -0.030724194, + -0.012995263, + 0.005987794, + 0.057756722, + -0.025633266, + -0.04349617, + 0.0040303175, + -0.0027185106, + -0.0026887392, + 0.019023992, + 0.007160047, + 0.0018653709, + -0.001974223, + 0.03126008, + -0.018756049, + -0.008946338, + 0.02926539, + -0.023534376, + 0.0038014492, + 0.025722582, + -0.028208502, + 0.006486467, + -0.043347314, + -0.0009750168, + 0.03274866, + -0.0063413307, + -0.010606099, + 0.026124496, + -0.026020296, + -0.008782594, + 0.041144222, + 0.017639617, + -0.022269087, + 0.02380232, + 0.020616768, + -0.012102117, + -0.005704965, + -0.008075521, + 0.03950679, + -0.010725185, + 0.010457242, + -0.0030832116, + 0.009333367, + 0.027166499, + -0.034237232, + 0.018101076, + 0.0024691743, + 0.0031129832, + 0.031140996, + 0.009824597, + -0.015644927, + 0.03801821, + -0.0014001911, + 0.01707396, + 0.002359392, + -0.00010524692, + -0.026705042, + -0.043377083, + 0.0064566955, + -0.010472127, + -0.007014911, + -0.02807453, + 0.010367927, + -0.015853327, + 0.027300471, + -0.03003945, + 0.0039410032, + -0.023846976, + -0.032570027, + 0.023117574, + -0.01182673, + 0.04683058, + -0.030262737, + -0.0032357906, + -0.043347314, + 0.036023524, + -0.028148958, + 0.0055672717, + 0.008767708, + -0.050135218, + 0.031349394, + -0.02432332, + -0.0025529067, + 0.022343514, + 0.0039670533, + 0.0028971396, + 0.041977823, + 0.020110652, + -0.058024663, + -0.008708166, + -0.020557225, + 0.025752353, + 0.01798199, + -0.019217508, + -0.033760887, + -0.010449799, + -0.033225, + 0.013002705, + 0.0018458334, + 0.00874538, + 0.009593868, + 0.0054444643, + -0.011149429, + -0.04903367, + 0.037631184, + -0.070141666, + -0.04007245, + 0.02310269, + -0.04584812, + -0.025350437, + 0.0004347105, + 0.008827251, + 0.038077757, + 0.0074949767, + 0.031915054, + -0.024963409, + 0.022179771, + -0.025529066, + 0.0030906545, + -0.037214383, + 0.021435484, + 0.01731213, + -0.009601311, + 0.031944826, + -0.00080801727, + 0.006988861, + -0.028580645, + -0.0089835515, + -0.012042575, + -0.024755007, + 0.005094649, + -0.009802269, + 0.025663039, + 0.00600268, + -0.038673185, + 0.001278314, + 0.023638576, + 0.00191468, + -0.017535416, + 0.0041717323, + -0.022566801, + -0.030188307, + 0.009489668, + -0.015056939, + -0.01195326, + 0.032093685, + 0.03501129, + 0.0034069768, + 0.006564617, + 0.0021249412, + -0.019976681, + 0.00799365, + -0.0067395247, + 0.0024077706, + -0.034951746, + 0.045877893, + 0.016910216, + -0.0045550405, + -0.021316398, + 0.02975662, + -0.018115962, + 0.028878361, + 0.02698787, + -0.036886897, + 0.0007512653, + 0.010941029, + -0.033225, + -0.015615155, + 0.026154269, + -0.0107326275, + -0.014796439, + -0.028372245, + -0.023683233, + -0.0016113828, + -0.0005121629, + 0.020631654, + -0.005425857, + 0.0011834174, + -0.0072977403, + 0.029726848, + 0.006784182, + -0.021286627, + 0.006940482, + -0.011045229, + 0.012660333, + -0.0039633317, + 0.0044285115, + 0.023013374, + 0.041233536, + 0.013486492, + -0.021911828, + -0.015689583, + 0.019038878, + 0.03399906, + -0.020319052, + 0.00874538, + -0.035904437, + 0.0016253381, + 0.011625773, + -0.032272313, + 0.02274543, + -0.0161957, + 0.00294924, + -0.02688367, + -0.011156872, + 0.028253159, + 0.00853698, + -0.018532762, + 0.0164041, + 0.0481703, + -0.015004839, + -0.013746993, + 0.001904446, + 0.03935793, + -0.018383905, + 0.042364854, + -0.010219069, + 0.014975067, + -0.016270127, + -0.037452556, + -0.09753145, + 0.021480141, + 0.03361203, + -0.03521969, + -0.011395044, + -0.036797583, + -0.031349394, + -0.02351949, + -0.050671104, + 0.0010178133, + 0.006553453, + -0.04465726, + 0.007327512, + -0.020229738, + 0.0021975094, + -0.05198105, + -0.029711964, + -0.014275437, + -0.026749698, + 0.010978242, + -0.038286157, + -0.059453696, + 0.044151142, + -0.053052824, + -0.022804974, + 0.025886325, + 0.0012262139, + -0.029741734, + -0.014468952, + -0.03950679, + 0.0034609376, + 0.011551345, + 0.010680527, + -0.0100329975, + -0.016910216, + 0.035874665, + -0.0011741137, + -0.04173965, + -0.012846405, + -0.046771035, + -0.058233067, + 0.03908999, + -0.024576379, + 0.00610688, + 0.024576379, + -0.01717816, + 0.012995263, + 0.014908082, + 0.03242117, + -0.00042308102, + 0.038137298, + 0.0072307545, + 0.014067037, + 0.014342423, + 0.0023110132, + -0.0012494728, + -0.03554718, + -0.040667877, + 0.00080662174, + -0.010851714, + 0.08764731, + -0.019366365, + 0.039387703, + 0.0031353117, + -0.0003888903, + 0.038405243, + -0.005935694, + -0.0011452726, + -0.022596573, + 0.0042089466, + -0.0057756724, + 0.01493041, + -0.0044433973, + -0.019842708, + -0.034445632, + 0.039179303, + 0.04465726, + -0.031587567, + -0.028491331, + -0.004395019, + 0.01498251, + -0.011082443, + -0.01498251, + -0.015644927, + 0.02344506, + -0.022373287, + -0.018547649, + 0.004048925, + -0.021420598, + 0.0007047474, + -0.02380232, + -0.011499244, + -0.02481455, + -0.034475405, + -0.01231796, + 0.028491331, + -0.0007573127, + -0.02046791, + -0.07984718, + -0.047902353, + -0.00781502, + 0.014751781, + 0.009906469, + 0.024859207, + 0.024978293, + -0.00799365, + -0.018756049, + 0.03908999, + 0.012466818, + -0.031081453, + 0.019440793, + -0.009549211, + -0.013665121, + -0.0072195902, + 0.070260756, + -0.00758057, + 0.029339818, + -0.007040961, + -0.004849034, + -0.017341902, + 0.03024785, + 0.036738038, + 0.043764114, + 0.018756049, + 0.005299328, + 0.04150148, + -0.002212395, + 0.020170195, + 0.02085494, + 0.009817154, + 0.025960753, + 0.019098422, + 0.007465205, + -0.001477411, + 0.00853698, + -0.0021416878, + 0.06591412, + -0.014401966, + 0.01759496, + -0.028357359, + 0.029622648, + -0.061984275, + -0.02442752, + 0.01249659, + -0.03518992, + -0.026362669, + -0.019351479, + -0.019128192, + -0.005120699, + 0.034028832, + -0.013627907, + -0.011313172, + -0.0055486644, + 0.007874563, + -0.003656313, + 0.03638078, + -0.0055375, + -0.0051988494, + 0.016538072, + -0.018815592, + 0.020378595, + -0.017654503, + 0.015004839, + 0.0025603494, + -0.014781552, + -0.026972985, + 0.013598136, + -0.012980376, + 0.002372417, + 0.018636962, + 0.0073051834, + -0.009966012, + 0.03480289, + -0.014528495, + 0.004644355, + -0.0073237903, + -0.0023873027, + -0.028893247, + -0.012347732, + 0.004577369, + -0.026198925, + 0.010144641, + -0.008060635, + -0.014424294, + 0.025811896, + 0.0012066764, + 0.009631082, + 0.009616196, + 0.03908999, + 0.014781552, + 0.0021156378, + 0.02274543, + -0.032718886, + -0.018502992, + -0.023817204, + 0.021405714, + -0.024382863, + -0.011648102, + 0.052516937, + 0.006936761, + 0.0007852235, + -0.0023296203, + -0.008663508, + 0.027464215, + 0.010784728, + 0.0028990004, + 0.02085494, + 0.0038963459, + -0.017580075, + -0.002000273, + -0.029816164, + -0.018502992, + -0.0330166, + 0.028908132, + 0.0033902302, + -0.013575806, + -0.042543482, + 0.035487637, + 0.000057565998, + -0.009564096, + 0.039268617, + 0.00066148565, + -0.032510486, + -0.02362369, + 0.008737937, + 0.045550406, + 0.009489668, + 0.006170145, + 0.0008168557, + 0.037065525, + -0.009467339, + 0.02569281, + 0.01679113, + 0.0046927338, + 0.006773018, + 0.046800807, + -0.059751414, + 0.001868162, + 0.0032022977, + 0.026258469, + 0.028402017, + -0.023608804, + -0.010323269, + 0.0010057187, + -0.017341902, + 0.033850204, + -0.019143078, + 0.017788475, + -0.0040973034, + -0.047902353, + 0.025127152, + 0.030783737, + -0.057220835, + 0.02095914, + -0.057191063, + 0.0042982614, + 0.023281317, + -0.030054335, + 0.007387055, + 0.08246707, + 0.018890021, + -0.024174463, + -0.036648724, + 0.018517876, + -0.010323269, + -0.024740122, + -0.014900639, + 0.0073944977, + 0.030724194, + -0.03477312, + -0.022239314, + 0.0025733747, + 0.0022142557, + 0.0056417002, + 0.012280746, + 0.03032228, + 0.010040441, + 0.025186693, + 0.00018746745, + -0.012414718, + -0.013583249, + 0.05096882, + 0.065556854, + -0.024740122, + -0.008417893, + -0.0077182627, + 0.00070288667, + 0.0069442037, + 0.020765625, + -0.017892675, + 0.044984747, + -0.005716129, + 0.025677923, + -0.028282931, + 0.014498724, + 0.020140424, + 0.034267005, + -0.032778427, + 0.014617809, + 0.0075507984, + 0.03274866, + -0.039209075, + 0.00017351206, + 0.03167688, + 0.013151563, + -0.0022607737, + 0.0016476668, + 0.04307937, + -0.012072345, + -0.020333938, + -0.0032432335, + 0.0017360509, + -0.0088346945, + 0.028268045, + 0.0011555066, + -0.02488898, + 0.023400404, + -0.0058798725, + 0.011581115, + -0.01493041, + 0.010442356, + 0.0051169777, + 0.009407796, + -0.011916045, + -0.012682661, + 0.012362618, + -0.018860249, + -0.015406755, + 0.0036097951, + 0.0019332871, + 0.018115962, + 0.010829385, + 0.0006000819, + -0.026675269, + 0.033314314, + -0.02036371, + 0.029310048, + -0.003929839, + -0.019678965, + 0.011923488, + 0.010449799, + 0.0013192499, + -0.022864517, + -0.000070358445, + 0.057607863, + -0.012526361, + 0.006412038, + -0.026362669, + -0.0151388105, + 0.019932024, + 0.029220734, + 0.05338031, + 0.010308384, + -0.040310618, + 0.0021100554, + 0.01780336, + -0.017297246, + 0.020065995, + 0.0057756724, + -0.02372789, + 0.0057905577, + -0.006590667, + -0.00066892855, + 0.009705511, + -0.044359542, + 0.0330166, + -0.008812366, + -0.03599375, + 0.035666265, + 0.020110652, + 0.00021444788, + 0.028402017, + -0.018175505, + 0.043257996, + 0.012504033, + 0.005012777, + 0.04191828, + -0.045788575, + -0.0060064015, + 0.0030683258, + 0.013613021, + 0.0021230804, + 0.006542288, + -0.003808892, + -0.016701816, + -0.044776347, + -0.010293499, + 0.023861863, + -0.006292952, + 0.023281317, + 0.012891063, + -0.008246707, + -0.0018337386, + -0.01749076, + -0.028491331, + 0.0051355846, + 0.027151613, + 0.00054798176, + 0.0053886427, + 0.043019827, + 0.043049596, + 0.029875707, + -0.0039633317, + -0.0071265544, + 0.022804974, + 0.005987794, + 0.024055377, + -0.011588559, + 0.0082318215, + 0.020378595, + -0.0016420847, + 0.0018876996, + 0.007785249, + -0.0082839215, + 0.018696506, + -0.019232392, + -0.0020244624, + 0.00809785, + 0.007379612, + 0.030188307, + -0.000851279, + 0.02369812, + 0.013322749, + 0.0063190022, + -0.016061727, + -0.022998488, + -0.039685417, + -0.018056419, + 0.005053713, + -0.01167043, + 0.047515325, + 0.010099984, + 0.022596573, + -0.00012234229, + -0.040012904, + 0.004391297, + 0.045937434, + -0.016046843, + -0.0012401693, + -0.00934081, + 0.02453172, + -0.0100850975, + 0.010487013, + -0.000727076, + 0.0060473373, + 0.033909746, + -0.03087305, + -0.0031353117, + 0.10830874, + -0.01591287, + -0.009541768, + 0.03262957, + -0.002962265, + 0.018994221, + -0.021420598, + 0.008827251, + 0.02085494, + 0.013404621, + -0.00077405915, + -0.01643387, + -0.014841096, + 0.00073312334, + -0.031170767, + -0.0032227656, + 0.009913911, + 0.02993525, + -0.004127075, + 0.019946909, + 0.0102860555, + -0.008998438, + -0.005671472, + 0.006940482, + -0.0038256384, + -0.027657729, + -0.005731015, + -0.028119188, + 0.014781552, + 0.036499865, + 0.028744388, + -0.009348253, + 0.00830625, + 0.050373387, + -0.034654032, + 0.01275709, + -0.016210586, + -0.03087305, + -0.0072568045, + -0.025395095, + -0.008700723, + 0.0034348876, + 0.014736895, + 0.016969759, + -0.011476915, + 0.000017953033, + 0.028967675, + -0.034028832, + 0.016746473, + 0.00719354, + 0.020840054, + -0.020229738, + 0.015042054, + 0.010025554, + -0.008172278, + -0.022626344, + 0.013992608, + 0.028044758, + 0.014483837, + -0.0054854, + -0.013069691, + -0.029771507, + 0.0336418, + -0.0074503194, + -0.0099362405, + 0.007427991, + -0.005232342, + -0.013598136, + -0.010516784, + 0.043228228, + 0.009526882, + 0.008015978, + 0.009311038, + -0.014267994, + 0.07103481, + 0.02212023, + 0.030753966, + -0.035874665, + 0.013590693, + -0.020095767, + 0.013717221, + -0.011432258, + -0.0016830205, + 0.010524227, + 0.020780511, + 0.031319626, + 0.014074479, + 0.020988911, + 0.019187735, + 0.013010148, + 0.02905699, + 0.0015453272, + 0.012794305, + -0.007837349, + 0.017967103, + -0.02372789, + 0.00007268434, + 0.033969287, + -0.007431712, + 0.0075284694, + -0.008990995, + -0.0085816365, + -0.013032476, + 0.02351949, + -0.020333938, + -0.024963409, + 0.020140424, + -0.007874563, + 0.01234029, + 0.008916566, + -0.015927756, + -0.03167688, + 0.009586425, + -0.0085816365, + 0.010881485, + 0.016463643, + -0.03286774, + -0.015793784, + -0.016925102, + -0.032778427, + 0.011633216, + -0.0033064978, + -0.022938946, + -0.027508872, + -0.0015927756, + 0.035249464, + 0.027270699, + 0.034445632, + 0.014677352, + -0.010420027, + 0.017193045, + -0.034058604, + 0.03676781, + 0.012154217, + 0.017148387, + -0.019023992, + 0.029533334, + 0.03518992, + 0.018488105, + -0.0033697623, + -0.02688367, + 0.025171809, + 0.013784207, + -0.0067953463, + 0.012198875, + 0.010010669, + 0.017460989, + -0.001573238, + -0.022998488, + 0.015659813, + -0.033254772, + 0.032778427, + -0.03262957, + 0.030396707, + 0.007093061, + 0.001953755, + 0.00841045, + -0.045193147, + -0.021420598, + -0.018890021, + 0.021122884, + 0.0066018314, + 0.024933636, + -0.027449328, + -0.008298807, + -0.019396136, + -0.00814995, + 0.022507258, + 0.0013787929, + 0.017401446, + 0.010792171, + -0.014260551, + 0.0030050613, + 0.0031911333, + 0.019604538, + -0.03361203, + 0.017148387, + -0.0022477487, + 0.029682191, + 0.03801821, + -0.031736426, + -0.02639244, + 0.007547077, + 0.006542288, + 0.0029380755, + 0.03661895, + -0.012779419, + -0.0112313, + -0.025990525, + -0.013858636, + 0.020884711, + 0.038226612, + 0.010003226, + -0.011573673, + -0.018532762, + 0.020080881, + -0.016061727, + -0.0064083165, + -0.0054407427, + -0.009720396, + -0.015555612, + -0.010211627, + 0.015674697, + 0.014915524, + -0.009251496, + -0.044954974, + 0.019411022, + 0.033284545, + -0.0042610466, + -0.01707396, + 0.016106384, + 0.010859157, + -0.01531744, + -0.0014067036, + 0.035725806, + 0.049480245, + -0.028640188, + 0.013627907, + -0.04668172, + 0.0017714046, + -0.02846156, + -0.023817204, + -0.018622076, + -0.010903814, + 0.0048267054, + 0.03417769, + -0.04245417, + -0.0021119162, + 0.0075135836, + 0.011506687, + 0.041382395, + 0.038643416, + -0.014067037, + -0.034832664, + 0.02520158, + -0.017967103, + -0.014796439, + -0.031855512, + 0.018235048, + -0.0107326275, + -0.035338778, + 0.006385988, + 0.011298287, + 0.011432258, + -0.00080150476, + 0.016746473, + 0.01053167, + -0.026139382, + 0.0024263777, + 0.012578461, + -0.013233434, + 0.02418935, + -0.011112215, + -0.0037847026, + 0.020155309, + -0.025975639, + -0.0033306873, + -0.0022068128, + 0.0336418, + -0.02401072, + 0.002577096, + -0.002359392, + 0.035666265, + -0.012020245, + 0.011075, + -0.00864118, + 0.010546556, + -0.00003424886, + 0.006616717, + 0.00074103137, + -0.04293051, + 0.02155457, + -0.026660383, + -0.030932594, + 0.008953781, + 0.05299328, + 0.006300395, + 0.018309476, + -0.0009815294, + -0.029994793, + -0.015153697, + -0.015659813, + -0.0485871, + -0.016061727, + -0.039893817, + 0.004729948, + -0.048884813, + 0.025916096, + 0.011744859, + 0.0022849631, + 0.013546036, + -0.00608083, + -0.0044285115, + 0.018934678, + -0.0040973034, + -0.021822514, + -0.015555612, + 0.006955368, + -0.040786963, + 0.018815592, + 0.02344506, + -0.004179175, + 0.03182574, + -0.004703898, + 0.014290323, + 0.036112837, + -0.0012941301, + 0.012571018, + -0.013828864, + 0.0057756724, + 0.026526412, + 0.0034069768, + -0.00928871, + 0.023251547, + 0.01976828, + 0.008857023, + 0.03456472, + 0.012079788, + -0.030054335, + 0.0054146927, + 0.0066762604, + 0.0022030915, + -0.007174933, + 0.01156623, + -0.011499244, + -0.04090605, + -0.017059073, + -0.02243283, + 0.048974127, + 0.0131887775, + -0.000055123804, + 0.028178731, + 0.040310618, + -0.014379637, + 0.04331754, + 0.0019295657, + 0.013709779, + 0.03146848, + 0.01498251, + -0.021286627, + -0.027613072, + 0.0042982614, + -0.0062966733, + -0.0026571068, + 0.018532762, + 0.031379167, + 0.015644927, + 0.009095195, + 0.00442479, + -0.00064101774, + -0.028640188, + -0.0020077159, + 0.0041903392, + -0.02450195, + -0.013568364, + 0.0036153772, + -0.009869254, + -0.020244624, + -0.014893196, + 0.015778897, + 0.025737466, + 0.004179175, + -0.014617809, + -0.025677923, + -0.004599698, + 0.014171237, + -0.011581115, + 0.0066948673, + 0.023474833, + -0.021614114, + -0.014193566, + 0.013583249, + -0.020765625, + 0.0068660537, + -0.0084848795, + -0.027464215, + -0.03435632, + 0.009474781, + -0.025365323, + -0.025156923, + 0.007904335, + 0.003710274, + 0.0115364585, + -0.019009106, + 0.0012336568, + 0.0113876015, + -0.030262737, + -0.00799365, + -0.015056939 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 7, + "total_tokens": 7 + } + } + recorded_at: Fri, 12 Dec 2025 20:10:07 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_a_single_text_with_custom_dimensions.yml b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_a_single_text_with_custom_dimensions.yml new file mode 100644 index 000000000..5cdb85311 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_a_single_text_with_custom_dimensions.yml @@ -0,0 +1,846 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/text-embedding-3-small/embeddings?api-version=" + body: + encoding: UTF-8 + string: '{"model":"text-embedding-3-small","input":"Ruby is a programmer''s + best friend","dimensions":768}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '16657' + Content-Type: + - application/json + Access-Control-Allow-Origin: + - "*" + Apim-Request-Id: + - 78cfa50d-ca58-4ae6-bdbd-5f69944e1eb7 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Tokens: + - '249982' + X-Ratelimit-Limit-Tokens: + - '250000' + X-Request-Id: + - "" + Azureml-Model-Session: + - d20251125122509-fc1cf2eff8e84617 + X-Envoy-Upstream-Service-Time: + - '30' + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Azureml-Cluster-Local-Active-Requests: + - '{"upstream_stats_map":{"aoai-sp-txt-em-small-1-use-prod-aoai-standard-online-eastus":{"active_requests":"1","error_rate":"0","active_tokens":"9","engine_tbt_ms":"0"},"aoai-sp-txtemb-sm-1-usw2-prod-aoai-standard-online-westus2":{"active_requests":"0","error_rate":"0","active_tokens":"0","engine_tbt_ms":"0"}},"cluster_active_requests":"0","cluster_active_tokens":"0"}' + X-Ms-Deployment-Name: + - text-embedding-3-small + Date: + - Fri, 12 Dec 2025 20:10:07 GMT + body: + encoding: UTF-8 + string: | + { + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + -0.0606162, + -0.006371589, + -0.028853923, + 0.006782968, + 0.06337148, + -0.066279836, + 0.0076392097, + 0.03767465, + -0.029026128, + 0.0055105635, + -0.0047739083, + -0.04523254, + 0.044849865, + -0.016426453, + 0.01854075, + 0.028088566, + -0.008375865, + 0.007816198, + -0.023955643, + 0.043051276, + 0.055909257, + -0.009734372, + 0.028452111, + -0.02628998, + 0.06666251, + 0.010054865, + -0.003544555, + 0.032623302, + 0.041023083, + -0.023075484, + 0.0008305309, + -0.06386896, + 0.04243899, + 0.016675195, + 0.032872044, + 0.023285957, + 0.057019025, + -0.03645008, + 0.049939483, + 0.044275846, + 0.0011695597, + -0.024759268, + 0.05483776, + 0.02098989, + 0.026347382, + 0.0067590503, + -0.0095526, + -0.024261786, + 0.021181228, + 0.071101576, + -0.040678672, + 0.01854075, + -0.05028389, + 0.07798978, + -0.0348811, + -0.02261627, + -0.034842834, + 0.029714948, + -0.0035756477, + -0.040257726, + 0.020530676, + -0.011767349, + -0.037062366, + 0.028394708, + -0.07194347, + 0.02227186, + -0.07259402, + -0.022482334, + -0.026079508, + -0.024835803, + 0.043587025, + -0.007667911, + 0.013843377, + 0.016837833, + 0.058205325, + -0.055258706, + 0.022788476, + 0.071369454, + 0.051967677, + 0.008720275, + 0.028853923, + 0.01091589, + 0.027973764, + -0.08250538, + -0.05499083, + -0.051776335, + -0.02192745, + -0.039301034, + 0.027361479, + -0.011585577, + -0.05782265, + 0.04580656, + -0.002105925, + 0.053536654, + 0.0056253667, + 0.0048719696, + -0.05292437, + 0.030040225, + -0.012102192, + -0.0016192064, + 0.019688783, + 0.0045251674, + -0.014780939, + -0.023037218, + 0.08824555, + -0.00607023, + 0.029294003, + -0.0092129735, + -0.032585032, + 0.022061387, + -0.12643681, + -0.032967713, + 0.0123605, + -0.0595447, + -0.023324225, + -0.00408748, + 0.030097626, + 0.026959667, + 0.020435005, + -0.04890625, + -0.0072900164, + -0.03767465, + -0.039014023, + -0.05085791, + -0.02516108, + -0.048982788, + -0.007256532, + 0.006041529, + 0.010925458, + -0.02898786, + 0.007811415, + -0.0091747055, + 0.044811595, + 0.009370828, + 0.0134606995, + -0.028509513, + -0.014331291, + -0.074966624, + 0.006639464, + 0.05346012, + -0.011662113, + -0.010494945, + -0.034594093, + -0.007108244, + -0.05120232, + 0.017163109, + -0.05495256, + 0.03359913, + -0.0348237, + 0.0016754122, + -0.03348433, + -0.0058932416, + -0.01878949, + 0.011250733, + 0.0051757204, + -0.03413488, + -0.025715962, + -0.0031881863, + -0.0036067404, + -0.039836783, + -0.039415836, + 0.037827723, + -0.04511774, + -0.005295307, + 0.0010039319, + -0.04630404, + -0.048370503, + 0.04263033, + -0.027304078, + 0.029753216, + 0.014417394, + -0.020147998, + -0.05453162, + -0.0076487768, + 0.042859938, + -0.052694764, + 0.06390723, + -0.025964703, + -0.028222503, + 0.009844392, + 0.009796557, + 0.014981844, + 0.053498387, + -0.028184237, + 0.00030793622, + -0.08158696, + 0.0031523101, + 0.0013991665, + -0.006562928, + -0.023018083, + -0.0073952526, + 0.0799797, + 0.019994926, + 0.068652436, + 0.07106331, + -0.01424519, + 0.04733727, + -0.03956891, + -0.037693784, + 0.0065964125, + -0.009232108, + 0.022405798, + 0.022329262, + -0.03365653, + -0.032087553, + -0.0025472005, + -0.008854212, + 0.041176155, + -0.033292986, + -0.02747628, + 0.005567965, + 0.003939192, + -0.018397246, + -0.011843884, + 0.03639268, + -0.008222794, + 0.06895858, + 0.036526617, + 0.00045173944, + -0.009557383, + -0.026079508, + 0.048140895, + 0.11947208, + 0.004137706, + 0.006553361, + 0.04940373, + 0.06999181, + -0.025486356, + 0.061151948, + 0.012924951, + 0.058052257, + -0.0004900072, + -0.004494075, + -0.06268266, + 0.026902264, + 0.0134606995, + -0.043166082, + 0.028471244, + -0.0025830767, + -0.06853763, + -0.0048624026, + -0.033025112, + 0.005921942, + 0.015795035, + -0.019899257, + -0.022960681, + -0.024051314, + 0.0539576, + 0.008041022, + 0.0007976445, + 0.030537706, + 0.03556992, + 0.036507484, + -0.057248633, + -0.045538682, + -0.040946547, + -0.019803587, + 0.04354876, + 0.071101576, + -0.045041203, + -0.055947527, + -0.05418721, + -0.03124566, + 0.0016634535, + -0.0014792897, + 0.010485378, + -0.019994926, + 0.03991332, + 0.017134408, + -0.0018811016, + 0.071637325, + -0.011241167, + 0.09260808, + 0.008184526, + 0.0033412576, + -0.05522044, + 0.040716942, + 0.029638413, + -0.03855481, + -0.0076583438, + -0.0426686, + 0.032967713, + 0.03222149, + 0.020855952, + 0.030403769, + -0.012542272, + -0.023821706, + 0.0370815, + 0.0866383, + 0.0058932416, + -0.0029681465, + 0.012934517, + 0.02437659, + 0.011872586, + -0.0043888385, + -0.023075484, + 0.11365537, + -0.041405763, + -0.007026925, + 0.030384636, + 0.043242615, + 0.0325659, + 0.019746186, + -0.05150846, + -0.0269788, + 0.0030590324, + 0.02422352, + -0.08350034, + -0.0018009784, + 0.025141945, + -0.05694249, + -0.0022841094, + -0.047260735, + -0.061037146, + -0.05904722, + -0.080132775, + -0.0042357673, + -0.02098989, + -0.006644247, + -0.034173146, + 0.011222033, + -0.031188259, + 0.017689291, + 0.0156898, + -0.022176191, + -0.010475811, + 0.022405798, + -0.030614242, + 0.025218481, + 0.0122169955, + -0.012752745, + -0.048140895, + -0.020243667, + 0.067695744, + 0.0016491031, + -0.089393586, + -0.035589054, + -0.0137764085, + -0.0076631275, + 0.0014721145, + -0.0008365102, + -0.064634316, + -0.05066657, + -0.049556803, + -0.014761805, + -0.0042070663, + 0.019526146, + 0.018492915, + -0.006505526, + 0.045270808, + -0.052312084, + 0.027457148, + 0.02001406, + 0.0034321435, + -0.0017555354, + -0.053498387, + 0.022788476, + -0.03147527, + -0.083117664, + 0.02437659, + -0.07125465, + -0.01145164, + -0.05009255, + 0.017985867, + 0.0054005436, + 0.07527277, + -0.02506541, + -0.018751223, + 0.0077587967, + 0.02261627, + -0.0471842, + 0.04756688, + 0.03109259, + -0.03689016, + -0.029829752, + -0.009519116, + -0.032891177, + 0.0143886935, + 0.0708337, + 0.063945495, + -0.044161044, + 0.049021054, + 0.07573198, + -0.022310128, + 0.055488314, + -0.019401776, + -0.0037956876, + -0.03576126, + -0.02653872, + 0.0010523646, + 0.025103679, + -0.0035971734, + 0.021525638, + -0.029447073, + 0.0008179743, + -0.025562892, + -0.007691828, + 0.014876608, + 0.011375104, + -0.031800542, + 0.021563906, + -0.017268345, + 0.007682261, + -0.019353941, + -0.031915348, + 0.034020077, + -0.02010973, + 0.06161116, + -0.005606233, + 0.0027768074, + 0.0070460592, + -0.017612755, + 0.07045102, + 0.008792028, + -0.04175017, + -0.060884073, + -0.03388614, + -0.039645445, + -0.07244095, + 0.062376518, + 0.0116429785, + -0.06486393, + -0.022157058, + -0.062874, + 0.0415971, + 0.03889922, + 0.026404783, + -0.06398377, + -0.045002934, + -0.040946547, + 0.05085791, + 0.016665628, + 0.03359913, + -0.0069599566, + 0.04121442, + -0.03413488, + 0.0029777132, + 0.0005252854, + 0.040487334, + 0.03845914, + -0.029714948, + 0.0070317085, + -0.056445006, + 0.014752238, + -0.0853372, + -0.044505455, + -0.048332233, + -0.07806632, + -0.013508534, + -0.022788476, + 0.007868817, + -0.053881064, + 0.004685414, + 0.029600145, + 0.0068595037, + -0.015938539, + 0.04366356, + 0.005213988, + 0.013623337, + 0.0032886392, + 0.01976532, + 0.07860207, + -0.08717405, + -0.013183258, + 0.025448088, + -0.06597369, + -0.029504476, + 0.06295054, + 0.008916398, + 0.00550578, + 0.0005805943, + 0.037789453, + -0.034249682, + -0.0029227033, + -0.044849865, + 0.0156132635, + -0.020262802, + -0.031111723, + -0.039147962, + -0.039492372, + -0.016703896, + 0.007696612, + 0.07423954, + -0.032948576, + -0.055909257, + 0.0051805037, + -0.0034943286, + -0.0034560608, + 0.024453126, + 0.009203406, + 0.002397717, + -0.0025376335, + 0.040181194, + -0.024108715, + -0.011499475, + 0.037617248, + -0.030250698, + 0.00488632, + 0.033063382, + -0.036258742, + 0.008337597, + -0.05571792, + -0.0012532705, + 0.04209458, + -0.008151042, + -0.013632905, + 0.033579998, + -0.03344606, + -0.011289001, + 0.052886102, + 0.022673672, + -0.028624317, + 0.030595107, + 0.026500452, + -0.015555861, + -0.0073330677, + -0.010380141, + 0.050781373, + -0.013785976, + 0.013441565, + -0.003963109, + 0.011996956, + 0.03491937, + -0.044007972, + 0.023266824, + 0.0031738358, + 0.004001377, + 0.04002812, + 0.012628375, + -0.02010973, + 0.048867982, + -0.0017997825, + 0.021946585, + 0.0030327232, + -0.00013528267, + -0.034326218, + -0.05575619, + 0.008299329, + -0.0134606995, + -0.009016851, + -0.036086537, + 0.013326762, + -0.020377604, + 0.035091575, + -0.038612213, + 0.0050657005, + -0.03065251, + -0.041864976, + 0.029714948, + -0.015201884, + 0.060195252, + -0.03889922, + -0.0041592317, + -0.05571792, + 0.04630404, + -0.036182206, + 0.007156079, + 0.011269867, + -0.06444298, + 0.040295996, + -0.031264793, + -0.003281464, + 0.028719986, + 0.005099185, + 0.0037239355, + 0.0539576, + 0.025849901, + -0.07458395, + -0.011193332, + -0.026423918, + 0.033101648, + 0.023113752, + -0.024701865, + -0.043395687, + -0.013431999, + -0.042706866, + 0.016713463, + 0.0023726036, + 0.011241167, + 0.0123318, + 0.006998224, + -0.014331291, + -0.06302707, + 0.048370503, + -0.09015894, + -0.05150846, + 0.029695814, + -0.058932416, + -0.032585032, + 0.0005587697, + 0.0113464035, + 0.048944518, + 0.009633919, + 0.041023083, + -0.032087553, + 0.028509513, + -0.03281464, + 0.003972676, + -0.047834754, + 0.027552817, + 0.022252727, + -0.012341366, + 0.041061353, + -0.0010386121, + 0.008983366, + -0.036737088, + -0.011547309, + -0.015479326, + -0.03181968, + 0.0065485775, + -0.012599674, + 0.032986846, + 0.0077157454, + -0.049709875, + 0.0016431238, + 0.030384636, + 0.002461098, + -0.022539735, + 0.0053622755, + -0.029006993, + -0.03880355, + 0.012197861, + -0.019353941, + -0.015364522, + 0.04125269, + 0.045002934, + 0.0043792715, + 0.008438051, + 0.0027313645, + -0.025677696, + 0.010274905, + -0.008662874, + 0.0030949085, + -0.0449264, + 0.058970682, + 0.021736111, + -0.0058549736, + -0.027399747, + 0.03824867, + -0.023285957, + 0.03711977, + 0.03468976, + -0.047413807, + 0.00096566405, + 0.014063417, + -0.042706866, + -0.020071462, + 0.033618264, + -0.0137955425, + -0.019019097, + -0.036469214, + -0.030442037, + -0.0020712449, + -0.0006583258, + 0.026519587, + -0.006974307, + 0.0015211451, + -0.009380395, + 0.0382104, + 0.008720275, + -0.027361479, + 0.008921182, + -0.014197354, + 0.016273383, + -0.005094401, + 0.0056923353, + 0.02958101, + 0.053000905, + 0.017335314, + -0.028165102, + -0.020167131, + 0.024472259, + 0.04370183, + -0.026117776, + 0.011241167, + -0.046150967, + 0.0020891828, + 0.014943576, + -0.041482296, + 0.0292366, + -0.020817684, + 0.003790904, + -0.034555826, + -0.014340859, + 0.036316145, + 0.010973292, + -0.023821706, + 0.021085558, + 0.061917305, + -0.019286972, + -0.017670158, + 0.0024479434, + 0.050590035, + -0.023630368, + 0.054455083, + -0.013135423, + 0.019248703, + -0.020913353, + -0.048140895, + -0.12536532, + 0.02761022, + 0.04320435, + -0.045270808, + -0.014647001, + -0.047299, + -0.040295996, + -0.030231563, + -0.0651318, + 0.0013082805, + 0.0084237, + -0.0574017, + 0.009418663, + -0.026002971, + 0.0028246422, + -0.066815585, + -0.038191266, + -0.018349411, + -0.03438362, + 0.014111252, + -0.049212392, + -0.0764208, + 0.05675115, + -0.06819322, + -0.029313136, + 0.033273853, + 0.0015761551, + -0.038229533, + -0.018598152, + -0.050781373, + 0.004448632, + 0.014847907, + 0.013728574, + -0.012896249, + -0.021736111, + 0.0461127, + -0.0015091865, + -0.05365146, + -0.016512556, + -0.060118716, + -0.07485182, + 0.050245624, + -0.03159007, + 0.007849683, + 0.03159007, + -0.022080522, + 0.016703896, + 0.019162603, + 0.041673638, + -0.00054382137, + 0.049021054, + 0.009294292, + 0.018081537, + 0.018435514, + 0.002970538, + -0.0016060518, + -0.045691755, + -0.052273817, + 0.0010368183, + -0.013948614, + 0.11266041, + -0.024893206, + 0.0506283, + 0.0040300777, + -0.0004998732, + 0.049365465, + -0.007629643, + -0.0014721145, + -0.029045261 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 7, + "total_tokens": 7 + } + } + recorded_at: Fri, 12 Dec 2025 20:10:08 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_multiple_texts.yml b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_multiple_texts.yml new file mode 100644 index 000000000..bd7239ce4 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_multiple_texts.yml @@ -0,0 +1,4697 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/text-embedding-3-small/embeddings?api-version=" + body: + encoding: UTF-8 + string: '{"model":"text-embedding-3-small","input":["Ruby","Python","JavaScript"]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '99525' + Content-Type: + - application/json + Access-Control-Allow-Origin: + - "*" + Apim-Request-Id: + - 607a2ba2-63e6-4fab-80f1-5b8c6009c124 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Tokens: + - '249976' + X-Ratelimit-Limit-Tokens: + - '250000' + X-Request-Id: + - "" + Azureml-Model-Session: + - d20251125150508-a8913cdba80c4333 + X-Envoy-Upstream-Service-Time: + - '34' + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Azureml-Cluster-Local-Active-Requests: + - '{"upstream_stats_map":{"aoai-sp-txtemb-sm-1-usw2-prod-aoai-standard-online-westus2":{"active_requests":"0","error_rate":"0","active_tokens":"0","engine_tbt_ms":"0"},"aoai-sp-txt-em-small-1-use-prod-aoai-standard-online-eastus":{"active_requests":"3","error_rate":"0","active_tokens":"49","engine_tbt_ms":"0"}},"cluster_active_requests":"0","cluster_active_tokens":"0"}' + X-Ms-Deployment-Name: + - text-embedding-3-small + Date: + - Fri, 12 Dec 2025 20:10:07 GMT + body: + encoding: UTF-8 + string: | + { + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + -0.013653668, + 0.005637456, + -0.013808384, + 0.03220667, + 0.00549241, + -0.036822356, + 0.016399873, + 0.023323404, + 0.019519974, + -0.0053763734, + 0.008548046, + -0.018063067, + 0.008257954, + 0.012699587, + -0.0009299063, + 0.01864325, + 0.00720073, + 0.0072587486, + -0.056574404, + 0.04050975, + 0.039684597, + -0.026997903, + 0.023890695, + 0.013041251, + 0.033315465, + 0.041128613, + -0.026843188, + -0.0032941569, + -0.0054182755, + -0.053170655, + -0.012261226, + -0.044996507, + 0.060648587, + -0.027616767, + -0.00722007, + -0.05082413, + 0.046388946, + -0.02931864, + 0.04195376, + 0.024509558, + 0.0148398215, + -0.009031533, + 0.00269141, + 0.008967069, + 0.038472656, + 0.026972117, + 0.008722102, + -0.02888028, + -0.0012860749, + 0.03736386, + -0.02274322, + -0.0019645682, + -0.035507273, + 0.05121092, + -0.03584249, + 0.004596348, + -0.05776056, + 0.06348504, + 0.0077422354, + -0.011448967, + -0.016876914, + -0.023374975, + -0.05806999, + 0.029370213, + -0.043036774, + 0.0059275483, + -0.06420705, + -0.006214417, + 0.008902604, + 0.021569958, + 0.024019625, + -0.009457002, + 0.0007381232, + 0.020680342, + 0.019958336, + -0.009785773, + -0.018256461, + 0.048761256, + -0.004035503, + 0.0051894253, + 0.010307939, + -0.017237917, + -0.024922134, + -0.043913495, + 0.01669641, + -0.03411483, + -0.044197142, + -0.010456208, + 0.048451826, + -0.020241981, + -0.04138647, + 0.0026366147, + -0.021234741, + 0.03282553, + 0.015471578, + 0.022549825, + -0.031510446, + -0.018746395, + -0.020719022, + -0.00841267, + 0.0011200778, + -0.030504795, + -0.012622229, + 0.01906872, + 0.020783486, + 0.022253286, + 0.0014963917, + -0.030169576, + -0.035120483, + 0.027900413, + -0.101235695, + -0.023929374, + -0.008625405, + -0.034269545, + -0.006929978, + 0.008612512, + 0.0048574307, + 0.020641664, + 0.003413417, + -0.038369514, + -0.03308339, + -0.033908542, + -0.055749252, + -0.017534455, + -0.015097681, + 0.008967069, + 0.027694125, + -0.011842203, + 0.007909845, + -0.04994741, + 0.013292664, + -0.041128613, + -0.004477088, + -0.0019033264, + 0.0043546045, + -0.02511553, + -0.03584249, + -0.01785678, + 0.039452523, + 0.02162153, + 0.008296634, + -0.0009008971, + 0.010752747, + -0.045125436, + -0.015703652, + 0.014685106, + -0.0459248, + 0.018230677, + -0.030479008, + 0.038111653, + 0.0061402824, + 0.0072329626, + -0.022820577, + 0.02577307, + -0.022021212, + -0.076378025, + 0.004612464, + 0.022975294, + -0.037389647, + -0.0266369, + -0.018346712, + 0.023980945, + -0.03393433, + -0.02270454, + 0.010172563, + -0.052577578, + -0.048761256, + 0.012132295, + -0.027333122, + 0.01868193, + 0.020435376, + -0.0043288185, + -0.02650797, + 0.0007252302, + -0.032232452, + -0.031201016, + 0.042624198, + -0.029885931, + -0.010050079, + 0.0038550014, + -0.009366751, + 0.059049856, + 0.013808384, + -0.00043110907, + 0.027487837, + -0.04458393, + 0.006452937, + 0.0029492695, + -0.005898539, + -0.0006128195, + -0.038111653, + 0.054975674, + 0.0069815493, + 0.029550714, + 0.020577198, + 0.0028026118, + 0.012654462, + -0.023993839, + -0.030736867, + 0.017031629, + -0.018746395, + 0.025450746, + 0.026585327, + -0.050050553, + -0.022678755, + -0.013898634, + 0.022059891, + -0.038189013, + -0.0191074, + -0.036435567, + 0.08359809, + 0.03238717, + -0.033057604, + 0.020035693, + 0.018604573, + -0.01612912, + 0.060854875, + 0.012338583, + 0.02101556, + 0.032103524, + -0.03782801, + 0.0013940537, + 0.074005716, + 0.039246235, + -0.016941378, + 0.035300985, + 0.024947919, + -0.021776246, + 0.0060919337, + 0.008058113, + 0.02983436, + -0.0369255, + -0.037157573, + -0.013963099, + -0.021905176, + 0.036074564, + -0.031458873, + 0.0070202285, + 0.011487647, + -0.065444775, + -0.09262318, + -0.044558145, + -0.0056922515, + -0.010572245, + 0.022279073, + 0.04107704, + 0.0034359796, + -0.00769711, + 0.014285424, + -0.01574233, + -0.012312798, + 0.0032151872, + -0.0013972769, + -0.04061289, + -0.038885232, + -0.029757002, + -0.0064239283, + 0.05729641, + 0.025837535, + -0.03532677, + -0.05301594, + -0.036770783, + -0.02015173, + -0.008528708, + -0.032361384, + -0.030994728, + 0.0031426642, + 0.0057760556, + 0.022640076, + 0.0060210223, + -0.025412066, + -0.012241886, + 0.028648205, + 0.00005993222, + -0.012512638, + -0.001132165, + 0.0066656717, + 0.025695713, + 0.04203112, + 0.0021676326, + -0.028596634, + 0.0008231363, + 0.0034746586, + -0.0088897105, + -0.011029946, + 0.025798855, + 0.0034907747, + 0.012080723, + 0.11098278, + 0.033521753, + 0.009502128, + -0.020087264, + 0.02507685, + -0.0022079232, + -0.035146266, + -0.026920546, + 0.087930135, + -0.04401664, + 0.006578644, + 0.0111008575, + 0.0705504, + 0.04956062, + 0.025708605, + -0.014852715, + -0.011120196, + 0.01583258, + 0.006265989, + -0.051700857, + 0.010527119, + -0.0028090584, + -0.012428834, + 0.004148317, + -0.05889514, + -0.055078816, + -0.03826637, + -0.06023601, + 0.0066527785, + 0.025012385, + 0.016619053, + 0.014968752, + 0.05020527, + -0.032232452, + 0.019300794, + 0.016477231, + -0.031097872, + -0.028467704, + 0.02707526, + -0.05966872, + 0.05641969, + -0.016206479, + -0.024161447, + -0.055594537, + 0.027745696, + 0.009882471, + 0.034578975, + -0.06884852, + -0.038163226, + -0.009476341, + 0.008225722, + -0.016928485, + -0.016967164, + -0.06312404, + -0.0039549223, + 0.008206382, + -0.01574233, + -0.00045971537, + -0.002759098, + -0.0016889806, + -0.007761575, + 0.029163925, + 0.037157573, + 0.013872848, + -0.01846275, + 0.029344426, + 0.01124268, + -0.06204103, + 0.027178405, + -0.022498254, + -0.0251671, + 0.105309874, + -0.06400076, + 0.0325161, + -0.011300698, + 0.0034875516, + 0.037724864, + 0.033263892, + 0.005650349, + 0.007735789, + -0.019287901, + 0.011687487, + -0.040948108, + 0.027771482, + -0.005975897, + 0.0034230866, + -0.0031136551, + 0.01600019, + -0.024638487, + -0.01444014, + 0.028390346, + 0.0062949983, + -0.008141918, + 0.043526705, + -0.00036644272, + -0.028338773, + 0.024960812, + -0.007381232, + 0.020474054, + -0.019648904, + -0.036203492, + 0.0214926, + 0.009050873, + -0.011423182, + 0.008780121, + -0.06601206, + 0.0063626864, + -0.028080914, + -0.022562718, + 0.0009299063, + 0.015793903, + -0.003925913, + 0.0005451314, + -0.049612194, + -0.006427151, + -0.0009798666, + -0.023877801, + 0.03978774, + -0.003890457, + 0.01161013, + 0.0039871545, + -0.050953064, + -0.0022707763, + 0.024122769, + 0.0428047, + 0.005647126, + -0.0100049535, + -0.055852395, + 0.00905732, + -0.03411483, + -0.03594563, + 0.03622928, + 0.035172053, + -0.009018641, + -0.021389456, + -0.022098571, + 0.012648015, + 0.06637307, + 0.037595935, + -0.038498443, + 0.0039484757, + -0.031097872, + -0.016232263, + 0.036822356, + 0.04406821, + 0.0014448197, + 0.045847442, + -0.012976786, + -0.007748682, + 0.01318952, + 0.008058113, + -0.026404826, + 0.010791426, + -0.0076519847, + -0.023942268, + 0.024109876, + -0.06864224, + -0.015265291, + 0.007355446, + -0.041670118, + -0.00073449704, + -0.033805396, + -0.024857668, + 0.0076068593, + -0.023452334, + 0.041979548, + 0.00066962925, + -0.0055375355, + 0.03354754, + 0.008676977, + 0.031974595, + 0.005498857, + 0.034450047, + 0.0266369, + -0.027823055, + 0.031020515, + 0.038343728, + -0.05136564, + -0.022124356, + 0.040380817, + 0.006736583, + -0.03537834, + -0.0026124404, + 0.04566694, + 0.0023642506, + -0.012480406, + -0.027049476, + -0.013834169, + 0.0027655445, + -0.04164433, + 0.008618958, + -0.01897847, + -0.023980945, + 0.029576499, + 0.026662687, + -0.04089654, + -0.040380817, + 0.07426357, + 0.019958336, + 0.024200127, + -0.010997714, + 0.012680247, + -0.014672213, + -0.03615192, + 0.024367735, + -0.015291076, + 0.011062178, + 0.008483582, + -0.05538825, + -0.0009250714, + 0.018269354, + -0.07070511, + -0.034192186, + -0.0149429655, + -0.0058372975, + -0.0031732852, + -0.012963893, + -0.022640076, + 0.032103524, + 0.0045222132, + -0.0057083676, + 0.029808573, + 0.018540107, + -0.026688471, + 0.021982534, + 0.0031491108, + -0.0088897105, + 0.011468307, + -0.0053344714, + 0.029473355, + -0.0063884724, + -0.006955764, + -0.0006672118, + -0.017353954, + 0.0004915449, + -0.04618266, + -0.011494093, + -0.04597637, + 0.035300985, + -0.0061789616, + -0.010417529, + -0.046492092, + 0.02417434, + -0.0057857255, + -0.011139536, + 0.029267069, + -0.017959923, + -0.010301492, + -0.033057604, + 0.024419308, + 0.024277484, + 0.0074714827, + -0.053222228, + -0.008896157, + -0.030427437, + 0.009108892, + -0.04726567, + 0.023491012, + -0.012718926, + 0.002029033, + 0.0144272465, + 0.04138647, + 0.03927202, + -0.025141314, + 0.006369133, + -0.02784884, + 0.04234055, + -0.037234932, + -0.0046414733, + -0.02049984, + -0.009998507, + 0.022511145, + -0.014246745, + 0.050566275, + 0.0060403617, + -0.0037647507, + -0.021041347, + 0.015755223, + 0.01954576, + -0.027951984, + -0.042005334, + -0.04540908, + -0.024522452, + -0.0030105112, + -0.014079136, + -0.044867575, + -0.013099269, + -0.009437663, + 0.009444109, + -0.008000095, + 0.026456399, + 0.019687584, + 0.0023980946, + -0.02417434, + -0.008212829, + 0.01100416, + -0.08220565, + -0.033960115, + 0.017586026, + -0.022175929, + -0.018862432, + 0.040148746, + 0.011797078, + 0.039246235, + 0.004531883, + 0.018553, + -0.0018904334, + 0.01184865, + 0.019597333, + -0.00062007183, + -0.05513039, + 0.039633024, + 0.0052571134, + -0.014027564, + 0.03339282, + -0.0011305533, + -0.019042933, + 0.020100158, + 0.00463825, + -0.024496665, + -0.044609718, + 0.012132295, + -0.016902698, + 0.034372687, + 0.014336996, + -0.032851316, + 0.004834868, + 0.035481486, + 0.0048477612, + -0.03354754, + 0.0020209749, + -0.044377644, + -0.034269545, + 0.0020564306, + -0.014336996, + 0.00018896276, + 0.012764052, + 0.051571928, + -0.036177706, + -0.037905365, + 0.00018473226, + -0.034733694, + -0.0010137106, + -0.013563417, + -0.025927786, + -0.073851, + 0.055852395, + 0.008341759, + -0.011797078, + -0.024754524, + 0.040355034, + 0.03736386, + 0.024135662, + 0.032284025, + 0.002605994, + -0.0071813907, + 0.006572197, + -0.030195363, + 0.006053255, + -0.0011257185, + 0.006343347, + 0.030195363, + 0.0010628651, + 0.0017196015, + -0.017005842, + -0.05064363, + -0.011487647, + -0.019829405, + -0.015342648, + 0.008212829, + 0.035790917, + 0.01759892, + 0.0022095346, + 0.004096745, + -0.016374087, + 0.014517497, + -0.0032313035, + 0.041979548, + -0.019055827, + 0.009379644, + -0.0088188, + 0.018514322, + 0.005911432, + 0.013266878, + 0.010288599, + -0.023581263, + 0.017766528, + -0.018553, + -0.023877801, + 0.007535948, + -0.04623423, + 0.026211431, + -0.028545061, + -0.005318355, + -0.064980626, + -0.02469006, + 0.0061918544, + -0.006697904, + -0.0029960065, + -0.011332931, + 0.02430327, + 0.03679657, + -0.010546459, + -0.0011039616, + 0.021505494, + -0.019042933, + 0.026340362, + -0.0045479992, + 0.007929184, + -0.0077293427, + -0.036048777, + -0.11634626, + 0.023916481, + 0.015677866, + -0.010714068, + -0.021389456, + -0.003250643, + -0.012093617, + 0.0054440615, + -0.04726567, + 0.039710384, + 0.006762369, + -0.036435567, + 0.00084932515, + -0.033186536, + -0.017173452, + -0.032232452, + -0.003861448, + 0.0006116108, + -0.011487647, + 0.02235643, + -0.03181988, + -0.013370022, + 0.041927975, + -0.052577578, + -0.032232452, + 0.007142712, + 0.016657732, + -0.028906064, + 0.022459574, + -0.047936104, + -0.005808288, + 0.005466624, + 0.048580755, + 0.02140235, + -0.00709114, + 0.019984122, + 0.014233852, + -0.006597983, + -0.0016648063, + -0.052190788, + 0.0067559225, + 0.027823055, + -0.01574233, + -0.018295141, + -0.0047736266, + -0.016451444, + 0.00079009804, + 0.026946332, + 0.010320832, + -0.018050175, + 0.033573326, + 0.0023384646, + 0.0069815493, + 0.01186799, + 0.0025608684, + -0.008786567, + -0.04306256, + -0.0058920924, + -0.003477882, + -0.012635122, + 0.03640978, + -0.026791615, + -0.0080323275, + -0.007780914, + 0.014324103, + -0.00465759, + 0.027049476, + 0.017611813, + -0.036590282, + 0.020847952, + -0.0032135756, + 0.005386043, + -0.020680342, + -0.017328167, + 0.0011990473, + 0.027358906, + 0.02746205, + -0.039194666, + -0.001700262, + -0.007838933, + 0.03393433, + -0.016322514, + 0.03354754, + -0.02520578, + -0.01344738, + -0.0020209749, + 0.0060403617, + -0.019262115, + -0.015110575, + 0.0006398142, + -0.003558463, + 0.009759987, + -0.0014319267, + -0.008741441, + -0.018269354, + -0.006710797, + -0.029963288, + -0.016941378, + -0.09473763, + 0.017895458, + -0.015664972, + 0.022640076, + 0.028080914, + 0.012815624, + 0.02568282, + 0.003993601, + -0.0064045885, + 0.030195363, + 0.00019500635, + -0.008464242, + -0.0459248, + -0.0010902628, + -0.0071813907, + -0.0130219115, + 0.05513039, + -0.023078438, + -0.00012077098, + -0.0021112256, + 0.010610924, + 0.007245856, + 0.03994246, + 0.0326966, + 0.028570848, + 0.0382148, + -0.02062877, + -0.007851826, + 0.020860843, + 0.012267672, + 0.013241092, + 0.0048477612, + -0.020847952, + 0.020512734, + -0.021131597, + -0.0098502375, + 0.023155795, + -0.007142712, + 0.048322894, + -0.0009073436, + -0.013473166, + -0.033418607, + -0.00512496, + 0.006717243, + 0.00953436, + 0.023529692, + -0.017392632, + -0.038730517, + 0.021866497, + 0.019275008, + -0.00003968621, + 0.020757701, + -0.015497364, + -0.027049476, + -0.039143093, + 0.011378056, + 0.023968052, + 0.0067881546, + -0.017624706, + -0.015587615, + -0.01630962, + 0.021376563, + 0.017134773, + -0.03640978, + 0.00292993, + -0.005218434, + -0.027152618, + -0.011075071, + 0.026765829, + 0.005518196, + 0.012280565, + 0.0013900246, + -0.010378851, + 0.012506193, + 0.02331051, + -0.024187233, + -0.006936424, + 0.008793013, + -0.018849539, + -0.036899712, + 0.018836645, + -0.021376563, + 0.014336996, + 0.017044522, + -0.04120597, + -0.0076906634, + 0.007535948, + 0.017972816, + 0.005070165, + 0.0037067323, + 0.008618958, + 0.016412765, + -0.016683519, + 0.074573, + -0.035919845, + -0.03148466, + -0.0057857255, + 0.016928485, + -0.01418228, + 0.02196964, + 0.044738647, + 0.014414353, + -0.015303969, + -0.022433788, + -0.014465925, + 0.0109139085, + 0.016013084, + 0.012093617, + 0.022575611, + 0.0028396791, + 0.011023499, + -0.014027564, + -0.01734106, + -0.015420006, + -0.0017502223, + 0.024122769, + 0.003400524, + -0.020177517, + -0.032722387, + 0.005386043, + -0.0023078436, + 0.027668338, + 0.010469101, + -0.023452334, + 0.010778532, + 0.024496665, + 0.028080914, + 0.014556176, + -0.006385249, + 0.018217783, + -0.013718133, + 0.035094697, + -0.027255762, + 0.026327468, + 0.01686402, + -0.019275008, + 0.00720073, + 0.01945551, + -0.020332232, + 0.0055633215, + 0.013118609, + 0.026920546, + 0.01638698, + -0.012177421, + -0.0069686566, + -0.000863024, + -0.014814036, + -0.005582661, + -0.035507273, + 0.023542585, + 0.012035598, + -0.056316543, + 0.007065354, + 0.045125436, + -0.034759477, + 0.043475132, + -0.044351857, + -0.021337885, + 0.015162147, + -0.020783486, + -0.00082031597, + 0.07307742, + -0.027668338, + -0.029937504, + -0.014220959, + 0.018140426, + 0.017457098, + 0.0009734201, + -0.045641154, + 0.034140617, + -0.021118704, + 0.026404826, + -0.0022578833, + -0.020358019, + -0.016425658, + 0.01915897, + 0.015007431, + 0.03831794, + 0.010610924, + 0.014697999, + 0.014066243, + -0.010095204, + -0.0028703, + 0.041180182, + 0.04613109, + 0.017547349, + 0.008277294, + -0.006878406, + -0.008257954, + 0.027436266, + -0.0053667035, + -0.012654462, + 0.013292664, + -0.008515814, + 0.026263004, + -0.0095408065, + -0.00013245524, + 0.00010566202, + 0.03463055, + 0.004274023, + 0.082050934, + 0.0111524295, + 0.022769006, + -0.009463448, + 0.034965765, + 0.008419117, + 0.010043632, + 0.0011096023, + 0.013872848, + 0.03117523, + -0.01161013, + 0.0005741406, + -0.017972816, + 0.01162947, + -0.0016116227, + 0.012783391, + -0.020461163, + -0.012635122, + -0.015407113, + -0.0011378056, + -0.0027913305, + -0.010817211, + 0.00034186547, + 0.009921149, + 0.0064239283, + -0.010836551, + 0.033031818, + 0.023194473, + 0.0062982216, + 0.018553, + 0.006578644, + 0.021711782, + -0.019442616, + -0.014594855, + 0.008425564, + -0.0010628651, + -0.0009307121, + 0.0031184899, + 0.0011426405, + 0.015059003, + -0.022124356, + -0.01026926, + -0.0057180375, + -0.0018759288, + -0.009128231, + 0.009444109, + 0.047162525, + -0.024664273, + -0.011642362, + -0.0070975865, + -0.00062933867, + -0.009050873, + 0.0006470665, + 0.0036164813, + -0.0010580303, + -0.019997014, + -0.020486947, + 0.012396602, + 0.005763163, + 0.019313686, + 0.0073683388, + -0.008206382, + -0.022472467, + 0.009560145, + 0.006436821, + -0.015471578, + -0.02421302, + 0.012125849, + -0.009340965, + -0.015329755, + 0.03795694, + 0.00452866, + -0.005721261, + 0.043784566, + -0.010527119, + 0.032928675, + -0.0073232134, + -0.027951984, + 0.021196062, + -0.049276974, + -0.004631804, + 0.012963893, + 0.02261429, + -0.0020789932, + -0.00439973, + -0.02279479, + -0.0029782788, + -0.033263892, + 0.0067559225, + -0.023194473, + 0.009940489, + -0.004377167, + 0.012196761, + -0.035094697, + 0.035971418, + -0.008831693, + 0.009734201, + 0.020100158, + 0.040483963, + 0.036203492, + 0.008548046, + 0.061370593, + 0.021737566, + 0.008767228, + -0.0074263574, + 0.012054938, + -0.013279771, + 0.006343347, + -0.0026495077, + -0.01072696, + 0.0025947127, + 0.03040165, + -0.020203302, + -0.011339378, + 0.0044448553, + -0.013176627, + 0.007245856, + 0.0013892187, + -0.020474054, + 0.015897047, + -0.0014786639, + 0.041412257, + 0.0040999684, + 0.0071233725, + -0.0032345268, + 0.040767606, + -0.011571451, + -0.03947831, + -0.011642362, + -0.0026301683, + 0.028287202, + 0.0070331213, + 0.015020324, + 0.009959828, + 0.04579587, + 0.04099968, + -0.011835757, + -0.026482183, + 0.03429533, + -0.020525627, + 0.03787958, + -0.03878209, + -0.011713274, + -0.016064655, + 0.015729437, + -0.016980058, + 0.017908351, + 0.013215306, + 0.009018641, + -0.01638698, + 0.1098482, + -0.016451444, + -0.0064335978, + 0.026430612, + -0.020164624, + 0.0031571689, + -0.01621937, + 0.021028453, + -0.00054996624, + 0.013550524, + -0.039246235, + 0.014169387, + -0.021634422, + 0.00014303152, + -0.0075488407, + -0.004809082, + 0.013963099, + 0.014697999, + 0.004112861, + 0.0030040648, + -0.002754263, + 0.029112352, + 0.0229624, + 0.034089044, + -0.0024835106, + -0.024509558, + -0.023929374, + -0.012403049, + 0.024445092, + 0.018578786, + 0.021673102, + -0.004006494, + 0.0076906634, + 0.020138837, + -0.054305237, + 0.0005072582, + 0.018797968, + -0.03205195, + -0.015445792, + -0.027333122, + -0.011139536, + 0.012512638, + 0.027487837, + -0.0041579865, + 0.0022159813, + -0.008270848, + 0.0075617335, + -0.011416735, + -0.006546411, + 0.013009018, + 0.009282947, + -0.01063671, + 0.01600019, + -0.013692346, + -0.011674595, + -0.014375675, + 0.010933248, + 0.022524038, + 0.0105013335, + -0.0352752, + -0.004319149, + -0.03181988, + 0.022562718, + 0.010849444, + -0.011887329, + -0.008199937, + 0.013640774, + 0.000879946, + 0.026533756, + 0.020667449, + -0.006304668, + 0.020035693, + 0.0007993649, + -0.00055036915, + 0.026997903, + 0.024316164, + 0.047884535, + -0.011539219, + 0.026250111, + 0.011287806, + -0.012287011, + 0.005166862, + -0.020899523, + 0.020757701, + -0.009631057, + 0.01660616, + 0.00026450757, + -0.00720073, + 0.014994537, + 0.0054279454, + 0.04631159, + -0.011687487, + 0.009689076, + -0.0038678944, + 0.011816418, + -0.021608638, + 0.0029605508, + 0.025695713, + 0.013163734, + -0.0075875195, + -0.012274118, + -0.04324306, + -0.012589997, + 0.022524038, + 0.027513623, + -0.017586026, + -0.009231375, + 0.002293339, + 0.008857478, + 0.039529882, + 0.01768917, + -0.00929584, + 0.040973894, + -0.016902698, + 0.026185645, + 0.0026672357, + -0.04631159, + -0.029086566, + -0.02689476, + -0.03687393, + -0.0060725943, + -0.0045608925, + -0.015291076, + 0.0031088202, + -0.0031491108, + 0.004947682, + -0.0055794376, + 0.037802223, + 0.0016430493, + -0.016992949, + 0.013279771, + -0.011964687, + 0.019713368, + 0.0121645285, + 0.015884154, + -0.0073876786, + -0.00008269639, + 0.014607748, + 0.028545061, + 0.0036422673, + -0.01625805, + 0.0018275802, + 0.020989774, + -0.0030798109, + -0.0031120435, + 0.0038259923, + -0.008541601, + -0.013137949, + -0.015110575, + 0.016657732, + -0.049895838, + 0.01919765, + -0.025102636, + 0.028957637, + 0.029757002, + 0.016193585, + -0.0045512225, + -0.031845663, + -0.0070975865, + -0.012905874, + 0.03666764, + 0.021505494, + 0.04223741, + -0.022382217, + -0.00051652506, + 0.012770498, + -0.013885741, + -0.007993649, + 0.009263608, + -0.0070975865, + 0.018282248, + -0.011571451, + 0.009708415, + 0.0037099554, + -0.006572197, + -0.008728549, + -0.008554493, + 0.0044222926, + 0.024586916, + 0.047729816, + -0.051056206, + -0.0080838995, + 0.025051063, + -0.0011611742, + 0.00053747615, + 0.0067301365, + -0.0076777707, + -0.012577103, + -0.012757605, + -0.020744808, + 0.0016478843, + 0.018656144, + 0.01863036, + 0.037157573, + -0.007748682, + 0.018037282, + -0.026559543, + 0.00050000596, + -0.016335407, + 0.03831794, + -0.033315465, + 0.0040935217, + 0.029499141, + -0.009624611, + 0.00039363885, + -0.05569768, + 0.01897847, + 0.02465138, + -0.008354652, + -0.03166516, + 0.007593966, + 0.01945551, + -0.0035745793, + 0.013150841, + 0.021956747, + 0.01590994, + -0.014324103, + 0.02200832, + -0.009347412, + 0.0054279454, + -0.024741631, + 0.0040935217, + -0.021118704, + 0.0016648063, + 0.004070959, + 0.017792314, + -0.015974404, + 0.03225824, + 0.02153128, + 0.014246745, + 0.024548236, + 0.016361194, + 0.0025721497, + -0.026662687, + 0.0446355, + -0.0073167672, + 0.007787361, + 0.01405335, + 0.0051636393, + 0.013859956, + -0.01725081, + 0.006884852, + -0.0061273896, + 0.023658622, + 0.0021837489, + -0.009637504, + -0.008148365, + -0.026056716, + -0.018269354, + 0.016541695, + 0.009444109, + 0.00262211, + -0.02836456, + -0.043320417, + -0.018436965, + -0.011938901, + -0.0029541044, + -0.019055827, + 0.0111524295, + -0.010888123, + 0.014130708, + 0.00512496, + 0.016193585, + -0.01945551, + 0.013344236, + -0.02382623, + 0.01963601, + 0.028906064, + 0.004190219, + 0.0028880278, + -0.020899523, + 0.012577103, + -0.06611521, + 0.0040129405, + 0.0065754205, + 0.04401664, + 0.008715656, + -0.0028799698, + -0.006591537, + -0.019687584, + 0.007961416, + -0.012718926, + -0.04030346, + -0.008354652, + -0.0030346855, + 0.012680247, + -0.026314575, + 0.0028848047, + -0.00475751, + 0.009398984, + 0.033753827, + 0.016064655, + -0.0041450937, + -0.00066318276, + 0.03148466, + -0.01513636, + 0.013434486, + -0.0045931246, + -0.04164433, + 0.020809272, + 0.02564414, + -0.012628675, + 0.035790917, + -0.008425564, + -0.007987202, + 0.032077737, + -0.015729437, + 0.0383953, + -0.0130219115, + -0.01903004, + 0.037209146, + 0.0019758495, + -0.012757605, + 0.009779327, + 0.02759098, + -0.010881676, + 0.036358207, + 0.015084788, + -0.011320038, + 0.022472467, + 0.012390155, + 0.0099533815, + 0.0009089552, + -0.009418323, + 0.022859257, + -0.01638698, + -0.041334897, + 0.022253286, + 0.04050975, + 0.021776246, + -0.009173356, + 0.028570848, + 0.011158875, + 0.019597333, + 0.021312099, + 0.0073361066, + -0.022240393, + -0.0071878373, + 0.006317561, + -0.00524422, + -0.0030830342, + -0.0019291124, + -0.0066656717, + 0.01513636, + -0.009308733, + 0.045048077, + 0.013253985, + 0.024161447, + -0.0017421641, + 0.008863925, + -0.006897745, + -0.0064561605, + -0.0089412825, + -0.0011329708, + 0.008058113, + 0.021595744, + -0.028519275, + -0.009476341, + -0.025012385, + 0.016619053, + 0.0072071766, + -0.007993649, + 0.022885043, + 0.011274912, + -0.014504604, + 0.012892982, + 0.019326579, + 0.0061950777, + 0.034553193, + -0.03602299, + -0.022627182, + 0.0064239283, + -0.028338773, + -0.001298162, + 0.018037282, + -0.010630263, + -0.034914196, + -0.052422862, + -0.04223741, + -0.023001079, + 0.023297617, + -0.010623816, + 0.028854493, + 0.0080838995, + -0.013653668, + -0.0054279454, + -0.006224087, + -0.010262813, + 0.0052474434 + ] + }, + { + "object": "embedding", + "index": 1, + "embedding": [ + -0.01202988, + -0.0190106, + -0.0046989955, + -0.006478062, + -0.013374063, + -0.0078109503, + 0.018637842, + 0.034903593, + -0.008607294, + -0.00050724583, + -0.017982693, + -0.028193971, + -0.042381324, + -0.017666414, + 0.020806609, + 0.07581648, + -0.0032107919, + -0.002444099, + -0.027425867, + 0.044301584, + 0.031356756, + 0.012944829, + -0.021461757, + -0.017417911, + 0.01262855, + 0.005992349, + -0.030633835, + 0.020106278, + -0.02390162, + -0.04220059, + -0.012831871, + -0.030114235, + -0.034067716, + 0.021134183, + 0.005616768, + -0.07120785, + -0.016796649, + 0.0056958375, + 0.0014486687, + 0.002571175, + 0.04319461, + -0.015226552, + 0.041884314, + 0.005650655, + 0.020693652, + 0.013080376, + -0.026070388, + -0.021190662, + 0.007150154, + 0.006240853, + -0.02390162, + -0.0051056393, + -0.00091777253, + -0.008985699, + -0.018389337, + 0.029549452, + -0.048887625, + 0.043646436, + -0.015508943, + 0.013871073, + 0.022828532, + -0.006506301, + -0.04793879, + 0.022094315, + -0.016277049, + -0.04231355, + -0.0011825146, + -0.017112928, + -0.042245775, + 0.0028337992, + -0.07527429, + 0.01895412, + -0.034045126, + 0.015554126, + 0.02140528, + -0.028148789, + -0.018378042, + 0.053315524, + 0.058285616, + -0.0032955094, + -0.014424561, + -0.021676375, + 0.010279052, + 0.014571404, + -0.0103072915, + -0.060544748, + -0.011453801, + 0.027968058, + -0.009923239, + -0.05313479, + -0.017892329, + 0.008646829, + -0.029278355, + 0.031469714, + 0.054038446, + 0.047848422, + -0.024285672, + -0.03088234, + -0.03528765, + -0.024986004, + -0.028578024, + -0.0027137827, + -0.018683024, + 0.02405976, + -0.0072009843, + 0.037501596, + 0.019439833, + -0.009143839, + -0.025821883, + 0.06284906, + -0.0153621, + -0.0262963, + -0.013871073, + -0.03939927, + -0.032712236, + -0.012357454, + 0.04459527, + -0.05123712, + 0.030317556, + -0.00807075, + -0.036756083, + 0.0158817, + -0.015508943, + 0.001167689, + -0.06090621, + -0.0047582975, + -0.031831175, + -0.048209883, + 0.017045153, + 0.0069298884, + -0.0119621055, + -0.03481323, + 0.028555432, + -0.008234537, + -0.015192665, + -0.021089, + 0.009488356, + 0.017553458, + 0.009573073, + 0.012481706, + 0.014548812, + 0.0128657585, + -0.024805274, + 0.0066305534, + -0.0317634, + 0.006077066, + -0.047532145, + 0.012221906, + 0.014096986, + 0.035378013, + 0.050559383, + 0.044934142, + -0.02374348, + 0.023404611, + -0.0505142, + 0.0009883704, + 0.0014839675, + 0.039128173, + -0.010770413, + -0.017847145, + -0.024488995, + 0.057607874, + -0.002301491, + -0.031447124, + 0.016627215, + 0.016841833, + -0.03549097, + -0.0012072239, + -0.037094954, + -0.001567273, + 0.0071953367, + 0.017485684, + 0.006240853, + 0.0019343821, + -0.028916894, + -0.0053936783, + 0.037004586, + -0.036078345, + -0.0716145, + 0.02593484, + 0.022952786, + 0.001736708, + -0.04624444, + -0.0004881844, + 0.050423834, + -0.030769384, + 0.040235147, + 0.0052073, + 0.012696324, + 0.033480342, + -0.0073704193, + 0.03978332, + 0.02356275, + 0.05372217, + -0.002099581, + -0.016525554, + 0.02439863, + -0.012154132, + -0.03903781, + 0.0031204266, + -0.027109588, + 0.034881003, + -0.021179367, + -0.031673037, + -0.01280928, + -0.03264446, + 0.0033999942, + -0.051417854, + 0.020219235, + -0.0137920035, + 0.046357397, + 0.001668934, + 0.0030131177, + -0.0055546416, + -0.0119621055, + 0.021529531, + 0.007641515, + 0.00869766, + -0.03718532, + 0.007692346, + -0.018762095, + 0.0021518236, + 0.02216209, + -0.0006618552, + -0.042178, + 0.019146146, + 0.016548144, + 0.02611557, + 0.019134851, + -0.018683024, + 0.0036033161, + -0.02085179, + 0.021687672, + -0.010222574, + 0.015395987, + -0.006020588, + -0.014582699, + -0.019575382, + -0.049203902, + -0.020072391, + -0.065966666, + 0.005783379, + 0.0071332105, + 0.0006622082, + -0.00601494, + 0.022297636, + -0.008550816, + -0.015723562, + -0.011939514, + 0.008403973, + 0.026409257, + -0.012831871, + -0.022207271, + -0.059144087, + -0.022173384, + 0.00007523087, + 0.0083361985, + 0.009059121, + -0.025144143, + 0.048164703, + -0.0108946655, + -0.02645444, + -0.046312213, + -0.012910942, + -0.017474389, + -0.06348162, + -0.03090493, + 0.04247169, + -0.00947706, + -0.012797985, + -0.00064244075, + 0.018186016, + 0.013080376, + 0.028081015, + -0.030611243, + -0.011476393, + 0.014051803, + 0.063074976, + -0.0057692593, + -0.008155468, + -0.041906904, + 0.007963441, + 0.020185348, + 0.0029142809, + 0.010533204, + 0.00094389374, + -0.00794085, + 0.03377403, + 0.011425562, + -0.01101327, + -0.011069749, + -0.00051289366, + -0.03806638, + -0.0033999942, + -0.013441837, + -0.016706284, + 0.046402577, + 0.013735524, + 0.031356756, + -0.042449098, + 0.055213194, + -0.027561415, + -0.005421918, + 0.015949475, + -0.068858355, + 0.00313737, + -0.036439806, + -0.048932806, + 0.01148204, + 0.0060262354, + -0.044143446, + 0.018344155, + 0.018231198, + -0.004114445, + -0.004967267, + -0.046899587, + 0.023879029, + -0.009183373, + 0.011623236, + -0.03549097, + -0.028939486, + -0.036597945, + 0.014176056, + -0.02049033, + -0.037976015, + -0.0029142809, + -0.0252571, + -0.024376038, + 0.03564911, + -0.032011904, + -0.032192636, + 0.004540856, + 0.021970062, + 0.025144143, + 0.03259928, + 0.0075963326, + 0.007059789, + -0.0022181857, + -0.02114548, + 0.041613217, + -0.019462425, + 0.012843167, + -0.0356717, + -0.0071840407, + -0.0013420659, + -0.00021514705, + -0.012786689, + 0.026070388, + 0.0006251443, + 0.03264446, + 0.033073697, + -0.02304315, + 0.0038207576, + 0.050920844, + -0.02799065, + -0.05272815, + 0.019722225, + -0.048932806, + -0.0052411873, + 0.03187636, + -0.09181114, + 0.020501627, + 0.019089669, + 0.030814566, + -0.0038828838, + -0.013645159, + -0.011041509, + -0.014876387, + -0.04884244, + 0.05087566, + 0.0076471632, + -0.019315582, + -0.00973686, + -0.022534845, + -0.02372089, + -0.01280928, + 0.021574713, + 0.04455009, + -0.033728845, + 0.034429178, + -0.0028281512, + 0.01195081, + -0.0030018222, + -0.014401969, + -0.028058425, + 0.023766072, + 0.020287009, + -0.008703307, + -0.046628494, + 0.039489634, + 0.03549097, + -0.05751751, + -0.00822889, + 0.009731213, + 0.026928857, + -0.06763842, + 0.022421889, + 0.010392009, + 0.006246501, + 0.01877339, + 0.00017614172, + -0.015655788, + 0.012752802, + -0.030159418, + 0.01593818, + -0.00037134488, + 0.024263082, + 0.045815203, + -0.03616871, + 0.003507303, + 0.012730211, + -0.026318893, + 0.027742146, + 0.007556798, + -0.011448153, + -0.084898196, + 0.006506301, + -0.023991985, + -0.01809565, + 0.007313941, + 0.0119734015, + -0.018615251, + 0.0028126198, + -0.002469514, + -0.008844503, + 0.0460863, + -0.0089235725, + -0.07902445, + 0.037998606, + -0.0029142809, + 0.050920844, + 0.0013074728, + -0.0028648623, + -0.008065103, + -0.007251815, + -0.045295604, + -0.0009523655, + 0.030927522, + 0.010872074, + 0.032847784, + -0.024511587, + 0.036078345, + -0.0059528137, + 0.024172716, + -0.027425867, + -0.035987977, + 0.0075680935, + -0.02762919, + -0.0043855407, + -0.02765178, + 0.037230503, + -0.049429815, + -0.027290318, + -0.0012735858, + 0.02882653, + 0.010403304, + 0.029097624, + -0.008754138, + 0.027086997, + 0.02765178, + 0.05819525, + 0.026861085, + -0.06650886, + 0.036439806, + -0.03512951, + -0.031198617, + 0.02090827, + -0.0006724449, + 0.020863088, + 0.0008139936, + -0.010866427, + -0.0040551424, + 0.06777397, + 0.00554617, + -0.06840653, + -0.015689675, + 0.031831175, + -0.01593818, + -0.07875335, + -0.005308961, + 0.00030533585, + -0.019575382, + -0.033886984, + 0.057743423, + -0.0073026456, + 0.15136187, + 0.012154132, + 0.0060036443, + -0.006489358, + -0.024263082, + -0.022094315, + 0.02611557, + 0.008912277, + -0.009719917, + 0.0035553095, + -0.0047272346, + -0.07775933, + 0.027245136, + 0.014639177, + -0.057788607, + -0.025731517, + -0.0356717, + -0.052140776, + 0.041206576, + 0.0040240795, + 0.013023898, + 0.022376707, + -0.011589349, + -0.00044653163, + 0.004001488, + 0.01270762, + 0.017982693, + 0.012312272, + -0.009420582, + 0.019383356, + 0.009996661, + -0.024895638, + -0.008178059, + 0.028781347, + -0.029933505, + 0.00822889, + -0.01775678, + -0.02166508, + -0.020614583, + -0.033525523, + -0.087157324, + 0.026138162, + -0.06176468, + 0.014786022, + -0.031673037, + -0.004845839, + 0.009013938, + 0.00034840056, + 0.025121551, + -0.021269731, + 0.013204629, + -0.013080376, + 0.020320896, + -0.019959435, + -0.02202654, + 0.0010794416, + 0.03702718, + -0.013238516, + 0.025686335, + -0.01997073, + 0.0072348714, + 0.024669725, + -0.018931529, + -0.013554794, + 0.0076754023, + 0.013023898, + -0.057969335, + 0.032847784, + -0.02848766, + 0.03756937, + -0.021970062, + -0.029029852, + 0.0005714899, + 0.046267033, + 0.012662437, + -0.018118242, + 0.018140834, + 0.03650758, + -0.011391675, + 0.019507607, + 0.0075342064, + -0.016548144, + -0.03551356, + 0.008341846, + -0.02064847, + 0.0195302, + 0.02643185, + -0.017463094, + -0.039896276, + -0.027787328, + -0.02403717, + 0.0004737118, + -0.018310267, + 0.007138858, + -0.0048938454, + -0.029210582, + 0.012097654, + 0.050604563, + 0.017259771, + -0.04671886, + -0.004775241, + -0.018558772, + 0.00024903406, + 0.007285702, + -0.020795314, + 0.04127435, + -0.0004412368, + -0.05498728, + -0.011052805, + -0.01228968, + -0.00034504716, + 0.01494416, + -0.017384024, + -0.067864336, + 0.0505142, + 0.017892329, + 0.0066644405, + 0.003380227, + -0.0023975042, + 0.017903624, + -0.015576717, + 0.0018779038, + 0.031176027, + -0.035355423, + 0.015486352, + -0.0012001641, + 0.03481323, + 0.055168014, + -0.020072391, + -0.015170074, + -0.0051564695, + 0.008313607, + 0.008889686, + 0.034406587, + -0.04215541, + 0.00048677242, + -0.015994657, + 0.022839827, + -0.0062916838, + -0.019688338, + 0.0003572253, + -0.021043818, + 0.026928857, + -0.03928631, + 0.021992654, + -0.012944829, + 0.051914863, + -0.009414935, + 0.005969757, + 0.04610889, + -0.0061391923, + 0.0008584703, + -0.041906904, + 0.023675708, + -0.0063368664, + -0.000200145, + 0.03056606, + -0.022071723, + -0.016943492, + 0.05083048, + -0.04488896, + -0.0307242, + -0.00574102, + 0.00866942, + 0.011916923, + 0.024850456, + 0.024692317, + 0.0048345434, + -0.03874412, + -0.00012787041, + -0.08006365, + -0.012086358, + -0.043781985, + 0.035445787, + -0.027177362, + 0.043623846, + -0.022060428, + -0.005438861, + -0.015124891, + -0.00561112, + -0.0137920035, + -0.0078674285, + -0.010454135, + 0.034406587, + -0.005907631, + -0.018603954, + 0.04163581, + -0.001405604, + -0.020930862, + 0.0013159446, + 0.02643185, + -0.0075963326, + -0.0021602954, + -0.011578053, + 0.03808897, + -0.022399297, + 0.0022492486, + -0.027674371, + 0.041545443, + 0.036620535, + 0.009183373, + -0.0038122858, + 0.005450157, + 0.01161194, + -0.00840962, + 0.044798594, + -0.01390496, + -0.013441837, + 0.017587345, + 0.0066587925, + -0.02593484, + -0.00027974413, + 0.034745455, + -0.010781709, + -0.0689939, + 0.026047796, + 0.0037332163, + 0.00028221504, + -0.0050999913, + -0.022738168, + 0.009025234, + 0.018129537, + -0.008048159, + 0.038970035, + 0.028126199, + -0.040574018, + 0.013950142, + -0.033683665, + -0.02309963, + -0.03650758, + -0.03187636, + 0.016943492, + -0.015475057, + 0.008703307, + -0.009070417, + -0.005074576, + -0.03467768, + -0.048752077, + -0.01611891, + -0.029933505, + -0.0070993234, + -0.017824555, + -0.01101327, + 0.0151023, + 0.006206966, + 0.022083018, + 0.045340788, + 0.02645444, + -0.0406192, + 0.012673733, + -0.01619798, + -0.021337505, + 0.010747822, + -0.0268159, + -0.0015969242, + 0.023246473, + -0.018479703, + -0.0128770545, + -0.008579055, + -0.00588504, + 0.018027876, + -0.005975405, + 0.028713573, + -0.0134757245, + -0.0014232534, + -0.030814566, + 0.0039308905, + 0.007387363, + -0.0062803878, + 0.010070083, + -0.014740839, + -0.031718217, + -0.03429363, + -0.0035637813, + 0.004876902, + 0.01202988, + -0.02002721, + -0.004778065, + -0.0025937664, + 0.027855102, + 0.010171743, + -0.0009502476, + -0.010149152, + -0.0054642763, + -0.01416476, + 0.008370086, + -0.044979326, + 0.007884372, + 0.034835823, + 0.021970062, + 0.034903593, + -0.0328026, + -0.0049700914, + -0.00796909, + 0.03960259, + -0.051101573, + 0.012233201, + -0.010567091, + 0.023766072, + 0.022410594, + 0.004538032, + 0.031582672, + -0.0075003193, + -0.020275714, + -0.047170684, + -0.010713935, + 0.0014726719, + -0.014334195, + 0.0008302311, + 0.02020794, + -0.050107557, + 0.0018863755, + -0.067999884, + 0.019518904, + -0.047306232, + 0.037840467, + -0.0007786947, + 0.012752802, + -0.0106744, + 0.024285672, + -0.016096318, + 0.025686335, + 0.011736193, + -0.022388002, + -0.006071418, + 0.0007843425, + 0.01749698, + -0.04247169, + 0.05937, + -0.013972734, + -0.009177725, + 0.005249659, + 0.021506941, + 0.048164703, + 0.02442122, + 0.048209883, + -0.0134757245, + 0.001972505, + -0.0016392829, + 0.04983646, + 0.025189325, + 0.049926825, + 0.0071558016, + -0.07391881, + -0.0009488356, + 0.017881032, + -0.042381324, + 0.03793083, + 0.030520879, + 0.015870405, + 0.03126639, + -0.006946832, + 0.01450363, + 0.015136187, + -0.0095335385, + -0.007720585, + 0.05525838, + 0.04079993, + -0.039354086, + -0.0076754023, + -0.0057043093, + 0.006511949, + 0.044843778, + -0.019665748, + 0.018603954, + -0.016943492, + 0.023077037, + -0.01637871, + 0.014232534, + 0.00809899, + 0.008759785, + 0.026047796, + -0.002808384, + -0.0026770718, + -0.020366078, + -0.016999971, + -0.009121247, + -0.005210124, + -0.020885678, + -0.016999971, + -0.014096986, + -0.0075342064, + -0.012300976, + 0.024873048, + 0.022591325, + 0.030520879, + 0.03223782, + 0.0016802297, + 0.0067999884, + 0.024850456, + 0.020038504, + -0.02543783, + 0.020603288, + -0.012481706, + 0.010442839, + 0.0190106, + -0.00076739903, + -0.0048514865, + -0.020287009, + 0.005136702, + -0.0031966723, + 0.009940183, + -0.008816264, + 0.019485017, + -0.007963441, + 0.0385408, + 0.0068903537, + -0.016694989, + -0.033028517, + 0.025347466, + -0.016254457, + 0.031311575, + 0.017451797, + 0.050288286, + -0.0055264025, + 0.010454135, + -0.026974041, + 0.026205935, + 0.026025204, + 0.0052185957, + -0.010617922, + 0.009115599, + -0.014176056, + -0.038134154, + -0.032057088, + 0.009601313, + -0.028962078, + -0.03894744, + -0.024714908, + 0.0137807075, + -0.011905627, + -0.006783045, + -0.0050265696, + 0.029368721, + 0.013125559, + -0.02090827, + -0.005585705, + 0.0027561416, + -0.0033039812, + 0.002509049, + 0.026025204, + 0.015350805, + -0.00869766, + 0.00032828018, + -0.0064724144, + 0.020580696, + -0.0077657676, + -0.02543783, + 0.015091004, + 0.0044166036, + -0.0006265562, + 0.01871691, + 0.011126227, + -0.026748126, + 0.0051225824, + -0.040212557, + -0.014921569, + 0.0122783845, + 0.018490998, + -0.02663517, + -0.02262521, + 0.059324816, + 0.0062916838, + -0.020580696, + 0.012244497, + 0.012978716, + -0.05241187, + 0.017045153, + -0.004780889, + -0.01296742, + 0.0029622873, + -0.03413549, + -0.024827864, + 0.026409257, + 0.016536849, + -0.004255641, + -0.03666572, + -0.01570097, + -0.0078109503, + 0.034203265, + -0.0016068079, + 0.01853618, + 0.007545502, + 0.027674371, + -0.0053202566, + -0.036213893, + -0.011318253, + -0.013091672, + 0.03174081, + 0.024466403, + -0.033367384, + 0.019665748, + 0.006619258, + -0.013362768, + 0.0065910188, + 0.040596608, + 0.031831175, + -0.009358455, + 0.004778065, + 0.0036965054, + -0.0019668571, + 0.031944133, + -0.0013879545, + -0.011109283, + 0.0009848406, + -0.0018567244, + 0.009855465, + -0.020524217, + -0.007313941, + -0.0006978601, + 0.027900284, + -0.0054190936, + -0.023517568, + 0.012459115, + 0.00614484, + -0.021642487, + -0.008579055, + 0.026996631, + 0.03187636, + -0.014413265, + 0.028419886, + -0.000317161, + 0.023156106, + -0.007110619, + 0.028035833, + -0.0061222487, + -0.030950114, + -0.02210561, + -0.0046142777, + 0.0072969976, + -0.024511587, + 0.031966724, + -0.0134870205, + -0.014740839, + 0.035965387, + -0.0012135777, + -0.0302046, + 0.01687572, + -0.03903781, + 0.027041815, + -0.021597305, + -0.0044674342, + -0.02374348, + 0.009527891, + -0.020738835, + 0.0050999913, + 0.025144143, + -0.024014577, + 0.051508218, + 0.028239155, + -0.0037812227, + -0.019993322, + -0.012944829, + 0.00016837596, + -0.01871691, + -0.0011239183, + 0.00541627, + 0.019756112, + 0.010550148, + -0.015983362, + -0.011318253, + -0.01658203, + 0.00059831707, + -0.027177362, + 0.0119734015, + -0.047170684, + 0.021122888, + -0.038789302, + -0.01494416, + -0.00009777807, + -0.01739532, + 0.013080376, + -0.010120913, + 0.013430542, + 0.020094983, + 0.013712933, + 0.0032277354, + 0.00014507865, + -0.041613217, + 0.03264446, + 0.0007525735, + 0.012233201, + 0.007387363, + 0.01195081, + -0.00994583, + -0.01122224, + -0.026228527, + -0.009510947, + 0.0010469666, + -0.024827864, + -0.010736527, + -0.04988164, + 0.019767407, + 0.00981593, + -0.0081724115, + 0.0035666053, + -0.011589349, + -0.05444509, + -0.01476343, + -0.032305595, + 0.01903319, + 0.021382688, + -0.0038970034, + 0.02439863, + 0.009612608, + -0.033886984, + -0.0048260717, + 0.0063368664, + -0.01689831, + 0.02403717, + 0.005102815, + 0.029843139, + 0.025031187, + 0.019880366, + 0.0064272317, + -0.007059789, + -0.007116267, + 0.0055292263, + -0.011736193, + 0.0048994934, + 0.014786022, + 0.031017886, + -0.010036196, + 0.014221238, + 0.008793673, + 0.021631192, + 0.017734189, + -0.007963441, + 0.0029142809, + -0.019869069, + -0.021936174, + 0.006568427, + -0.0039026511, + 0.03449695, + -0.0069920146, + 0.0028182676, + -0.019202625, + 0.007986033, + -0.010115265, + -0.062035773, + 0.007251815, + -0.003569429, + 0.03616871, + 0.014401969, + -0.022636507, + -0.031514898, + -0.0078674285, + -0.042946108, + -0.018061763, + -0.016627215, + 0.018626546, + 0.023291655, + -0.04335275, + -0.0016562265, + 0.04561188, + -0.0019230865, + -0.037094954, + 0.021653784, + 0.005009626, + -0.00022008891, + 0.015859108, + -0.010019252, + 0.092534065, + -0.008319255, + -0.028148789, + 0.024376038, + 0.030046461, + 0.0426976, + 0.012391341, + 0.03108566, + 0.0066587925, + -0.013328881, + -0.015305622, + 0.0051197587, + 0.021258436, + -0.006511949, + 0.002341026, + 0.0031260743, + -0.012978716, + 0.0053569674, + -0.011182705, + -0.00796909, + 0.011544166, + 0.023427203, + 0.02611557, + -0.034700274, + 0.0108043, + -0.019067077, + -0.03122121, + -0.0192704, + 0.022195976, + 0.023517568, + 0.015350805, + 0.009578722, + 0.023630524, + -0.011803967, + -0.03720791, + -0.008403973, + 0.006703975, + -0.045001917, + -0.03291556, + 0.030362738, + -0.019925548, + 0.0050011543, + 0.0044166036, + -0.0450471, + 0.015452465, + 0.0043516536, + 0.03702718, + -0.0044363714, + 0.006478062, + 0.016265754, + -0.009177725, + 0.0140856905, + 0.005080224, + -0.011747489, + -0.020817906, + 0.026273709, + 0.0067999884, + 0.04030292, + 0.023517568, + 0.01663851, + -0.006218262, + -0.02986573, + 0.013667751, + 0.029910913, + -0.014650473, + -0.012639846, + -0.011052805, + -0.020422557, + 0.020885678, + 0.015463761, + 0.027041815, + 0.024511587, + -0.02184581, + -0.014266421, + 0.020094983, + 0.0064667664, + 0.032463733, + 0.0022478367, + -0.015249143, + 0.0032249114, + -0.0006615022, + 0.02335943, + 0.02457936, + -0.013125559, + 0.012188019, + -0.0060940096, + -0.013532203, + 0.010651809, + 0.014752135, + -0.0069016493, + 0.037094954, + -0.0044589625, + 0.0039930167, + 0.009584369, + -0.026544806, + 0.030746792, + 0.014221238, + 0.016152797, + 0.022817237, + 0.011849149, + 0.0045945104, + -0.034587316, + 0.005777731, + -0.0077318805, + -0.021958767, + 0.0022224216, + 0.0015277383, + -0.016051136, + 0.0021758268, + -0.0021574714, + 0.025053779, + 0.018637842, + 0.040845115, + -0.0328026, + 0.02611557, + 0.014119578, + -0.03311888, + -0.003806638, + -0.03549097, + -0.025641153, + 0.009189021, + -0.03316406, + -0.028849121, + -0.018897641, + -0.02424049, + 0.016096318, + 0.026499623, + 0.03363848, + 0.018886346, + 0.00065585435, + -0.03481323, + -0.0011853385, + -0.017609937, + 0.009719917, + 0.0036880337, + 0.024082351, + 0.007585037, + -0.0025288162, + 0.05647831, + -0.023991985, + -0.009070417, + 0.028465068, + 0.018581364, + -0.03752419, + -0.0014754959, + 0.048661713, + -0.009047825, + -0.0023890324, + 0.038811892, + 0.019439833, + 0.00687341, + -0.009719917, + -0.0026827196, + 0.004504145, + 0.0029086329, + -0.005557466, + -0.043985307, + -0.025980022, + 0.0010702639, + -0.032689646, + 0.0073308847, + 0.0528637, + 0.011408619, + -0.042787965, + -0.0024215076, + 0.02090827, + -0.040370695, + -0.011837854, + -0.020343486, + 0.03189895, + -0.0034254096, + -0.023969395, + 0.0009290682, + -0.02192488, + 0.04933945, + -0.023653116, + -0.0018157776, + 0.01528303, + -0.014368081, + 0.0029114569, + -0.026748126, + 0.025550786, + 0.012255793, + -0.001635047, + 0.0057466677, + 0.017033858, + 0.006506301, + -0.022794645, + 0.009471413, + -0.024511587, + -0.0040579666, + 0.014492334, + -0.016435187, + 0.024511587, + 0.0029340482, + 0.0050717522, + -0.0012481706, + -0.032283, + -0.013204629, + 0.038879666, + -0.013656455, + -0.0018186015, + 0.0112109445, + 0.0064724144, + 0.029052442, + -0.05322516, + 0.009245499, + -0.0058624484, + -0.0008076398, + -0.0140743945, + 0.033886984, + -0.010036196, + 0.014605291, + 0.011939514, + -0.021077706, + -0.0039054751, + -0.0018524885, + 0.02405976, + -0.018084355, + 0.004775241, + -0.020817906, + 0.026725536, + -0.04570225, + -0.011860445, + -0.007280054, + 0.015859108, + -0.010889018, + 0.037501596, + -0.0070202537, + -0.005811618, + 0.0013766588, + 0.004134212, + 0.049294267, + 0.0041906903, + 0.0030865397, + 0.0003773457, + -0.018118242, + 0.003572253, + 0.04473082, + 0.005879392, + 0.008714603, + 0.010262108, + -0.023811255, + -0.0027293144, + -0.01707904, + 0.006681384, + 0.0924437, + 0.007483376, + -0.012199315, + 0.05322516, + 0.0024864576, + 0.016231867, + -0.010476726, + -0.033344794, + 0.0006180845, + 0.005613944, + -0.00106744, + 0.005992349, + 0.0122670885, + 0.0102847, + -0.0140743945, + 0.040483654, + 0.008850151, + -0.023517568, + 0.040506244, + 0.0039873687, + -0.029459085, + 0.01919133, + -0.019405946, + 0.054354724, + 0.0045662713, + -0.008742842, + -0.03856339, + 0.015418578, + -0.032192636, + -0.011623236, + 0.011126227, + 0.001201576, + -0.014639177, + -0.008714603, + -0.008872743, + -0.026974041, + -0.044301584, + -0.029730182, + -0.032147452, + 0.03275742, + -0.00025097548, + 0.024330856, + 0.037320867, + -0.014865091, + 0.014322899, + 0.02523451, + 0.043646436, + -0.022851124, + 0.023833847, + -0.020580696, + -0.011634531, + -0.0066023143, + -0.015237848, + 0.021902287, + 0.009725565, + 0.005478396, + 0.012797985, + -0.021902287, + -0.012120245, + 0.039218538, + 0.006709623, + 0.023991985, + -0.007884372, + -0.0016858776, + 0.027538823, + 0.001537622, + -0.027448459, + 0.023607934, + -0.00074621965, + 0.011916923, + 0.01937206, + -0.0027575535, + 0.022421889, + 0.005311785, + 0.030182008, + 0.015079709, + 0.002105229, + 0.0017451798, + 0.025053779, + 0.012097654, + -0.030633835, + 0.016762761, + 0.010250813, + 0.0049362043, + -0.0058906875, + 0.046176665, + 0.024082351, + -0.007613276, + 0.036259074, + -0.019338174, + -0.03223782, + -0.009974069, + -0.026409257, + -0.0054473327, + -0.022738168, + -0.0012940592, + -0.03278001, + -0.022885012, + -0.040596608, + 0.027448459, + 0.016186683, + 0.004682052, + 0.046538126, + 0.04457268, + 0.0066700885, + 0.013441837, + 0.015260439, + 0.014368081, + 0.017722894, + -0.023607934, + 0.010041843, + 0.0016223395, + -0.015915588, + 0.019338174, + -0.014593995, + -0.0037162728, + 0.021653784, + -0.0036315552, + -0.025867065, + 0.015791336, + -0.019439833, + 0.013057785, + -0.008917925, + -0.027358092, + -0.036914222, + 0.028103607, + 0.01570097, + 0.012018585, + 0.0015446817, + -0.003950658, + -0.015825221, + 0.0065853707, + -0.014740839, + -0.0027293144, + 0.011097988, + -0.010109617, + 0.030249782, + 0.030656425, + -0.009646495, + 0.03564911, + -0.051056392, + -0.012504297, + 0.028555432 + ] + }, + { + "object": "embedding", + "index": 2, + "embedding": [ + -0.022986544, + 0.04071767, + -0.033450037, + 0.016464615, + -0.01634625, + 0.002098025, + 0.010108397, + -0.011919387, + -0.007640481, + 0.006024794, + 0.046044108, + -0.014961376, + 0.0019249159, + 0.010055133, + 0.02798156, + 0.053075004, + -0.03657488, + -0.04692001, + 0.029615002, + 0.01699726, + 0.0173997, + -0.028952155, + 0.0106647145, + 0.0064568277, + 0.012889982, + 0.0126059055, + -0.02296287, + 0.012286319, + 0.024596311, + -0.049192622, + 0.055016197, + -0.044102915, + 0.04620982, + 0.009469225, + -0.00505124, + -0.005924184, + 0.054400697, + -0.0058472464, + -0.01078308, + 0.0015135964, + 0.018808248, + -0.005770309, + 0.04012584, + 0.030254174, + 0.035012458, + 0.0244306, + 0.006385809, + -0.018311113, + -0.0052731745, + 0.022430226, + -0.004678389, + 0.006817842, + -0.007397832, + 0.06732619, + -0.071682036, + -0.0017000218, + -0.049287315, + 0.06585846, + 0.04190132, + 0.019482931, + 0.006592948, + -0.0033704522, + -0.005545415, + 0.03524919, + -0.037356094, + 0.015328308, + -0.040315226, + -0.0030922939, + 0.019920882, + 0.0015875747, + -0.0018257849, + 0.014511587, + -0.008824134, + -0.02033516, + 0.008906989, + -0.000368597, + -0.008469038, + 0.028384002, + 0.05728881, + 0.06197608, + 0.0094633065, + -0.014144654, + -0.027247695, + -0.05449539, + -0.011623474, + -0.06349115, + -0.022726139, + 0.018689882, + -0.051323198, + 0.025708945, + -0.016949913, + -0.0064686644, + -0.054590084, + 0.029709693, + 0.017719287, + 0.07807376, + -0.060461, + 0.0010911803, + -0.01211469, + 0.008830052, + 0.026632195, + -0.060271617, + -0.00975922, + -0.0068355966, + 0.03053825, + 0.03988911, + -0.019613132, + -0.0043203337, + -0.04320334, + 0.011511027, + -0.049902815, + -0.0347994, + -0.0021586874, + -0.014464241, + 0.0054300088, + -0.02296287, + 0.02221717, + 0.002504906, + -0.005764391, + -0.07016696, + -0.05634189, + 0.02542487, + -0.041475207, + -0.0056489846, + -0.008794542, + -0.024762023, + 0.005415213, + -0.021968601, + -0.014144654, + 0.00023765536, + 0.030869674, + 0.016713182, + 0.020181285, + -0.027247695, + -0.026632195, + 0.0023081235, + 0.007433342, + 0.014251184, + 0.0017651228, + 0.041380513, + 0.001849458, + -0.016452778, + 0.043416396, + 0.006220097, + -0.00096615683, + 0.012736107, + -0.00069280696, + -0.0060514268, + -0.04370047, + 0.004083603, + 0.0069598802, + -0.004409108, + 0.0017044605, + 0.024312235, + -0.05629454, + -0.048908547, + 0.045144532, + 0.014180165, + -0.03749813, + -0.0186307, + -0.02292736, + -0.009427797, + 0.035296537, + -0.02269063, + -0.011073075, + 0.019613132, + -0.021057189, + 0.030443558, + -0.0302305, + 0.020879641, + -0.013588338, + -0.03472838, + 0.020749439, + 0.008510466, + -0.03595938, + -0.021282082, + 0.04019686, + -0.024643658, + -0.014452404, + 0.06221281, + 0.044529032, + 0.055915773, + -0.040386245, + 0.00757538, + 0.012392848, + -0.04036257, + -0.004237478, + 0.00027926816, + -0.005110422, + 0.002855563, + -0.031650886, + 0.031556193, + 0.025164464, + 0.046991028, + 0.060555693, + 0.0013819151, + 0.034823075, + 0.003988911, + 0.008108024, + 0.01634625, + 0.01003146, + -0.006172751, + 0.0022459817, + -0.016878894, + -0.021092698, + 0.014192001, + -0.017731125, + -0.045878395, + 0.03626713, + -0.015020558, + 0.0720608, + 0.031603537, + -0.01248754, + -0.01426302, + -0.024016323, + -0.013967107, + 0.03948667, + -0.0052080736, + 0.0070545725, + -0.0038143222, + -0.048719164, + 0.0015446673, + 0.07357588, + 0.0035124905, + -0.0030419885, + 0.007445178, + 0.053737853, + -0.006326626, + -0.020867804, + -0.0028703588, + 0.04647022, + -0.009871667, + -0.018512335, + -0.0065751933, + 0.010925118, + 0.027200349, + -0.008711687, + 0.012653252, + -0.03882382, + -0.006462746, + -0.038610764, + -0.025022427, + -0.005711126, + 0.0066521307, + 0.026608523, + 0.043108646, + -0.006486419, + 0.013529155, + -0.023933467, + 0.000004534062, + 0.03756915, + 0.018133566, + -0.005832451, + -0.034917768, + 0.023732245, + 0.0012938809, + -0.0055631697, + 0.06074508, + 0.007599053, + 0.05889858, + -0.02852604, + -0.04213805, + -0.0002620682, + -0.026490157, + -0.07272365, + 0.035296537, + 0.036125094, + 0.03633815, + -0.0036811612, + -0.033047594, + 0.036977325, + 0.015280962, + 0.018417643, + 0.006285198, + -0.009054947, + -0.013032021, + 0.0025463337, + 0.04535759, + -0.019305382, + 0.043913532, + -0.08086718, + -0.01774296, + 0.0140026165, + -0.011073075, + -0.01989721, + 0.017257662, + -0.009871667, + -0.006770496, + -0.009415961, + -0.012665088, + 0.028384002, + -0.028644405, + -0.010427984, + -0.037356094, + 0.0011496231, + 0.06642661, + 0.026182408, + 0.019577622, + 0.032053325, + -0.0023569493, + 0.013043857, + -0.0037492213, + 0.011428171, + -0.012783454, + -0.041569896, + 0.027247695, + -0.0326925, + -0.016855221, + 0.004397271, + -0.010688388, + -0.005264297, + 0.030846, + -0.0018686923, + -0.026987292, + -0.03577, + -0.046754297, + 0.0020595565, + 0.068036385, + 0.032337405, + -0.039699726, + 0.025519561, + -0.040693995, + -0.001474388, + -0.018867431, + -0.051654622, + -0.015979318, + -0.0075694616, + -0.03906055, + 0.018784575, + 0.009262086, + -0.012073262, + -0.03941565, + 0.057714928, + -0.0069184527, + 0.034136556, + -0.010445739, + -0.024454273, + 0.014771991, + -0.03053825, + 0.04142786, + -0.04692001, + -0.013126713, + 0.014511587, + -0.027531771, + 0.032124344, + -0.017956018, + -0.021057189, + -0.019293547, + -0.018180912, + 0.01634625, + 0.008593322, + 0.021104535, + -0.025543235, + 0.06950411, + 0.009214739, + -0.07049838, + 0.023412658, + -0.041782957, + -0.020015575, + 0.020287814, + -0.06462746, + 0.024856716, + 0.029472962, + 0.035698976, + -0.0055365376, + -0.0010874813, + -0.0014595923, + -0.045191877, + 0.021270247, + 0.018760903, + -0.026537502, + 0.010522677, + 0.008161289, + 0.025401196, + -0.045191877, + -0.0012058467, + -0.01399078, + 0.013422626, + 0.0046487977, + 0.027721155, + 0.000532274, + 0.05179666, + 0.0050541987, + -0.020796785, + -0.010179417, + -0.0079127215, + -0.036314476, + 0.00043832156, + -0.046635933, + 0.031792924, + 0.0032905557, + -0.02238288, + -0.051938698, + -0.016192375, + 0.0129136555, + -0.025188139, + 0.059845503, + -0.015221779, + 0.0067231497, + -0.0011340877, + -0.0030035197, + 0.009972277, + -0.0028614814, + -0.010712061, + 0.030112136, + -0.038066283, + -0.00059478567, + 0.009504735, + 0.0088478075, + -0.045120858, + 0.016133193, + 0.0027150044, + 0.03176925, + 0.0019263955, + -0.01033921, + -0.020832295, + 0.05032893, + -0.033426363, + -0.017932344, + -0.021045353, + -0.008167206, + -0.014961376, + 0.00505124, + -0.027579118, + -0.021495141, + 0.050044853, + 0.050376277, + -0.0049121603, + 0.009563917, + -0.03456267, + -0.012452031, + 0.014440568, + 0.04074134, + 0.021802891, + -0.0014307407, + -0.03300025, + 0.0062733614, + 0.00624377, + 0.013576501, + -0.014203837, + -0.03657488, + 0.033805132, + -0.010043297, + 0.0044742087, + -0.047322452, + 0.012452031, + -0.0500922, + -0.038942188, + -0.017600922, + -0.040551957, + 0.0021453712, + -0.037545476, + 0.0055010277, + -0.005098586, + -0.021376776, + 0.024111014, + 0.055016197, + 0.0052287877, + 0.0677523, + -0.002562609, + 0.00003555583, + 0.027579118, + -0.04104909, + -0.018536007, + -0.010759407, + -0.025708945, + 0.022513082, + 0.029520309, + 0.028289309, + 0.015280962, + -0.022442063, + -0.011883877, + 0.026158733, + 0.024087342, + -0.0042404374, + 0.02091515, + -0.009457389, + -0.052506853, + -0.028881136, + -0.043534763, + -0.0003824679, + -0.0076049715, + -0.01971966, + -0.01941191, + 0.012878146, + 0.10311986, + 0.017305009, + 0.013398954, + -0.0033970845, + -0.0086110765, + -0.0056963307, + -0.00569929, + 0.035888363, + -0.011132258, + -0.029094193, + 0.020702094, + -0.028407674, + 0.0038143222, + 0.03361575, + -0.029828059, + 0.0106647145, + -0.10690755, + -0.08508099, + 0.03951034, + -0.01866621, + 0.0021202187, + 0.012747944, + -0.01252305, + -0.030254174, + 0.027484426, + -0.0045570647, + -0.0044890046, + -0.0045570647, + -0.015718913, + -0.009581672, + -0.03323698, + -0.014914029, + 0.026040368, + 0.008824134, + -0.0399838, + 0.0027150044, + 0.017186644, + -0.0059093884, + -0.05582108, + 0.0050068526, + -0.047133066, + 0.024335908, + -0.050755046, + 0.014996885, + -0.012594069, + 0.0034651444, + 0.0033793296, + 0.030206827, + 0.028597059, + 0.010575941, + -0.005258379, + -0.013126713, + 0.018228259, + -0.012067344, + 0.010522677, + -0.004317375, + 0.05596312, + -0.0017843571, + 0.0013967106, + -0.03463369, + 0.023329804, + 0.0087235235, + -0.017849488, + -0.0115583725, + 0.027247695, + -0.008108024, + -0.04036257, + -0.013517318, + -0.0061372416, + 0.0341839, + 0.01163531, + -0.009404124, + 0.0022548593, + 0.021613507, + -0.022205332, + -0.008131697, + 0.036243457, + 0.029094193, + -0.028928483, + -0.0037936082, + -0.05634189, + -0.017009096, + 0.01754174, + 0.033521056, + 0.025140792, + -0.013316098, + 0.020773113, + -0.0007113016, + -0.0006987252, + 0.014629953, + -0.051891353, + 0.021862073, + -0.02497508, + 0.006261525, + -0.033521056, + -0.015458509, + 0.028099924, + -0.0043943124, + -0.0036160604, + -0.085459754, + 0.04938201, + 0.005169605, + 0.012298156, + -0.0077115, + -0.023116745, + 0.07428607, + 0.03053825, + -0.012357338, + 0.0218384, + 0.016026663, + 0.0314615, + -0.0031929044, + 0.00859924, + -0.029638674, + 0.029899077, + 0.013245079, + -0.022584101, + 0.037048344, + -0.0069835535, + -0.0016689509, + -0.001716297, + 0.018831922, + -0.003095253, + -0.02279716, + -0.006752741, + -0.0041309493, + 0.060555693, + 0.033757787, + -0.02736606, + -0.05596312, + -0.013398954, + 0.009291677, + -0.018962122, + 0.0076759905, + -0.007279467, + -0.019932719, + -0.0021246574, + 0.051607277, + -0.0072084474, + -0.0030597432, + 0.016772365, + -0.027579118, + 0.03316596, + 0.035320207, + -0.008741278, + 0.0040244204, + 0.038468726, + -0.051938698, + -0.021199228, + 0.016606653, + -0.022359207, + 0.023258783, + -0.009392288, + 0.025306504, + -0.014700972, + 0.0009424838, + 0.012309993, + 0.041475207, + -0.010540431, + 0.041072764, + -0.029330924, + -0.022560429, + 0.024111014, + -0.006078059, + -0.0016201253, + -0.013647521, + 0.018441316, + -0.0008729442, + 0.0017015013, + 0.010037378, + -0.026253426, + -0.023294294, + -0.00743926, + 0.028336655, + -0.014890356, + 0.0418303, + -0.01897396, + -0.018536007, + 0.02419387, + 0.012889982, + 0.02589833, + -0.012511213, + -0.011167767, + 0.0021601669, + -0.014286693, + -0.04405557, + 0.027200349, + 0.025827311, + -0.031035384, + 0.03688263, + -0.0016881853, + -0.012321829, + -0.008912908, + -0.011037566, + 0.035746325, + 0.002084709, + -0.013801395, + -0.0500922, + -0.01006697, + 0.00032051108, + -0.017151134, + -0.021400448, + 0.03979442, + 0.036551207, + -0.01767194, + -0.0012879625, + -0.017103788, + 0.00057555136, + -0.016488288, + -0.004255233, + 0.018618863, + 0.031201096, + 0.024525292, + -0.021175554, + -0.042635184, + 0.03446798, + 0.0035213681, + -0.008989845, + -0.0047346125, + 0.008445365, + 0.012889982, + 0.014973212, + -0.02051271, + 0.037308745, + 0.0008855205, + -0.0029265822, + -0.001191051, + -0.033213306, + -0.026040368, + -0.0063680536, + -0.037687514, + -0.013872415, + -0.022027785, + -0.01252305, + -0.040149514, + 0.025637927, + -0.040622976, + -0.048198353, + -0.03740344, + -0.014476078, + 0.016298903, + -0.015541365, + 0.050755046, + 0.019613132, + 0.015754422, + -0.01047533, + 0.061786693, + 0.052317467, + -0.038303014, + -0.013197732, + 0.021897582, + -0.0455233, + -0.0026573013, + -0.055300273, + -0.012878146, + 0.016452778, + -0.038042612, + 0.028928483, + -0.002876277, + 0.021471467, + 0.0047079804, + 0.01668951, + 0.011576127, + -0.002061036, + 0.008137615, + -0.060034886, + 0.004530432, + 0.00085592916, + 0.02029965, + -0.019530276, + -0.016973585, + -0.013931598, + -0.04807999, + 0.016121356, + 0.0045807376, + 0.023590207, + 0.023436332, + 0.013789559, + 0.016725019, + 0.027697483, + -0.015647894, + -0.024335908, + -0.0060218354, + -0.009362696, + 0.005172564, + 0.021850236, + -0.0055631697, + -0.025164464, + 0.00028999502, + 0.012653252, + 0.07101919, + -0.052222777, + -0.009457389, + 0.008001495, + 0.033757787, + -0.022726139, + -0.013706703, + -0.01399078, + -0.028170945, + 0.03399452, + -0.016026663, + 0.04521555, + 0.000110135225, + -0.0055394964, + -0.03503613, + 0.006699477, + -0.0218384, + 0.022844505, + -0.010374719, + -0.025922004, + -0.045026165, + -0.014677298, + -0.047914278, + 0.021104535, + -0.016713182, + 0.0010519717, + -0.01921069, + 0.021187391, + -0.011132258, + 0.031485174, + 0.021814726, + 0.011972651, + 0.012641415, + -0.0013930118, + -0.03108273, + -0.002432407, + -0.013245079, + -0.041451532, + 0.07878395, + 0.0057880636, + -0.059656117, + -0.009404124, + -0.011043483, + 0.023294294, + -0.008682095, + 0.034539, + 0.002541895, + 0.010570022, + -0.015860952, + 0.013588338, + 0.0022030743, + -0.0026395465, + 0.015813606, + -0.05766758, + 0.0007505101, + -0.014689135, + -0.037971593, + -0.0430613, + 0.012191627, + 0.023460004, + 0.005347153, + -0.028573386, + -0.0008936581, + -0.009735547, + -0.037829556, + -0.0015742587, + 0.00993085, + 0.038942188, + 0.009339023, + 0.028786443, + -0.027721155, + -0.023057563, + 0.025022427, + 0.012475704, + 0.0042019687, + -0.048222028, + 0.026963618, + -0.0071551832, + -0.015044231, + 0.03439696, + 0.0073445677, + -0.00001159379, + 0.004062889, + -0.009285759, + -0.004323293, + -0.026963618, + 0.021933092, + 0.007380077, + -0.025969349, + 0.012712435, + 0.0055217417, + -0.000068198766, + -0.0016349208, + 0.01866621, + 0.028691752, + 0.03640917, + 0.0094218785, + 0.0045984923, + -0.04876651, + -0.023057563, + 0.01146368, + 0.015588712, + 0.035604287, + 0.00033012824, + 0.019743335, + 0.015825443, + 0.0035687143, + -0.02292736, + -0.011741839, + 0.047275107, + 0.011925305, + -0.022205332, + 0.016938075, + -0.0096171815, + 0.04938201, + 0.037356094, + 0.03060927, + -0.040551957, + -0.008711687, + 0.022513082, + -0.030017443, + 0.027531771, + 0.016523797, + 0.025330177, + 0.003432594, + 0.0018183871, + 0.000982432, + 0.05705208, + -0.012830799, + 0.009735547, + -0.018370297, + 0.03015948, + -0.004450536, + -0.014736481, + -0.029780712, + 0.005326439, + 0.01177143, + 0.03546225, + -0.0010926598, + -0.013422626, + 0.006711313, + -0.011333479, + 0.041309495, + 0.0066343755, + 0.017222153, + -0.043179665, + -0.019838026, + 0.018618863, + -0.014038126, + 0.018169075, + -0.0137658855, + 0.0059212246, + -0.0013094163, + 0.008167206, + 0.0129136555, + -0.0018272646, + 0.055394966, + -0.021329429, + 0.013351607, + 0.042966608, + -0.02907052, + 0.013162223, + -0.0021113413, + 0.010427984, + 0.007510279, + -0.03534388, + 0.00008743312, + 0.020252304, + 0.010581858, + 0.012842637, + -0.034136556, + -0.0037610577, + 0.0131503865, + -0.026632195, + 0.0021276164, + 0.011777349, + 0.008469038, + 0.037924245, + -0.0049565476, + -0.010191253, + 0.027555445, + -0.018772738, + -0.026229754, + 0.0027490344, + 0.019447422, + -0.00815537, + 0.009244331, + -0.026797907, + -0.018488662, + 0.020003738, + 0.04467107, + 0.01955395, + 0.0041279905, + -0.032100674, + 0.03586469, + -0.0409544, + -0.0067172316, + 0.00043684198, + 0.013659357, + 0.011913469, + 0.0073859957, + 0.0032136182, + 0.013505482, + 0.0019042019, + 0.017411537, + 0.043605782, + 0.030325193, + 0.009149639, + 0.031887613, + 0.0021246574, + 0.01951844, + 0.052222777, + 0.010499003, + 0.0005141493, + 0.0244306, + -0.032716174, + 0.0009550601, + -0.025969349, + -0.014393222, + 0.021684526, + 0.044197608, + 0.0014351794, + 0.008622913, + 0.0015128567, + -0.0023229192, + -0.011274296, + 0.006527847, + 0.008616995, + -0.0028688794, + 0.0023125622, + -0.021660851, + 0.048293047, + -0.014771991, + 0.016736856, + -0.020015575, + 0.0034710628, + -0.033402693, + -0.0021128207, + -0.043724146, + 0.03756915, + -0.019115997, + 0.015896462, + 0.019435585, + -0.023377148, + 0.0029976016, + 0.0030627025, + -0.039462995, + 0.027176676, + -0.009919013, + -0.0035923873, + -0.004876651, + -0.008350673, + -0.028076252, + 0.020252304, + 0.012179791, + -0.027224021, + 0.0038616683, + -0.06727885, + -0.011185522, + 0.019660478, + -0.028857464, + -0.0042877835, + -0.0021128207, + -0.028952155, + 0.0016452778, + -0.011416335, + -0.009510653, + 0.01565973, + 0.008776788, + -0.014251184, + -0.0011318683, + 0.025330177, + -0.01747072, + -0.0062496886, + 0.014487914, + -0.00399187, + 0.0024679168, + -0.03472838, + -0.022773486, + -0.0065574385, + 0.0009069742, + -0.0032639236, + 0.008273736, + -0.0006280759, + 0.0012776055, + 0.004243396, + 0.000100702986, + 0.001119292, + -0.06448542, + 0.01689073, + 0.01989721, + 0.0160385, + 0.020666584, + 0.0250461, + 0.011445926, + 0.036432844, + -0.024548966, + 0.039297283, + -0.01119144, + -0.052838277, + 0.0039386055, + -0.042232744, + -0.009090456, + -0.021897582, + 0.009291677, + 0.0023569493, + -0.012238973, + -0.043084975, + -0.04739347, + -0.007196611, + 0.008433528, + 0.013079367, + 0.013588338, + 0.001508418, + 0.0016186456, + -0.02279716, + 0.004654716, + -0.031106405, + -0.0037048343, + 0.017873162, + 0.019873535, + 0.04405557, + -0.03162721, + 0.05634189, + -0.025637927, + 0.011167767, + 0.0021971562, + -0.0023451129, + 0.022359207, + 0.02029965, + -0.011386743, + -0.010114316, + -0.011954896, + 0.010250436, + 0.02051271, + -0.021282082, + 0.02190942, + 0.007735173, + -0.01549402, + -0.010688388, + -0.0032432096, + -0.012534887, + -0.010214927, + -0.011966733, + 0.009031273, + 0.033142287, + -0.0072084474, + 0.021175554, + 0.033521056, + -0.035935707, + 0.01712746, + -0.027318714, + 0.011451844, + -0.031343136, + -0.00070723274, + 0.015328308, + 0.040386245, + 0.010143907, + -0.030443558, + -0.014109145, + -0.0009565397, + 0.018843757, + 0.0074510965, + 0.008090269, + -0.0055276603, + 0.0020196082, + -0.0218384, + 0.028597059, + 0.036385495, + -0.007332731, + 0.014357712, + -0.025874658, + 0.10899078, + 0.004397271, + 0.011966733, + 0.0073623224, + 0.035698976, + -0.00046421395, + -0.0015609425, + 0.021057189, + 0.008794542, + 0.00031292828, + -0.0063621355, + -0.009895341, + 0.001214724, + -0.0034592263, + -0.023661226, + -0.01835846, + -0.014428732, + 0.0067409044, + -0.0020758316, + 0.00024856714, + 0.040788688, + 0.014215674, + 0.014120982, + 0.0056963307, + 0.02573262, + -0.007397832, + 0.0018849676, + -0.03200598, + 0.009907177, + 0.016725019, + 0.031011712, + 0.0037285073, + -0.0008145013, + 0.027081983, + -0.019115997, + 0.011025729, + -0.012369175, + -0.020891478, + -0.014866684, + -0.0011133737, + -0.035272863, + 0.0074984427, + 0.010942874, + -0.032597806, + 0.037166707, + -0.053453773, + 0.00044645916, + 0.007906803, + 0.0040007476, + -0.001627523, + -0.060176924, + -0.009510653, + 0.0052080736, + -0.0020447609, + 0.019968228, + 0.0057584723, + 0.0005921965, + 0.0014854847, + 0.009090456, + -0.008001495, + -0.024335908, + 0.023294294, + -0.0057081673, + 0.031603537, + -0.02029965, + 0.014049962, + -0.014322203, + 0.0005626051, + -0.005216951, + 0.033639424, + 0.008102106, + 0.025993023, + 0.020110266, + -0.00012890722, + -0.00064102217, + 0.009842075, + -0.0009343462, + -0.008037005, + -0.027342387, + -0.04370047, + -0.0026780153, + 0.027555445, + 0.05245951, + 0.02760279, + 0.030893346, + -0.0059892847, + -0.021270247, + -0.040244207, + 0.0020314446, + 0.01101981, + 0.026679542, + -0.009717792, + 0.037214056, + 0.026040368, + -0.006770496, + -0.0019160385, + -0.0064686644, + -0.016287066, + -0.019849863, + -0.032337405, + -0.020536382, + 0.0010275588, + 0.009226576, + 0.0008840409, + 0.013091204, + 0.005811737, + -0.012144281, + 0.025259158, + 0.0088478075, + -0.013848742, + 0.0018361419, + -0.020240469, + 0.039273612, + -0.03347371, + 0.024762023, + -0.02944929, + -0.024548966, + -0.005897552, + -0.017648268, + -0.034041863, + 0.011244705, + -0.0011474037, + -0.033521056, + -0.019672316, + -0.019767007, + -0.0035450412, + 0.0055128643, + 0.027153002, + 0.018772738, + 0.0035983054, + 0.004142786, + -0.045570645, + 0.005811737, + 0.022027785, + 0.015304635, + 0.00917923, + 0.013292424, + -0.034207575, + 0.0136120105, + -0.03354473, + 0.023377148, + 0.007433342, + 0.027105657, + -0.007291303, + 0.011297969, + 0.019968228, + 0.012055507, + 0.00798374, + 0.033284325, + -0.0021660852, + -0.049429353, + -0.008173125, + -0.0075043608, + 0.014061799, + 0.006045508, + 0.019838026, + -0.002374704, + 0.019198854, + -0.03046723, + -0.03472838, + -0.023803264, + 0.01576626, + 0.018808248, + -0.012582232, + 0.011801021, + -0.020938823, + -0.019695988, + -0.0007715939, + -0.01600299, + -0.009504735, + -0.0041102353, + -0.029899077, + -0.0013937516, + -0.00080414437, + 0.02805258, + -0.012227137, + -0.025330177, + 0.021589832, + -0.015363817, + 0.031272117, + -0.02852604, + 0.025211811, + -0.0076227263, + 0.030727634, + -0.016298903, + -0.012901819, + -0.00784762, + -0.012700598, + -0.0019840985, + -0.010433902, + -0.01433404, + 0.035935707, + 0.017885, + 0.011611637, + -0.0069894716, + -0.028005233, + 0.00034695832, + -0.040078495, + 0.022572266, + 0.022678794, + -0.01422751, + -0.011297969, + -0.005483273, + 0.010972464, + 0.014949539, + -0.020796785, + 0.0006950263, + 0.005480314, + 0.0068533514, + -0.0030863755, + 0.030206827, + 0.025993023, + 0.026561176, + 0.0418303, + 0.027342387, + 0.004613288, + -0.015778096, + 0.042232744, + -0.0012975797, + -0.009557999, + -0.06732619, + 0.00774701, + -0.040765014, + -0.021151882, + 0.0011518424, + 0.034018192, + -0.016630325, + 0.020489035, + 0.005122259, + -0.0030715798, + -0.016713182, + 0.033521056, + 0.017281335, + 0.020725766, + 0.036764264, + -0.03368677, + -0.026371792, + 0.022063294, + 0.023317967, + 0.016369922, + -0.037924245, + 0.026963618, + -0.011037566, + 0.04566534, + 0.00378769, + 0.025211811, + 0.047038376, + 0.029662346, + -0.0048855282, + 0.004237478, + 0.010877772, + 0.03015948, + 0.00167191, + -0.011244705, + -0.028431349, + -0.002951735, + -0.006024794, + 0.0066047846, + 0.01921069, + 0.008356591, + 0.03577, + 0.004832264, + 0.0071196733, + 0.014073635, + 0.0050719534, + -0.01699726, + 0.021364938, + 0.040622976, + 0.011528782, + 0.01866621, + 0.0061372416, + 0.0019974147, + -0.044552702, + 0.012043671, + 0.02238288, + -0.015979318, + 0.02907052, + -0.014274857, + -0.020110266, + -0.03446798, + 0.010516758, + -0.02269063, + -0.008741278, + -0.018003363, + -0.01596748, + 0.023164092, + -0.044102915, + 0.034018192, + 0.005438886, + -0.018725391, + -0.010806753, + 0.022737976, + 0.01337528, + 0.008516384, + 0.015943807, + -0.002719443, + 0.02283267, + -0.022157986, + 0.007178856, + 0.009031273, + 0.008297408, + -0.019849863, + 0.016796038, + 0.006060304, + -0.014949539, + 0.005462559, + 0.009717792, + 0.0035361636, + 0.008327, + -0.006024794, + 0.04895589, + -0.016902566, + 0.0022445023, + 0.045760028, + -0.0010216406, + 0.01712746, + 0.010534513, + 0.004255233, + -0.000020089738, + -0.010877772, + 0.008983927, + -0.0016807874, + 0.016417269, + -0.0039326875, + 0.011990407, + -0.02480937, + -0.03610142, + 0.029520309, + 0.0023258785, + 0.024548966, + -0.006350299, + -0.000025499403, + 0.01139858, + -0.0028585223, + 0.036598556, + 0.000027788106, + -0.011972651, + 0.008581485, + -0.0020565973, + -0.0218384, + 0.0048529776, + -0.0048855282, + -0.015423, + -0.003166272, + -0.0033053514, + 0.0017754796, + -0.0031573947, + -0.0038823823, + 0.013540992, + 0.008859644, + 0.008054759, + -0.0351545, + 0.013967107, + 0.008510466, + -0.007871293, + -0.03801894, + 0.00429962, + 0.014357712, + 0.0056489846, + 0.014712809, + -0.004636961, + -0.025188139, + 0.008285572, + 0.0025788841, + -0.025543235, + 0.02064291, + -0.017873162, + 0.011073075, + -0.016097682, + -0.03326065, + -0.035438575, + 0.031177424, + -0.013434463, + 0.026371792, + 0.011664902, + -0.010694306, + -0.0393683, + 0.026300773, + -0.038918514, + 0.0038143222, + 0.026348118, + -0.0044534947, + 0.030869674, + 0.034373287, + 0.0018021119, + 0.010256355, + -0.040575627, + -0.02985173, + 0.05061301 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 3, + "total_tokens": 3 + } + } + recorded_at: Fri, 12 Dec 2025 20:10:08 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_multiple_texts_with_custom_dimensions.yml b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_multiple_texts_with_custom_dimensions.yml new file mode 100644 index 000000000..510985d67 --- /dev/null +++ b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_can_handle_multiple_texts_with_custom_dimensions.yml @@ -0,0 +1,2393 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/text-embedding-3-small/embeddings?api-version=" + body: + encoding: UTF-8 + string: '{"model":"text-embedding-3-small","input":["Ruby","Python","JavaScript"],"dimensions":768}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '49758' + Content-Type: + - application/json + Access-Control-Allow-Origin: + - "*" + Apim-Request-Id: + - cdd5a45a-63ac-4863-adff-02bbdf353891 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Tokens: + - '249970' + X-Ratelimit-Limit-Tokens: + - '250000' + X-Request-Id: + - "" + Azureml-Model-Session: + - d20251125122509-fc1cf2eff8e84617 + X-Envoy-Upstream-Service-Time: + - '35' + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Azureml-Cluster-Local-Active-Requests: + - '{"upstream_stats_map":{"aoai-sp-txtemb-sm-1-usw2-prod-aoai-standard-online-westus2":{"active_requests":"0","error_rate":"0","active_tokens":"0","engine_tbt_ms":"0"},"aoai-sp-txt-em-small-1-use-prod-aoai-standard-online-eastus":{"active_requests":"1","error_rate":"0","active_tokens":"6","engine_tbt_ms":"0"}},"cluster_active_requests":"0","cluster_active_tokens":"0"}' + X-Ms-Deployment-Name: + - text-embedding-3-small + Date: + - Fri, 12 Dec 2025 20:10:07 GMT + body: + encoding: UTF-8 + string: | + { + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + -0.017017627, + 0.0070264, + -0.017210463, + 0.040141676, + 0.006845618, + -0.045894567, + 0.020440437, + 0.029069772, + 0.024329262, + -0.006700992, + 0.010654096, + -0.022513406, + 0.010292531, + 0.015828483, + -0.0011590145, + 0.023236534, + 0.008974831, + 0.009047143, + -0.07051308, + 0.05049045, + 0.049462, + -0.033649586, + 0.029776832, + 0.016254324, + 0.041523654, + 0.051261786, + -0.033456754, + -0.004105764, + -0.0067532184, + -0.066270724, + -0.015282119, + -0.056082644, + 0.07559105, + -0.034420926, + -0.008998934, + -0.06334607, + 0.057818152, + -0.036542103, + 0.05229024, + 0.030548168, + 0.018496023, + -0.011256703, + 0.0033545136, + 0.011176355, + 0.047951464, + 0.033617448, + 0.010871034, + -0.035995737, + -0.0016029353, + 0.046569485, + -0.028346643, + -0.002448594, + -0.044255473, + 0.063828155, + -0.044673283, + 0.005728786, + -0.07199147, + 0.07912634, + 0.00964975, + -0.014269738, + -0.02103501, + -0.02913405, + -0.072377145, + 0.03660638, + -0.05364008, + 0.0073879645, + -0.08002624, + -0.0077455114, + 0.011096007, + 0.026884317, + 0.029937526, + -0.011786997, + 0.00091998035, + 0.02577552, + 0.024875626, + -0.01219677, + -0.02275445, + 0.06077495, + -0.0050297617, + 0.006467984, + 0.012847586, + -0.021484956, + -0.031062393, + -0.054732803, + 0.020810036, + -0.042519964, + -0.055086333, + -0.013032385, + 0.060389277, + -0.025229156, + -0.05158318, + 0.003286218, + -0.02646651, + 0.040913012, + 0.01928343, + 0.0281056, + -0.03927392, + -0.02336509, + -0.025823727, + -0.010485366, + 0.0013960401, + -0.0380205, + -0.015732065, + 0.023766829, + 0.025904076, + 0.027736, + 0.0018650694, + -0.03760269, + -0.043773387, + 0.034774452, + -0.12617792, + -0.02982504, + -0.010750513, + -0.0427128, + -0.008637371, + 0.010734444, + 0.0060541937, + 0.025727311, + 0.004254407, + -0.047822908, + -0.041234404, + -0.042262852, + -0.06948463, + -0.021854555, + -0.018817415, + 0.011176355, + 0.03451734, + -0.014759859, + 0.009858654, + -0.062253345, + 0.016567681, + -0.051261786, + -0.0055801426, + -0.0023722637, + 0.0054274825, + -0.031303436, + -0.044673283, + -0.022256292, + 0.049172748, + 0.026948595, + 0.01034074, + -0.0011228581, + 0.013401984, + -0.05624334, + -0.019572683, + 0.01830319, + -0.05723965, + 0.02272231, + -0.037988357, + 0.04750152, + 0.0076531116, + 0.009015004, + -0.02844306, + 0.03212298, + -0.02744675, + -0.095195875, + 0.0057488726, + 0.028635895, + -0.046601623, + -0.03319964, + -0.022866935, + 0.029889317, + -0.04229499, + -0.028298436, + 0.012678856, + -0.06553153, + -0.06077495, + 0.015121424, + -0.034067396, + 0.023284743, + 0.025470199, + -0.005395343, + -0.033038944, + 0.00090391084, + -0.040173814, + -0.038888253, + 0.05312585, + -0.03724916, + -0.0125261955, + 0.004804788, + -0.01167451, + 0.07359843, + 0.017210463, + -0.00053732475, + 0.03426023, + -0.05556842, + 0.008042797, + 0.0036759041, + -0.0073518082, + -0.00076380465, + -0.04750152, + 0.06852046, + 0.008701649, + 0.036831353, + 0.025646964, + 0.0034931132, + 0.01577224, + -0.029905388, + -0.03830975, + 0.021227844, + -0.02336509, + 0.031721245, + 0.033135362, + -0.0623819, + -0.028266296, + -0.017322948, + 0.02749496, + -0.047597937, + -0.023815038, + -0.04541248, + 0.104194805, + 0.04036665, + -0.041202266, + 0.024972044, + 0.023188327, + -0.020102976, + 0.07584816, + 0.015378537, + 0.026193326, + 0.04001312, + -0.04714799, + 0.0017375174, + 0.09223908, + 0.048915636, + -0.021115357, + 0.04399836, + 0.031094532, + -0.02714143, + 0.007592851, + 0.010043453, + 0.037184883, + -0.046023123, + -0.046312373, + -0.017403297, + -0.027302124, + 0.044962533, + -0.03920964, + 0.008749857, + 0.014317947, + -0.08156891, + -0.115443476, + -0.05553628, + -0.0070946957, + -0.013177011, + 0.02776814, + 0.05119751, + 0.0042825285, + -0.009593507, + 0.017805034, + -0.019620892, + -0.015346397, + 0.004007338, + -0.0017415349, + -0.050619006, + -0.04846569, + -0.037088465, + -0.008006642, + 0.07141297, + 0.032203328, + -0.044030502, + -0.06607789, + -0.045830287, + -0.025116669, + -0.010629991, + -0.04033451, + -0.03863114, + 0.0039169467, + 0.0071991477, + 0.028218087, + 0.007504469, + -0.031673037, + -0.015258015, + 0.035706487, + 0.00007469819, + -0.015595475, + -0.0014111053, + 0.008307945, + 0.032026567, + 0.052386653, + 0.002701689, + -0.035642207, + 0.0010259388, + 0.004330737, + -0.011079938, + -0.01374748, + 0.032155123, + 0.0043508243, + 0.015057146, + 0.13832648, + 0.041780766, + 0.011843241, + -0.025036322, + 0.031255227, + -0.0027519064, + -0.04380553, + -0.03355317, + 0.10959417, + -0.05486136, + 0.008199476, + 0.013835861, + 0.087932445, + 0.06177126, + 0.032042634, + -0.018512094, + -0.013859966, + 0.019733377, + 0.0078097894, + -0.0644388, + 0.013120768, + -0.003501148, + -0.015491023, + 0.00517037, + -0.07340559, + -0.06864902, + -0.04769435, + -0.075076826, + 0.008291875, + 0.03117488, + 0.020713618, + 0.01865672, + 0.06257474, + -0.040173814, + 0.02405608, + 0.020536855, + -0.038759697, + -0.035481513, + 0.033746004, + -0.074369766, + 0.07032025, + -0.020199394, + -0.030114291, + -0.06929179, + 0.03458162, + 0.012317291, + 0.04309847, + -0.085811265, + -0.047565795, + -0.011811102, + 0.010252357, + -0.021099288, + -0.021147495, + -0.078676395, + -0.004929327, + 0.010228253, + -0.019620892, + -0.00057297904, + -0.0034388786, + -0.002105108, + -0.009673854, + 0.036349267, + 0.046312373, + 0.01729081, + -0.023011561, + 0.03657424, + 0.014012626, + -0.07732656, + 0.03387456, + -0.028041322, + -0.031367715, + 0.13125588, + -0.07976913, + 0.040527344, + -0.014084939, + 0.0043468066, + 0.047019433, + 0.041459378, + 0.0070424695, + 0.009641715, + -0.02404001, + 0.014567025, + -0.051036812, + 0.03461376, + -0.0074482253, + 0.004266459, + -0.0038807904, + 0.019942282, + -0.030708864, + -0.017997868, + 0.035385095, + 0.007845946, + -0.010147906, + 0.05425072, + -0.00045672606, + -0.03532082, + 0.031110601, + -0.009199804, + 0.025518406, + -0.024489958, + -0.045123227, + 0.0267879, + 0.011280807, + -0.014237599, + 0.010943347, + -0.08227597, + 0.007930311, + -0.034999426, + -0.02812167, + 0.0011590145, + 0.01968517, + -0.0048931707, + 0.00067943963, + -0.061835535, + -0.008010658, + -0.0012212839, + -0.029760761, + 0.049590558, + -0.0048489794, + 0.014470608, + 0.004969501, + -0.06350677, + -0.0028302453, + 0.030066082, + 0.053350825, + 0.007038452, + -0.012469952, + -0.06961319, + 0.011288842, + -0.042519964, + -0.04480184, + 0.04515537, + 0.043837667, + -0.011240633, + -0.026659343, + -0.027543167, + 0.015764205, + 0.08272592, + 0.04685874, + -0.047983605, + 0.0049212924, + -0.038759697, + -0.020231534, + 0.045894567, + 0.05492564, + 0.0018007912, + 0.057143234, + -0.016173977, + -0.009657785, + 0.016439125, + 0.010043453, + -0.032910388, + 0.013450193, + -0.009537264, + -0.02984111, + 0.030050013, + -0.08555415, + -0.019026319, + 0.009167665, + -0.05193671, + -0.0009154608, + -0.042134296, + -0.030982045, + 0.00948102, + -0.029230468, + 0.052322377, + 0.000834611, + -0.006901861, + 0.041812908, + 0.010814791, + 0.039852425, + 0.0068536527, + 0.042937774, + 0.03319964, + -0.03467804, + 0.03866328, + 0.04779077, + -0.06402099, + -0.027575307, + 0.050329756, + 0.0083963275, + -0.04409478, + -0.0032560877, + 0.05691826, + 0.0029467493, + -0.015555301, + -0.033713866, + -0.017242601, + 0.0034469133, + -0.051904567, + 0.010742478, + -0.023654342, + -0.029889317, + 0.03686349, + 0.03323178, + -0.050972536, + -0.050329756, + 0.09256047, + 0.024875626, + 0.0301625, + -0.013707305, + 0.015804378, + -0.01828712, + -0.04505895, + 0.030371403, + -0.019058459, + 0.013787653, + 0.010573748, + -0.06903468, + -0.0011529885, + 0.022770518, + -0.08812528, + -0.042616382, + -0.01862458, + -0.007275478, + -0.003955112, + -0.016157908, + -0.028218087, + 0.04001312, + 0.005636386, + -0.0071147825, + 0.037152745, + 0.023107978, + -0.033263918, + 0.027398542, + 0.0039249817, + -0.011079938, + 0.014293843, + -0.0066487663, + 0.036734935, + -0.00796245, + -0.00866951, + -0.00083159795, + -0.021629581, + 0.00061265065, + -0.05756104, + -0.014325982, + -0.057303928, + 0.04399836, + -0.00770132, + -0.012984177, + -0.05794671, + 0.03013036, + -0.0072111995, + -0.01388407, + 0.036477823, + -0.02238485, + -0.012839551, + -0.041202266, + 0.030435681, + 0.030258916, + 0.00931229, + -0.066335, + -0.011087973, + -0.03792408, + 0.01135312, + -0.05891088, + 0.029278675, + -0.015852587, + 0.0025289417, + 0.0179818, + 0.05158318, + 0.048947774, + -0.031335574, + 0.007938346, + -0.034710176, + 0.052772325, + -0.04640879, + -0.0057850294, + -0.025550546, + -0.0124619175, + 0.028057393, + -0.017756825, + 0.06302468, + 0.007528573, + -0.0046923016, + -0.026225466, + 0.01963696, + 0.024361402, + -0.034838732, + -0.052354515, + -0.05659687, + -0.030564237, + -0.0037522344, + -0.017547922, + -0.05592195, + -0.016326638, + -0.011762893, + 0.011770927, + -0.009971141, + 0.032974668, + 0.024538167, + 0.0029889317, + -0.03013036, + -0.0102362875, + 0.01371534, + -0.1024593, + -0.042327132, + 0.021918833, + -0.027639585, + -0.023509717, + 0.050040502, + 0.0147036165, + 0.048915636, + 0.0056484384, + 0.023124048, + -0.0023561942, + 0.0147678945, + 0.02442568, + -0.0007728438, + -0.06871329, + 0.049397722, + 0.0065523493, + -0.017483644, + 0.041620072, + -0.0014090965, + -0.023734689, + 0.025052391, + 0.005781012, + -0.0305321, + -0.055600557, + 0.015121424, + -0.021067148, + 0.042841356, + 0.017869312, + -0.04094515, + 0.006026072, + 0.044223335, + 0.006042142, + -0.041812908, + 0.002518898, + -0.055311307, + -0.0427128, + 0.0025630894, + -0.017869312, + 0.000235519, + 0.01590883, + 0.0642781, + -0.04509109, + -0.047244407, + 0.00023024618, + -0.043291304, + -0.0012634664, + -0.016905142, + -0.032315817, + -0.092046246, + 0.06961319, + 0.0103969835, + -0.0147036165, + -0.03085349, + 0.050297614, + 0.046569485, + 0.030082153, + 0.040238094, + 0.003248053, + -0.008950726, + 0.008191441, + -0.03763483, + 0.0075446423, + -0.0014030705, + 0.007906207, + 0.03763483, + 0.0013247315, + 0.002143273, + -0.021195704, + -0.063121095, + -0.014317947, + -0.02471493, + -0.019122737, + 0.0102362875, + 0.044609003, + 0.021934902, + 0.002753915, + 0.005106092, + -0.020408297, + 0.018094286, + -0.004027425, + 0.052322377, + -0.02375076, + 0.01169058, + -0.010991556, + 0.02307584, + 0.0073678778, + 0.016535543, + 0.012823482, + -0.029391162, + 0.022143807, + -0.023124048, + -0.029760761, + 0.009392638, + -0.05762532, + 0.032669347, + -0.03557793, + -0.0066286796, + -0.08099041, + -0.030773142, + 0.0077173896, + -0.0083481185, + -0.003734156, + -0.014125113, + 0.030291056, + 0.045862425, + -0.013144872, + -0.0013759532, + 0.026803968, + -0.023734689, + 0.03283004, + -0.005668525, + 0.009882758, + -0.009633681, + -0.044930395, + -0.1450114, + 0.02980897, + 0.019540543, + -0.013353776, + -0.026659343, + -0.0040515293, + -0.015073216, + 0.0067853574, + -0.05891088, + 0.04949414, + 0.0084284665, + -0.04541248, + 0.00105858, + -0.04136296, + -0.02140461, + -0.040173814, + -0.004812823, + 0.0007622981, + -0.014317947, + 0.027864559, + -0.03965959, + -0.016664099, + 0.052258097, + -0.06553153, + -0.040173814, + 0.008902517, + 0.020761827, + -0.03602788, + 0.027993115, + -0.059746496, + -0.0072393212, + 0.006813479, + 0.060549974, + 0.026675412, + -0.008838239, + 0.024907766, + 0.017740756, + -0.00822358, + -0.0020749776, + -0.06504944, + 0.008420432, + 0.03467804, + -0.019620892, + -0.022802657, + -0.005949742, + -0.020504715, + 0.0009847606, + 0.03358531, + 0.012863656, + -0.022497335, + 0.041845046, + 0.0029146103, + 0.008701649, + 0.014791998, + 0.0031918096, + -0.010951382, + -0.053672217, + -0.0073437733, + -0.004334755, + -0.015748136, + 0.04538034, + -0.033392474, + -0.010011314, + -0.009697959, + 0.017853243, + -0.005805116, + 0.033713866, + 0.021950971, + -0.045605313 + ] + }, + { + "object": "embedding", + "index": 1, + "embedding": [ + -0.015485656, + -0.024471698, + -0.0060488572, + -0.00833899, + -0.017215978, + -0.010054771, + 0.023991862, + 0.044930212, + -0.011079878, + -0.0006529603, + -0.023148512, + -0.036293145, + -0.05455604, + -0.022741377, + 0.026783641, + 0.09759598, + -0.0041331435, + -0.0031462056, + -0.03530439, + 0.05702793, + 0.04036449, + 0.016663438, + -0.027626993, + -0.022421485, + 0.016256304, + 0.007713747, + -0.039433897, + 0.02588213, + -0.030767744, + -0.05432339, + -0.016518034, + -0.03876503, + -0.043854214, + 0.027205318, + 0.007230275, + -0.09166345, + -0.021621756, + 0.007332058, + 0.001864822, + 0.0033097863, + 0.055602957, + -0.019600624, + 0.053916257, + 0.007273896, + 0.026638238, + 0.016837925, + -0.033559527, + -0.02727802, + 0.00920415, + 0.008033639, + -0.030767744, + -0.006572316, + -0.0011814175, + -0.011566985, + -0.02367197, + 0.038038008, + -0.06293138, + 0.05618458, + -0.019964138, + 0.017855762, + 0.029386396, + -0.008375341, + -0.061709978, + 0.028441262, + -0.020952893, + -0.054468796, + -0.0015222109, + -0.022028891, + -0.054381553, + 0.0036478536, + -0.09689804, + 0.024398996, + -0.043825135, + 0.0200223, + 0.02755429, + -0.036234982, + -0.02365743, + 0.06863127, + 0.0750291, + -0.0042421976, + -0.018568248, + -0.027903263, + 0.013231875, + 0.018757274, + -0.013268227, + -0.0779372, + -0.01474409, + 0.036002334, + -0.012773849, + -0.06839862, + -0.023032187, + 0.01113077, + -0.037689034, + 0.040509894, + 0.06956186, + 0.06159365, + -0.031262122, + -0.039753787, + -0.04542459, + -0.032163635, + -0.03678752, + -0.0034933605, + -0.024050023, + 0.030971313, + -0.009269583, + 0.048274536, + 0.025024239, + -0.011770553, + -0.033239633, + 0.08090346, + -0.019775111, + -0.033850335, + -0.017855762, + -0.050717343, + -0.04210935, + -0.015907332, + 0.057405982, + -0.06595581, + 0.039026763, + -0.010389203, + -0.04731486, + 0.020443974, + -0.019964138, + 0.0015031265, + -0.0784025, + -0.006125195, + -0.04097519, + -0.062058948, + 0.021941649, + 0.008920611, + -0.015398413, + -0.04481389, + 0.03675844, + -0.010600041, + -0.019557003, + -0.027147155, + 0.0122140385, + 0.022595972, + 0.012323093, + 0.016067278, + 0.018728193, + 0.016561655, + -0.031930987, + 0.008535286, + -0.040887948, + 0.007822801, + -0.06118652, + 0.015732845, + 0.018146573, + 0.045540918, + 0.06508338, + 0.0578422, + -0.030564178, + 0.030127963, + -0.06502522, + 0.0012722957, + 0.0019102611, + 0.05036837, + -0.013864388, + -0.022974025, + -0.031523854, + 0.074156664, + -0.0029626314, + -0.040480815, + 0.021403648, + 0.02167992, + -0.04568632, + -0.0015540184, + -0.047751077, + -0.0020174976, + 0.009262313, + 0.02250873, + 0.008033639, + 0.0024900644, + -0.037223738, + -0.006943099, + 0.04763475, + -0.046442427, + -0.09218691, + 0.03338504, + 0.02954634, + 0.0022356054, + -0.0595289, + -0.0006284232, + 0.06490889, + -0.03960838, + 0.05179334, + 0.0067031807, + 0.016343547, + 0.043098107, + -0.00948769, + 0.05121172, + 0.03033153, + 0.069154724, + -0.0027027195, + -0.021272784, + 0.031407528, + -0.015645603, + -0.050252046, + 0.0040168194, + -0.034897253, + 0.044901133, + -0.02726348, + -0.040771626, + -0.016488953, + -0.04202211, + 0.0043766974, + -0.066188455, + 0.026027534, + -0.017753977, + 0.059674304, + 0.002148362, + 0.0038786842, + -0.0071503017, + -0.015398413, + 0.027714236, + 0.0098366635, + 0.011196203, + -0.0478674, + 0.009902095, + -0.024151808, + 0.0027699694, + 0.028528504, + -0.0008519837, + -0.05429431, + 0.024646185, + 0.021301866, + 0.033617686, + 0.024631646, + -0.024050023, + 0.0046384265, + -0.026841804, + 0.027917802, + -0.013159173, + 0.019818733, + -0.0077500986, + -0.018771814, + -0.025198726, + -0.06333852, + -0.025838507, + -0.08491665, + 0.0074447473, + 0.0091823395, + 0.0008524381, + -0.007742828, + 0.028702991, + -0.011007176, + -0.020240407, + -0.015369332, + 0.010818149, + 0.03399574, + -0.016518034, + -0.028586667, + -0.076134175, + -0.028543046, + 0.00009684215, + 0.010730905, + 0.011661499, + -0.032367203, + 0.06200079, + -0.014024334, + -0.034053903, + -0.05961614, + -0.016619816, + -0.022494188, + -0.08171774, + -0.03978287, + 0.054672364, + -0.012199498, + -0.01647441, + -0.0008269922, + 0.02341024, + 0.016837925, + 0.03614774, + -0.039404817, + -0.01477317, + 0.01808841, + 0.081194274, + -0.0074265716, + -0.010498257, + -0.053945336, + 0.0102510685, + 0.025983913, + 0.0037514549, + 0.013559037, + 0.0012150424, + -0.010221987, + 0.04347616, + 0.0147077385, + -0.014177009, + -0.014249712, + -0.0006602306, + -0.04900156, + -0.0043766974, + -0.01730322, + -0.021505432, + 0.059732467, + 0.017681275, + 0.04036449, + -0.054643285, + 0.071074076, + -0.035478875, + -0.0069794506, + 0.020531217, + -0.08863902, + 0.00403863, + -0.046907727, + -0.06298954, + 0.014780441, + 0.0077573685, + -0.05682436, + 0.023613809, + 0.023468403, + -0.0052963854, + -0.006394195, + -0.06037225, + 0.030738665, + -0.011821445, + 0.014962197, + -0.04568632, + -0.037252817, + -0.04711129, + 0.018248355, + -0.026376508, + -0.048885237, + -0.0037514549, + -0.03251261, + -0.031378448, + 0.045889888, + -0.04120784, + -0.041440487, + 0.00584529, + 0.028281316, + 0.032367203, + 0.041963946, + 0.0097785015, + 0.009087826, + -0.002855395, + -0.027219858, + 0.053567283, + -0.02505332, + 0.016532574, + -0.04591897, + -0.009247772, + -0.0017275958, + -0.0002769515, + -0.016459871, + 0.033559527, + 0.000804727, + 0.04202211, + 0.042574648, + -0.029662665, + 0.0049183317, + 0.06554867, + -0.036031414, + -0.06787516, + 0.025387753, + -0.06298954, + -0.0067468025, + 0.041033354, + -0.11818536, + 0.026391048, + 0.024573483, + 0.039666545, + -0.0049983044, + -0.01756495, + -0.014213361, + -0.019149868, + -0.06287322, + 0.065490514, + 0.009843933, + -0.024864294, + -0.01253393, + -0.029008342, + -0.030535096, + -0.016488953, + 0.027772397, + 0.05734782, + -0.043418, + 0.04431951, + -0.0036405833, + 0.015383872, + -0.0038641437, + -0.018539166, + -0.036118656, + 0.03059326, + 0.026114779, + -0.0112034725, + -0.060023278, + 0.050833665, + 0.04568632, + -0.07404034, + -0.010592771, + 0.01252666, + 0.034664605, + -0.08706865, + 0.028862936, + 0.013377281, + 0.008040909, + 0.024166347, + 0.00022674126, + -0.020153165, + 0.01641625, + -0.038823195, + 0.020516677, + -0.00047801968, + 0.031233042, + 0.05897636, + -0.046558753, + 0.004514832, + 0.016387168, + -0.033879418, + 0.035711523, + 0.009727609, + -0.014736819, + -0.10928657, + 0.008375341, + -0.03088407, + -0.023293916, + 0.009414989, + 0.015412954, + -0.02396278, + 0.00362059, + -0.0031789218, + -0.011385229, + 0.05932533, + -0.011487013, + -0.1017255, + 0.048914317, + -0.0037514549, + 0.06554867, + 0.0016830654, + -0.00368784, + -0.010381933, + -0.009335015, + -0.058307495, + -0.0012259478, + 0.03981195, + 0.013995253, + 0.04228384, + -0.031552933, + 0.046442427, + -0.007662855, + 0.031116718, + -0.03530439, + -0.046326105, + 0.00974215, + -0.035566118, + -0.005645358, + -0.035595197, + 0.04792556, + -0.06362933, + -0.0351299, + -0.0016394439, + 0.03710741, + 0.013391821, + 0.037456386, + -0.011268904, + 0.034868173, + 0.035595197, + 0.07491277, + 0.034577362, + -0.08561459, + 0.046907727, + -0.045221023, + -0.040160924, + 0.026914507, + -0.0008656155, + 0.026856344, + 0.0010478264, + -0.013987983, + -0.0052200477, + 0.08724313, + 0.0071393964, + -0.088057406, + -0.020196786, + 0.04097519, + -0.020516677, + -0.10137652, + -0.0068340455, + 0.00039304848, + -0.025198726, + -0.043621566, + 0.07433115, + -0.009400448, + 0.194843, + 0.015645603, + 0.0077282875, + -0.00835353, + -0.031233042, + -0.028441262, + 0.033617686, + 0.011472472, + -0.0125121195, + 0.0045766295, + -0.0060852086, + -0.100096956, + 0.035071738, + 0.018844517, + -0.07438931, + -0.03312331, + -0.04591897, + -0.067119054, + 0.053043824, + 0.005180061, + 0.016765222, + 0.028804775, + -0.014918576, + -0.000574805, + 0.00515098, + 0.016358087, + 0.023148512, + 0.01584917, + -0.012126796, + 0.024951536, + 0.0128683625, + -0.032047313, + -0.010527338, + 0.037049253, + -0.038532384, + 0.010592771, + -0.022857701, + -0.027888723, + -0.026536454, + -0.04315627, + -0.11219467, + 0.03364677, + -0.079507574, + 0.019033544, + -0.040771626, + -0.006237884, + 0.011603337, + 0.00044848424, + 0.03233812, + -0.027379803, + 0.01699787, + -0.016837925, + 0.0261584, + -0.025693104, + -0.028354019, + 0.0013895286, + 0.047663834, + -0.017041491, + 0.033065148, + -0.025707643, + 0.009313204, + 0.0317565, + -0.024369916, + -0.017448626, + 0.009880285, + 0.016765222, + -0.07462196, + 0.04228384, + -0.0366712, + 0.04836178, + -0.028281316, + -0.037369143, + 0.00073565956, + 0.059557978, + 0.016299926, + -0.023322998, + 0.02335208, + 0.04699497, + -0.014664116, + 0.025111482, + 0.009698529, + -0.021301866, + -0.045715403, + 0.010738175, + -0.026580075, + 0.025140563, + 0.034024823, + -0.022479648, + -0.051357124, + -0.035769686, + -0.030942231, + 0.0006097932, + -0.023570187, + 0.00918961, + -0.0062996815, + -0.03760179, + 0.015572899, + 0.065141544, + 0.022217918, + -0.0601396, + -0.0061470056, + -0.023890078, + 0.00032057308, + 0.009378637, + -0.026769102, + 0.05313107, + -0.00056798913, + -0.070783265, + -0.014227901, + -0.015820088, + -0.00044416753, + 0.01923711, + -0.022377864, + -0.08735946, + 0.06502522, + 0.023032187, + 0.008578909, + 0.0043512513, + -0.0030862258, + 0.023046728, + -0.02005138, + 0.0024173618, + 0.04013184, + -0.045511834, + 0.019935057, + -0.0015449305, + 0.04481389, + 0.07101591, + -0.025838507, + -0.019527921, + -0.0066377483, + 0.010701824, + 0.011443391, + 0.04429043, + -0.05426523, + 0.00062660564, + -0.02058938, + 0.029400935, + -0.008099071, + -0.02534413, + 0.000459844, + -0.027088992, + 0.034664605, + -0.050571937, + 0.028310398, + -0.016663438, + 0.06682824, + -0.012119525, + 0.007684666, + 0.059354413, + -0.007902774, + 0.0011050797, + -0.053945336, + 0.030476935, + -0.008157233, + -0.00025763988, + 0.039346654, + -0.02841218, + -0.021810783, + 0.06543235, + -0.057784036, + -0.039550222, + -0.0073902206, + 0.011159851, + 0.015340251, + 0.03198915, + 0.03178558, + 0.006223344, + -0.049873993, + -0.00016460326, + -0.103063226, + -0.015558359, + -0.056359064, + 0.04562816, + -0.034984495, + 0.0561555, + -0.02839764, + -0.0070012617, + -0.019469758, + -0.0072230045, + -0.017753977, + -0.010127474, + -0.013457254, + 0.04429043, + -0.007604693, + -0.023948241, + 0.053596366, + -0.0018093863, + -0.026943589, + 0.0016939709, + 0.034024823, + -0.0097785015, + -0.002780875, + -0.014904035, + 0.049030643, + -0.028833855, + 0.0028953815, + -0.03562428, + 0.05348004, + 0.047140375, + 0.011821445, + -0.0049074264, + 0.007015802, + 0.014947657, + -0.010825419, + 0.05766771, + -0.017899383, + -0.01730322, + 0.022639593, + 0.008571638, + -0.03338504, + -0.00036010513, + 0.044726647, + -0.0138789285, + -0.08881351, + 0.033530444, + 0.0048056426, + 0.00036328586, + -0.006565046, + -0.029270072, + 0.0116178775, + 0.023337537, + -0.010360122, + 0.050164804, + 0.0362059, + -0.052229557, + 0.017957546, + -0.04335984, + -0.029735368, + -0.04699497, + -0.041033354, + 0.021810783, + -0.019920515, + 0.0112034725, + -0.01167604, + -0.0065323296, + -0.044639405, + -0.062756896, + -0.020749325, + -0.038532384, + -0.009138718, + -0.022944944, + -0.014177009, + 0.019440679, + 0.007990017, + 0.028426722, + 0.058365658, + 0.034053903, + -0.05228772, + 0.016314466, + -0.02085111, + -0.027467046, + 0.013835307, + -0.0345192, + -0.0020556664, + 0.029924395, + -0.023788294, + -0.016576195, + -0.011043527, + -0.007575612, + 0.023206674, + -0.007691936, + 0.036962006, + -0.017346842, + -0.0018321058, + -0.039666545, + 0.005060102, + 0.009509502, + -0.00808453, + 0.012962876, + -0.01897538, + -0.040829785, + -0.044145025, + -0.004587535, + 0.0062778704, + 0.015485656, + -0.025780346, + -0.006150641, + -0.0033388673, + 0.03585693, + 0.013093741, + -0.0012232214, + -0.013064659 + ] + }, + { + "object": "embedding", + "index": 2, + "embedding": [ + -0.029378107, + 0.05203949, + -0.042751044, + 0.021042712, + -0.020891434, + 0.002681395, + 0.012919106, + -0.015233653, + -0.0097649675, + 0.007700029, + 0.05884698, + -0.019121487, + 0.0024601517, + 0.012851031, + 0.03576202, + 0.067832865, + -0.04674477, + -0.059966434, + 0.03784965, + 0.02172346, + 0.022237804, + -0.037002496, + 0.01363011, + 0.008252192, + 0.016474128, + 0.016111063, + -0.02934785, + 0.015702613, + 0.031435482, + -0.062870964, + 0.07031382, + -0.056366026, + 0.059058767, + 0.012102206, + -0.0064557707, + -0.007571443, + 0.06952718, + -0.0074731125, + -0.013781387, + 0.0019344621, + 0.024038007, + -0.007374782, + 0.0512831, + 0.03866655, + 0.044747908, + 0.031223692, + 0.008161426, + -0.023402642, + -0.006739416, + 0.028667102, + -0.0059792465, + 0.008713589, + -0.009454849, + 0.08604669, + -0.0916137, + -0.0021727243, + -0.062991984, + 0.08417085, + 0.053552262, + 0.02490029, + 0.0084261615, + -0.004307629, + -0.0070873545, + 0.045050465, + -0.047743205, + 0.019590447, + -0.051525146, + -0.003952127, + 0.025460016, + 0.0020290106, + -0.0023334567, + 0.018546632, + -0.011277744, + -0.025989488, + 0.011383638, + -0.00047108784, + -0.010823911, + 0.036276363, + 0.073218346, + 0.07920894, + 0.012094643, + -0.018077672, + -0.0348241, + -0.0696482, + -0.014855458, + -0.081145294, + -0.029045295, + 0.02388673, + -0.06559396, + 0.03285749, + -0.021662949, + -0.00826732, + -0.06976922, + 0.037970673, + 0.022646254, + 0.09978269, + -0.07727259, + 0.0013945902, + -0.01548326, + 0.011285308, + 0.034037456, + -0.07703055, + -0.012472836, + -0.008736281, + 0.039029617, + 0.050980546, + -0.025066694, + -0.005521632, + -0.055216316, + 0.014711745, + -0.06377863, + -0.044475608, + -0.0027589248, + -0.01848612, + 0.006939859, + -0.02934785, + 0.028394802, + 0.0032014118, + -0.0073672184, + -0.08967735, + -0.072008125, + 0.032494426, + -0.053007666, + -0.0072197225, + -0.0112399245, + -0.03164727, + 0.006920949, + -0.028077118, + -0.018077672, + 0.000303737, + 0.039453194, + 0.021360394, + 0.025792828, + -0.0348241, + -0.034037456, + 0.0029499128, + 0.009500232, + 0.018213822, + 0.0022559268, + 0.052886643, + 0.0023637123, + -0.021027584, + 0.055488616, + 0.007949637, + -0.0012348032, + 0.016277468, + -0.0008854466, + -0.0077340663, + -0.055851683, + 0.0052190768, + 0.0088951215, + -0.0056350897, + 0.0021783973, + 0.031072415, + -0.07194762, + -0.0625079, + 0.05769727, + 0.018123055, + -0.04792474, + -0.02381109, + -0.029302467, + -0.01204926, + 0.045110974, + -0.028999912, + -0.014152017, + 0.025066694, + -0.026912281, + 0.038908593, + -0.038636293, + 0.026685365, + -0.017366666, + -0.04438484, + 0.02651896, + 0.010876858, + -0.045958128, + -0.02719971, + 0.051373865, + -0.031495992, + -0.018470993, + 0.07951149, + 0.056910627, + 0.07146353, + -0.05161591, + 0.009681765, + 0.015838763, + -0.051585656, + -0.005415737, + 0.00035692053, + -0.0065314095, + 0.0036495717, + -0.040451623, + 0.040330604, + 0.032161612, + 0.0600572, + 0.077393614, + 0.0017661657, + 0.044505864, + 0.0050980547, + 0.010362514, + 0.020891434, + 0.012820775, + -0.0078891255, + 0.0028704922, + -0.021572184, + -0.026957665, + 0.018138181, + -0.022661382, + -0.05863519, + 0.04635145, + -0.019197125, + 0.09209779, + 0.040391114, + -0.015959784, + -0.018228948, + -0.03069422, + -0.017850755, + 0.050466202, + -0.0066562137, + 0.009016144, + -0.00487492, + -0.06226585, + 0.0019741724, + 0.09403414, + 0.004489162, + -0.0038878338, + 0.00951536, + 0.06868002, + -0.008085786, + -0.026670238, + -0.0036684813, + 0.059391577, + -0.012616551, + -0.023659814, + -0.00840347, + 0.013962921, + 0.03476359, + -0.01113403, + 0.016171573, + -0.049619045, + -0.008259756, + -0.049346745, + -0.03198008, + -0.0072991434, + 0.0085018, + 0.0340072, + 0.055095296, + -0.008290011, + 0.017291028, + -0.030588327, + 0.000005794788, + 0.048015505, + 0.023175726, + -0.007454203, + -0.044626888, + 0.030331155, + 0.0016536531, + -0.007110046, + 0.07763565, + 0.009712021, + 0.07527573, + -0.036457896, + -0.05385482, + -0.00033493803, + -0.033855923, + -0.09294494, + 0.045110974, + 0.046169918, + 0.046442218, + -0.004704733, + -0.0422367, + 0.047259115, + 0.019529935, + 0.02353879, + 0.00803284, + -0.011572734, + -0.016655661, + 0.003254359, + 0.05796957, + -0.024673373, + 0.056123983, + -0.103352845, + -0.022676509, + 0.017896138, + -0.014152017, + -0.025429761, + 0.02205627, + -0.012616551, + -0.008653077, + -0.012034131, + -0.016186701, + 0.036276363, + -0.036609173, + -0.013327555, + -0.047743205, + 0.0014692835, + 0.08489698, + 0.033462603, + 0.02502131, + 0.04096597, + -0.003012315, + 0.01667079, + -0.0047917175, + 0.01460585, + -0.01633798, + -0.053128686, + 0.0348241, + -0.041782867, + -0.021541927, + 0.0056199622, + -0.013660366, + -0.0067280703, + 0.039422937, + -0.0023882948, + -0.03449129, + -0.045716085, + -0.059754644, + 0.0026322298, + 0.086954355, + 0.041329034, + -0.050738502, + 0.032615446, + -0.052009232, + -0.0018843514, + -0.024113646, + -0.06601754, + -0.020422474, + -0.009674202, + -0.049921602, + 0.024007753, + 0.01183747, + -0.015430314, + -0.050375436, + 0.073762946, + -0.008842175, + 0.043628454, + -0.0133502465, + -0.03125395, + 0.018879442, + -0.039029617, + 0.052947152, + -0.059966434, + -0.016776683, + 0.018546632, + -0.035187166, + 0.041056734, + -0.022948809, + -0.026912281, + -0.024658246, + -0.023236236, + 0.020891434, + 0.010982753, + 0.026972793, + -0.032645702, + 0.088830195, + 0.0117769595, + -0.09010093, + 0.029922705, + -0.053400986, + -0.02558104, + 0.025928978, + -0.08259756, + 0.031768292, + 0.037668116, + 0.045625318, + -0.0070760087, + -0.0013898627, + -0.0018654417, + -0.05775778, + 0.027184581, + 0.023977496, + -0.033916432, + 0.013448577, + 0.010430589, + 0.03246417, + -0.05775778, + -0.0015411404, + -0.01788101, + 0.017154878, + 0.005941427, + 0.03542921, + 0.00068027637, + 0.06619907, + 0.006459553, + -0.026579471, + -0.013009872, + -0.010112906, + -0.04641196, + 0.0005601998, + -0.059603367, + 0.040633157, + 0.0042055165, + -0.02860659, + -0.066380605, + -0.020694774, + 0.016504385, + -0.03219187, + 0.07648595, + -0.019454297, + 0.0085925665, + -0.0014494283, + -0.0038386686, + 0.012745136, + -0.0036571354, + -0.013690621, + 0.038485017, + -0.04865087, + -0.0007601698, + 0.01214759, + 0.0113079995, + -0.057667013, + 0.020619133, + 0.0034699296, + 0.040602904, + 0.0024620427, + -0.013214096, + -0.026624855, + 0.064323224, + -0.042720787, + -0.022918554, + -0.026897155, + -0.0104381535, + -0.019121487, + 0.0064557707, + -0.035247676, + -0.027472008, + 0.06396016, + 0.06438374, + -0.0062780194, + 0.012223229, + -0.044173054, + -0.015914401, + 0.018455865, + 0.052069742, + 0.02786533, + -0.0018285677, + -0.04217619, + 0.008017711, + 0.007979892, + 0.017351538, + -0.01815331, + -0.04674477, + 0.043204878, + -0.012835903, + 0.0057182927, + -0.060480777, + 0.015914401, + -0.06402067, + -0.049770325, + -0.022494975, + -0.0518277, + 0.002741906, + -0.04798525, + 0.0070306254, + -0.006516282, + -0.027320731, + 0.030815244, + 0.07031382, + 0.006682687, + 0.08659129, + -0.0032751595, + 0.000045442368, + 0.035247676, + -0.052463066, + -0.02369007, + -0.013751132, + -0.03285749, + 0.028772997, + 0.03772863, + 0.036155343, + 0.019529935, + -0.02868223, + -0.015188269, + 0.033432346, + 0.030784987, + -0.0054195193, + 0.026730748, + -0.012087079, + -0.06710673, + -0.03691173, + -0.055639893, + -0.00048881565, + -0.009719584, + -0.025202844, + -0.024809523, + 0.016459001, + 0.13179302, + 0.022116782, + 0.017124621, + -0.0043416666, + -0.0110054435, + -0.007280234, + -0.0072840154, + 0.04586736, + -0.014227657, + -0.03718403, + 0.02645845, + -0.03630662, + 0.00487492, + 0.042962834, + -0.03812195, + 0.01363011, + -0.13663392, + -0.108738326, + 0.050496455, + -0.023856474, + 0.0027097596, + 0.016292596, + -0.016005168, + -0.03866655, + 0.035126653, + -0.005824187, + -0.0057372022, + -0.005824187, + -0.020089664, + -0.0122459205, + -0.042478744, + -0.019060975, + 0.03328107, + 0.011277744, + -0.051101565, + 0.0034699296, + 0.021965506, + -0.0075525334, + -0.071342506, + 0.0063990415, + -0.060238734, + 0.03110267, + -0.064867824, + 0.01916687, + -0.016095934, + 0.004428651, + 0.004318975, + 0.03860604, + 0.036548663, + 0.0135166515, + -0.0067205066, + -0.016776683, + 0.023296747, + -0.015422749, + 0.013448577, + -0.0055178497, + 0.07152404, + -0.0022805096, + 0.0017850754, + -0.04426382, + 0.029816812, + 0.011149158, + -0.022812659, + -0.014772256, + 0.0348241, + -0.010362514, + -0.051585656, + -0.0172759, + -0.007843742, + 0.043688964, + 0.014870586, + -0.012019004, + 0.002881838, + 0.027623286, + -0.028379675, + -0.01039277, + 0.046321195, + 0.03718403, + -0.03697224, + -0.004848446, + -0.072008125, + -0.021738589, + 0.022419337, + 0.04284181, + 0.03213136, + -0.017018728, + 0.026549214, + -0.0009090837, + -0.00089301047, + 0.018697908, + -0.06632009, + 0.02794097, + -0.03191957, + 0.008002584, + -0.04284181, + -0.019756852, + 0.035913296, + -0.00561618, + -0.00462153, + -0.10922241, + 0.063113004, + 0.006607048, + 0.015717741, + -0.009855734, + -0.029544512, + 0.09494181, + 0.039029617, + -0.01579338, + 0.027910713, + 0.020482985, + 0.04020958, + -0.004080713, + 0.010990316, + -0.037879907, + 0.038212717, + 0.016927961, + -0.028863762, + 0.04734988, + -0.008925377, + -0.002133014, + -0.002193525, + 0.024068262, + -0.0039559086, + -0.029136062, + -0.008630386, + -0.0052795876, + 0.077393614, + 0.043144368, + -0.034975376, + -0.07152404, + -0.017124621, + 0.01187529, + -0.02423467, + 0.009810351, + -0.009303572, + -0.025475144, + -0.0027154326, + 0.065957025, + -0.009212805, + -0.0039105252, + 0.021436034, + -0.035247676, + 0.042387977, + 0.04514123, + -0.011171849, + 0.0051434375, + 0.049165215, + -0.066380605, + -0.027093815, + 0.021224245, + -0.028576335, + 0.029726045, + -0.012003876, + 0.032343145, + -0.018788675, + 0.0012045477, + 0.015732868, + 0.053007666, + -0.013471268, + 0.05249332, + -0.037486583, + -0.028833507, + 0.030815244, + -0.007768104, + -0.0020706118, + -0.017442305, + 0.023569047, + -0.0011156722, + 0.0021746152, + 0.012828339, + -0.033553366, + -0.029771429, + -0.009507796, + 0.036215853, + -0.01903072, + 0.053461496, + -0.024249796, + -0.02369007, + 0.030921137, + 0.016474128, + 0.033099536, + -0.01599004, + -0.01427304, + 0.002760816, + -0.018259203, + -0.056305517, + 0.03476359, + 0.03300877, + -0.03966498, + 0.047138095, + -0.0021575964, + -0.015747996, + -0.011391202, + -0.014106634, + 0.045685828, + 0.0026643763, + -0.017638966, + -0.06402067, + -0.012866158, + 0.00040963132, + -0.021920122, + -0.027350986, + 0.050859522, + 0.04671452, + -0.022585742, + -0.0016460891, + -0.02185961, + 0.0007355872, + -0.021072967, + -0.005438429, + 0.023795964, + 0.03987677, + 0.031344716, + -0.02706356, + -0.054490186, + 0.04405203, + 0.004500508, + -0.011489532, + -0.006051103, + 0.010793655, + 0.016474128, + 0.019136613, + -0.026216405, + 0.047682695, + 0.0011317454, + -0.0037403381, + -0.0015222307, + -0.04244849, + -0.03328107, + -0.008138734, + -0.04816678, + -0.017729733, + -0.028152758, + -0.016005168, + -0.051313356, + 0.032766722, + -0.051918466, + -0.06160023, + -0.047803715, + -0.018501248, + 0.020830924, + -0.019862747, + 0.064867824, + 0.025066694, + 0.020135045, + -0.013388066, + 0.0789669, + 0.06686469, + -0.048953425, + -0.01686745, + 0.027986353, + -0.058181357, + -0.0033961816, + -0.070676886, + -0.016459001, + 0.021027584, + -0.048620615, + 0.03697224, + -0.0036760452, + 0.027441753, + 0.0060170656, + 0.021330139, + 0.014794948, + -0.0026341209, + 0.010400333, + -0.07672799, + 0.0057901493, + 0.001093926, + 0.025944104, + -0.024960801, + -0.021693205, + -0.017805371, + -0.061448954, + 0.020604007, + 0.0058544422, + 0.030149622, + 0.02995296, + 0.017623838, + 0.021375522, + 0.035398953, + -0.019998897, + -0.03110267, + -0.0076962467 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 3, + "total_tokens": 3 + } + } + recorded_at: Fri, 12 Dec 2025 20:10:08 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_handles_single-string_arrays_consistently.yml b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_handles_single-string_arrays_consistently.yml new file mode 100644 index 000000000..881e4bdcc --- /dev/null +++ b/spec/fixtures/vcr_cassettes/embedding_basic_functionality_azure_openai_text-embedding-3-small_handles_single-string_arrays_consistently.yml @@ -0,0 +1,1613 @@ +--- +http_interactions: +- request: + method: post + uri: "/openai/deployments/text-embedding-3-small/embeddings?api-version=" + body: + encoding: UTF-8 + string: '{"model":"text-embedding-3-small","input":["Ruby is great"]}' + headers: + User-Agent: + - Faraday v2.14.0 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Content-Length: + - '33201' + Content-Type: + - application/json + Access-Control-Allow-Origin: + - "*" + Apim-Request-Id: + - 8a3a4d2e-de56-4847-ada4-4f1459035bc0 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + X-Content-Type-Options: + - nosniff + X-Ms-Region: + - East US + X-Ratelimit-Remaining-Tokens: + - '249966' + X-Ratelimit-Limit-Tokens: + - '250000' + X-Request-Id: + - "" + Azureml-Model-Session: + - d20251125122509-fc1cf2eff8e84617 + X-Envoy-Upstream-Service-Time: + - '54' + X-Ms-Client-Request-Id: + - Not-Set + X-Ms-Azureml-Cluster-Local-Active-Requests: + - '{"upstream_stats_map":{"aoai-sp-txt-em-small-1-use-prod-aoai-standard-online-eastus":{"active_requests":"1","error_rate":"0","active_tokens":"4","engine_tbt_ms":"0"},"aoai-sp-txtemb-sm-1-usw2-prod-aoai-standard-online-westus2":{"active_requests":"0","error_rate":"0","active_tokens":"0","engine_tbt_ms":"0"}},"cluster_active_requests":"0","cluster_active_tokens":"0"}' + X-Ms-Deployment-Name: + - text-embedding-3-small + Date: + - Fri, 12 Dec 2025 20:10:08 GMT + body: + encoding: UTF-8 + string: | + { + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + -0.035076786, + 0.0055991993, + -0.04431227, + 0.024186736, + 0.011514271, + -0.05604464, + -0.012266345, + 0.049456462, + -0.016560694, + -0.0047418335, + 0.0062911087, + -0.024758313, + 0.010679467, + 0.010318471, + 0.011732372, + 0.0056480845, + -0.035287365, + -0.0020964094, + -0.024547733, + 0.057819538, + 0.0011986197, + -0.0014355234, + 0.02182522, + -0.022201259, + 0.011032943, + 0.018350633, + 0.006328712, + 0.029000018, + 0.0061519747, + -0.027886946, + 0.0058398633, + -0.06329464, + 0.034475125, + 0.002212981, + -0.007554595, + 0.010972776, + 0.002491249, + 0.0067573953, + 0.04632783, + 0.015748454, + 0.03901766, + 0.02662346, + 0.063836135, + 0.008761675, + 0.03904774, + 0.0006162316, + -0.009483667, + 0.0013462146, + 0.0050276225, + 0.019373456, + -0.01771889, + 0.004835843, + -0.036580935, + 0.023254164, + -0.02253217, + -0.009393418, + -0.016951773, + 0.030158212, + -0.007528272, + -0.06696477, + -0.012349074, + -0.017192438, + -0.020937772, + 0.0045387736, + -0.033151474, + -0.015673246, + -0.047892146, + -0.025179476, + 0.02241184, + -0.012687508, + 0.011882788, + -0.02881952, + 0.032489646, + 0.0019065104, + 0.05264526, + -0.02361516, + 0.014296948, + 0.033873465, + 0.024337152, + 0.0054826275, + -0.020727191, + 0.011529312, + -0.01231147, + -0.036099605, + -0.00016768926, + -0.048012476, + 0.0074643455, + -0.010153014, + 0.0054976693, + 0.010762195, + -0.052916005, + 0.028097527, + -0.018185176, + 0.027706448, + 0.0056706467, + 0.031015579, + -0.008536053, + 0.013492228, + -0.015447623, + 0.0027093508, + 0.026081966, + 0.0011544353, + -0.008844404, + -0.02933093, + 0.075147346, + 0.004324432, + 0.025871385, + 0.009145234, + -0.0043093907, + 0.014642903, + -0.12261833, + -0.03691185, + 0.00033608358, + -0.0292106, + -0.040882803, + 0.02352491, + 0.010784757, + 0.01180758, + 0.017057065, + -0.04431227, + -0.017478226, + -0.026367754, + -0.048493806, + -0.013071066, + -0.028909769, + -0.053277005, + -0.03224898, + -0.0026285027, + 0.011544353, + -0.0063625555, + -0.0009255225, + -0.03140666, + 0.01701194, + 0.013168836, + 0.0053397333, + 0.0038995096, + -0.030955413, + -0.057097543, + 0.017282687, + 0.029812258, + 0.006716031, + -0.033482384, + 0.008039683, + -0.008069767, + -0.04774173, + -0.006847644, + -0.07237971, + 0.046117246, + -0.033452302, + -0.0059789973, + -0.012025681, + -0.001180758, + -0.049005218, + -0.0059188316, + -0.008385638, + -0.043590274, + 0.017072106, + 0.004143934, + 0.0028597657, + -0.0368216, + -0.016906649, + 0.06515979, + -0.041303966, + -0.041334048, + 0.044974092, + -0.02551039, + -0.06323448, + 0.02211101, + -0.005456305, + 0.044492766, + 0.025314849, + -0.008724072, + 0.0011939193, + -0.007686208, + 0.033963714, + -0.031196076, + 0.04434235, + -0.007926872, + -0.019283207, + 0.009250524, + -0.0013885187, + 0.03384338, + 0.03706226, + -0.025359973, + 0.0008930892, + -0.025089227, + -0.00022385987, + 0.0022374236, + -0.020727191, + 0.0041777776, + -0.0008625362, + 0.0888652, + -0.009363336, + 0.020561734, + 0.039077826, + 0.004726792, + 0.05195335, + 0.009100109, + -0.062271822, + 0.011386418, + 0.023178956, + 0.013717851, + 0.041003138, + -0.031857904, + -0.027646283, + -0.010754675, + -0.021704888, + 0.010762195, + -0.06840876, + -0.025074186, + 0.002229903, + 0.015688287, + -0.003532873, + -0.010002599, + 0.038085084, + 0.005426222, + 0.04503426, + 0.015161835, + 0.0028785677, + 0.0006049504, + -0.014154054, + 0.024156654, + 0.07851665, + -0.0016733672, + -0.0017297728, + 0.017312769, + 0.0700934, + -0.028052403, + 0.023900948, + 0.02281796, + 0.012025681, + 0.00026064104, + -0.02150935, + -0.03053425, + 0.010769716, + -0.010476407, + -0.020441402, + 0.018290468, + 0.017748972, + -0.07586934, + -0.018094927, + -0.034264542, + 0.013281647, + 0.014755715, + 0.017944513, + -0.026247423, + -0.011882788, + 0.035407696, + 0.0040236018, + 0.013191398, + 0.00430187, + 0.04166496, + 0.008084808, + -0.05144194, + 0.010137972, + -0.03173757, + -0.022456964, + 0.06275315, + -0.015673246, + -0.040612057, + -0.05727804, + -0.044613097, + 0.005486388, + -0.003993519, + -0.014748193, + 0.0027695168, + -0.029135391, + 0.016500529, + 0.018064845, + -0.010656904, + 0.020667024, + -0.008769196, + 0.07839631, + 0.00044889486, + 0.02621734, + 0.0011986197, + 0.009536313, + -0.0014947493, + 0.007926872, + -0.008197619, + 0.0013556154, + -0.001741054, + 0.016605819, + 0.01881692, + 0.026142132, + -0.0092881275, + -0.008430762, + 0.019704368, + 0.07454569, + 0.033001058, + -0.037573673, + -0.010762195, + 0.018335592, + 0.0042717867, + -0.02161464, + -0.014657944, + 0.0948818, + -0.025781136, + -0.009130192, + 0.017162355, + 0.06630295, + 0.046117246, + 0.00420034, + -0.04701974, + 0.012822881, + 0.013244043, + 0.014966295, + -0.058000036, + 0.008265306, + 0.050298784, + -0.038385917, + 0.018771796, + -0.045094427, + -0.051381774, + -0.044011436, + -0.056014556, + -0.037182596, + -0.02161464, + -0.026879165, + -0.018877085, + 0.021238603, + -0.053818498, + 0.033362053, + 0.027646283, + -0.02181018, + -0.05114111, + 0.049997956, + -0.06798759, + 0.031857904, + -0.009521271, + -0.02693933, + -0.027014539, + 0.02662346, + 0.039318487, + -0.016560694, + -0.053307086, + -0.0053397333, + -0.023299288, + -0.017342852, + 0.014349594, + 0.009438543, + -0.04813281, + -0.013379416, + -0.043169115, + -0.011762455, + -0.008483408, + 0.01610945, + -0.00093257317, + -0.021298768, + 0.03230915, + -0.030549292, + 0.018230302, + -0.01440976, + -0.007088308, + 0.0062422235, + -0.02763124, + -0.0027958392, + -0.038175333, + -0.073944025, + 0.010356075, + -0.059805017, + 0.0033110108, + -0.026503127, + 0.017448144, + 0.019794617, + 0.011476667, + -0.010686988, + -0.0056593656, + -0.013086108, + 0.01812501, + -0.04560584, + 0.049787376, + -0.031677406, + -0.0077313324, + -0.03772409, + -0.0032000798, + -0.0031981994, + 0.0071033495, + 0.028157692, + 0.0282329, + -0.05457057, + 0.055202316, + 0.030263504, + -0.03242948, + 0.036280103, + 0.00731017, + -0.0022881886, + -0.018155094, + -0.0009720571, + 0.009784497, + 0.012303949, + -0.009927392, + 0.006975497, + -0.02372045, + 0.0048809675, + -0.010529052, + -0.045906667, + -0.0030289826, + -0.011153274, + -0.0015784177, + 0.019553954, + -0.03543778, + -0.003532873, + -0.028684147, + -0.007783978, + 0.025796177, + -0.027044622, + 0.037242763, + 0.00520812, + -0.032579895, + 0.023554994, + -0.028398357, + 0.05496165, + -0.010890048, + -0.031978235, + -0.012822881, + -0.03832575, + -0.02924068, + -0.037242763, + 0.014131492, + 0.016079366, + -0.05484132, + -0.015598038, + -0.06185066, + 0.030188296, + 0.039468903, + 0.010589218, + -0.04813281, + -0.027992237, + -0.024668064, + 0.03432471, + 0.0013471546, + 0.025074186, + -0.016650943, + 0.020546693, + -0.027721489, + -0.011251044, + -0.002363396, + -0.00130109, + 0.00040048, + -0.00093539344, + -0.02081744, + -0.014552654, + -0.0053585353, + -0.053277005, + -0.035979275, + -0.024246903, + -0.059925348, + -0.00700558, + 0.0038882284, + -0.0061369333, + -0.018395757, + -0.011837663, + 0.017628642, + -0.0036851682, + -0.0028372034, + 0.028909769, + -0.002363396, + 0.018862044, + -0.022276465, + 0.021629682, + 0.065520786, + -0.04094297, + 0.010664426, + 0.047801897, + -0.039348572, + -0.01782418, + 0.050208535, + -0.00073515344, + -0.025901468, + -0.007325212, + 0.035287365, + -0.02924068, + -0.008287868, + -0.030263504, + -0.002511931, + -0.00570073, + -0.007050704, + 0.004813281, + -0.025856344, + -0.01582366, + 0.0412438, + 0.037242763, + -0.014906129, + -0.032790475, + 0.0009720571, + -0.005437503, + 0.015658204, + -0.002592779, + -0.004576377, + 0.015349854, + -0.0073214513, + 0.002353995, + -0.019433621, + -0.00910763, + 0.019734452, + -0.008543573, + -0.02083248, + 0.025390057, + -0.03673135, + -0.013890828, + -0.041875545, + 0.029060183, + 0.021855304, + -0.03733301, + -0.017177396, + 0.0015868786, + -0.026051883, + 0.006298629, + 0.0053961393, + 0.01511671, + -0.0160192, + 0.01261982, + 0.0208024, + -0.022141092, + 0.007768936, + -0.001651745, + 0.04292845, + 0.00045712068, + 0.0046553453, + 0.00720488, + -0.00047568753, + 0.018200219, + -0.039198156, + 0.022998458, + -0.00007738148, + 0.01501142, + 0.01810997, + 0.016681027, + -0.03712243, + 0.00031775175, + -0.0025194518, + -0.0053998996, + 0.009799539, + -0.029285805, + -0.0011158915, + -0.046809155, + 0.008280347, + 0.0059301127, + 0.015334812, + -0.03820542, + 0.027044622, + -0.019689327, + 0.0050201016, + -0.010303429, + 0.00530589, + -0.02432211, + -0.006298629, + 0.023585076, + 0.00921292, + 0.03501662, + -0.030714748, + -0.0027469546, + -0.044011436, + 0.04244712, + -0.031105828, + 0.006276067, + 0.0069115707, + -0.03230915, + 0.04795231, + -0.0075207516, + 0.0072612856, + 0.02952647, + 0.021193478, + 0.012349074, + 0.027089747, + 0.00021962944, + -0.030985495, + -0.019629162, + -0.013627602, + 0.020260904, + 0.0034463843, + 0.016620861, + -0.049306046, + 0.020742232, + -0.018952293, + 0.02361516, + -0.019313289, + 0.01160452, + 0.020095447, + -0.010453844, + -0.035407696, + -0.04422202, + 0.037483424, + -0.058812276, + -0.020667024, + 0.013898348, + -0.03760376, + -0.004493649, + 0.043560192, + -0.0056217615, + 0.037694007, + 0.02683404, + 0.00037462742, + -0.005569116, + 0.0047418335, + -0.029451262, + -0.005426222, + -0.03552803, + 0.020697108, + -0.006964216, + 0.005727052, + 0.017162355, + -0.01971941, + 0.0026003, + 0.02041132, + -0.022637462, + -0.0065016896, + -0.008453324, + 0.012424281, + 0.015447623, + 0.008017121, + 0.0076185213, + -0.033963714, + 0.016154574, + 0.038385917, + -0.007039423, + -0.002632263, + -0.0064828875, + -0.027751572, + -0.03294089, + 0.0012183618, + -0.032700226, + -0.02883456, + 0.017703848, + 0.0578797, + 0.006986778, + -0.024878645, + 0.0002930743, + -0.035106868, + 0.02122356, + -0.0398299, + -0.018666506, + -0.048584055, + 0.030955413, + -0.008769196, + 0.007061986, + -0.016665986, + 0.022035802, + 0.0041364133, + 0.01892221, + 0.06395647, + -0.05354775, + 0.012018161, + -0.012123452, + -0.034505207, + -0.01501142, + 0.02492377, + 0.0009833382, + -0.019027501, + -0.0048696864, + -0.015688287, + 0.0038055002, + -0.017192438, + 0.011002859, + -0.0014721871, + 0.011694768, + -0.019027501, + 0.019839741, + 0.04377077, + -0.027646283, + 0.04491393, + -0.026307588, + 0.0382355, + -0.010265825, + 0.010777237, + 0.004580138, + 0.04365044, + 0.018094927, + 0.0050201016, + 0.010055245, + 0.009438543, + 0.007328972, + -0.024246903, + 0.038867243, + -0.040612057, + -0.0025476546, + 0.0238107, + -0.029992757, + 0.02892481, + -0.006561856, + -0.02111827, + -0.0352272, + -0.036069524, + 0.011333772, + -0.030067964, + -0.022035802, + -0.0035460342, + 0.02520956, + 0.008302909, + -0.009528792, + -0.010235743, + 0.06034651, + -0.004583898, + 0.029000018, + 0.018140052, + 0.029180516, + -0.014484967, + -0.019854784, + -0.09229466, + 0.029947633, + 0.022983417, + -0.01701194, + -0.042266622, + -0.022261424, + -0.011220961, + -0.02453269, + -0.06804776, + 0.0044974093, + -0.008633822, + -0.026066924, + 0.008242743, + -0.01950883, + -0.007783978, + -0.04383094, + -0.024276985, + 0.0036814078, + -0.016741192, + -0.01021318, + -0.026879165, + -0.03342222, + 0.043349613, + -0.05384858, + -0.022080926, + 0.020441402, + 0.021012979, + 0.00430187, + -0.022171175, + -0.03673135, + 0.011822621, + 0.00630991, + 0.0042680264, + -0.007746374, + -0.010356075, + 0.025450222, + -0.003544154, + -0.0222163, + 0.0075921984, + -0.060496923, + -0.03152699, + 0.027540991, + -0.030714748, + -0.0023934792, + 0.014627862, + -0.00910763, + -0.0038374634, + 0.026157174, + 0.029345972, + 0.017387977, + 0.038506247, + -0.0052382033, + 0.013943473, + 0.026006758, + 0.027044622, + -0.015582997, + -0.039198156, + -0.025705928, + -0.018501049, + 0.004463566, + 0.03354255, + -0.042176373, + 0.030895246, + 0.00016674916, + -0.010814841, + 0.034866203, + -0.0021076906, + 0.022396797, + -0.029556554, + -0.009634082, + 0.011266085, + -0.002481848, + 0.008257785, + -0.030955413, + -0.03164732, + 0.032279067, + 0.035497945, + -0.045906667, + -0.019463705, + -0.0058925087, + 0.019132791, + -0.004452285, + -0.022547213, + -0.0028973694, + 0.018140052, + -0.04022098, + -0.008641344, + -0.012258825, + -0.046207495, + -0.020877605, + -0.017628642, + -0.008769196, + -0.025465265, + -0.013747933, + -0.010514011, + 0.024893688, + 0.001891469, + -0.017177396, + -0.061489664, + -0.016906649, + 0.0022261424, + -0.011957995, + 0.0026773876, + 0.033091307, + 0.03002284, + 0.0014985097, + -0.028247943, + 0.03763384, + -0.009062505, + -0.03895749, + 0.012732632, + -0.014823401, + -0.011040463, + -0.025480306, + 0.042507287, + -0.0036757672, + 0.03835583, + 0.00008096559, + 0.003562956, + -0.002423562, + 0.029481346, + 0.030037882, + 0.030594416, + 0.009273087, + 0.008227702, + 0.015124231, + 0.032489646, + 0.024998978, + 0.02352491, + 0.014387198, + 0.03161724, + 0.011318731, + -0.01060426, + -0.0042605055, + 0.021674806, + -0.0053998996, + 0.08050212, + -0.0018397638, + -0.0034952692, + -0.0064941687, + 0.01582366, + -0.048614137, + -0.015582997, + 0.010491448, + -0.03273031, + -0.028262984, + -0.0031662364, + -0.0064302427, + 0.023780616, + 0.013334292, + -0.016590778, + 0.007836623, + 0.0053773373, + 0.030714748, + -0.010431282, + 0.031587157, + 0.0015069706, + -0.004884728, + 0.009024901, + -0.011762455, + 0.009987558, + -0.035076786, + 0.03161724, + -0.0005555955, + -0.02182522, + -0.01580862, + -0.015297208, + 0.008453324, + 0.024036322, + 0.01922304, + -0.0013988598, + -0.020892648, + 0.023900948, + -0.009047464, + 0.03294089, + -0.010295909, + -0.0064302427, + -0.03423446, + -0.015582997, + -0.01950883, + 0.002530733, + 0.009754415, + -0.017237563, + -0.027736532, + 0.026698668, + 0.00060683064, + 0.006332473, + -0.004993779, + 0.030684665, + 0.007584678, + 0.028969934, + 0.04085272, + -0.060496923, + -0.028774396, + -0.0073590553, + 0.016455404, + -0.026262464, + -0.007821581, + 0.05114111, + 0.0052419635, + -0.02483352, + 0.006347514, + -0.004463566, + 0.012995859, + -0.01752335, + 0.014146534, + 0.028247943, + -0.008663906, + 0.00020658564, + -0.017568475, + -0.027646283, + -0.011642124, + -0.016771276, + 0.029090267, + 0.0021377737, + -0.0031286327, + -0.017282687, + 0.015244563, + 0.0016799478, + -0.01321396, + 0.03372305, + -0.004226662, + -0.016981857, + -0.004926092, + 0.009664166, + -0.0041589756, + 0.0033993796, + -0.0023370734, + 0.0017495148, + 0.000991799, + -0.011536833, + 0.02802232, + -0.01570333, + -0.006727312, + 0.016726151, + 0.010483927, + -0.07087556, + 0.01591391, + 0.003955915, + -0.000045006997, + 0.016681027, + 0.00039272424, + -0.011845184, + -0.010664426, + 0.0047606356, + 0.015259605, + -0.02320904, + 0.01740302, + -0.022712668, + -0.012273867, + 0.03140666, + 0.0306245, + -0.024968894, + 0.011815101, + -0.053307086, + -0.00210205, + 0.018260384, + -0.020576775, + 0.0049900184, + 0.1007179, + 0.022983417, + -0.023780616, + -0.0056180013, + 0.013123712, + -0.01780914, + -0.031316407, + -0.016936732, + 0.012634862, + 0.012679987, + -0.024051363, + -0.017748972, + 0.01462034, + -0.010243263, + 0.02551039, + 0.01720748, + 0.03375313, + -0.00640768, + 0.022727711, + 0.03784442, + -0.0023558754, + 0.0009861585, + 0.047922228, + 0.079900466, + -0.016485486, + 0.0006773377, + 0.0005095309, + -0.018094927, + -0.001661146, + -0.004993779, + -0.020697108, + 0.043560192, + -0.008784237, + 0.012559655, + -0.016064325, + 0.009581437, + 0.0020832482, + 0.023058623, + 0.002914291, + 0.040702306, + 0.015267125, + 0.029060183, + -0.030489126, + 0.0062196613, + 0.034896288, + -0.01170981, + 0.01021318, + 0.02241184, + 0.046387993, + -0.005313411, + -0.017493268, + -0.012281387, + 0.0025138112, + 0.011183357, + 0.0022092208, + -0.00070084, + 0.0065806573, + 0.01541754, + 0.004245464, + 0.0012155415, + -0.017072106, + -0.016590778, + 0.016320031, + -0.0035065503, + -0.006716031, + 0.0017391738, + 0.016996898, + -0.0028785677, + 0.0046478244, + 0.02642792, + 0.015131752, + 0.0076298025, + -0.0010641863, + -0.0030891486, + -0.013371896, + -0.0029970193, + 0.004828322, + 0.04365044, + 0.009438543, + -0.024637982, + -0.007295129, + 0.014424801, + -0.003412541, + -0.029285805, + 0.023329372, + 0.077975154, + -0.018230302, + -0.0030590657, + -0.016560694, + -0.029767133, + 0.034565374, + 0.030504167, + 0.045365173, + -0.012544613, + -0.02051661, + -0.022472005, + 0.005211881, + -0.01711723, + 0.00075113506, + -0.027435701, + -0.013138752, + -0.014770756, + -0.013717851, + -0.002211101, + -0.003944634, + -0.022667544, + 0.011815101, + -0.0017824181, + -0.009017381, + 0.01481588, + 0.0027507148, + -0.010092848, + 0.05105086, + -0.031015579, + 0.03143674, + 0.008874486, + 0.0033974994, + 0.006794999, + -0.023494827, + 0.008942174, + 0.019162875, + 0.008114891, + 0.006046684, + -0.0009485548, + 0.0005062406, + -0.00071682164, + -0.022893168, + 0.008551095, + -0.010318471, + -0.033271804, + 0.013424541, + 0.010920131, + -0.006817561, + 0.005933873, + -0.0007859185, + -0.023103748, + 0.005068986, + 0.03402388, + -0.007866706, + 0.011236003, + 0.029060183, + 0.036099605, + -0.0032658863, + -0.03384338, + 0.0056593656, + 0.01101038, + 0.012830402, + 0.026909249, + -0.008468366, + 0.013898348, + 0.012695028, + -0.026819, + -0.01170981, + -0.0016291827, + -0.0032264024, + 0.026442962, + -0.02551039, + 0.003023342, + -0.003141794, + -0.00710711, + 0.04512451, + -0.007516991, + 0.023148872, + 0.005087788, + 0.02012553, + -0.00037392235, + -0.012845444, + -0.004948654, + -0.015477707, + -0.0008926192, + -0.009498709, + 0.029752092, + 0.024276985, + 0.038807075, + 0.018666506, + -0.039769735, + 0.013732892, + 0.05995543, + -0.029706968, + -0.015492748, + -0.02253217, + 0.015763495, + -0.024352193, + 0.021554474, + -0.008836883, + 0.01110815, + 0.031256244, + -0.017779056, + 0.017583517, + 0.11154778, + -0.004316911, + -0.01571837, + 0.04482368, + -0.011363856, + 0.014845964, + -0.03573861, + 0.02251713, + 0.02421682, + 0.029255724, + -0.035197116, + -0.0044786073, + -0.0014242423, + 0.012973296, + -0.014981337, + -0.004952415, + 0.01360504, + 0.033301886, + 0.017072106, + 0.001082048, + 0.015199439, + 0.015229521, + -0.012679987, + 0.018681547, + -0.014131492, + -0.02462294, + 0.007167276, + -0.034505207, + 0.01570333, + 0.029752092, + 0.05706746, + -0.010551614, + -0.0029387337, + 0.035858944, + -0.0416048, + 0.022878125, + -0.0029537752, + -0.03513695, + 0.026097007, + -0.02111827, + -0.0053698164, + 0.004922332, + 0.018185176, + 0.0352272, + 0.017357895, + -0.0041288924, + 0.018967334, + -0.02411153, + 0.0026454243, + 0.013025941, + 0.023058623, + -0.03760376, + -0.0024404838, + 0.004937373, + 0.0030195818, + -0.01311619, + 0.031707488, + -0.00520812, + 0.011130712, + -0.009070026, + -0.009995079, + -0.028894726, + 0.03685168, + -0.0042567453, + -0.017839223, + -0.0001700395, + 0.0070319027, + -0.010965255, + 0.0020024, + 0.049817458, + 0.0038995096, + 0.03212865, + 0.025405098, + -0.0290301, + 0.024051363, + 0.0518631, + 0.028503647, + -0.03742326, + 0.019283207, + -0.009671686, + -0.00670851, + -0.015883828, + -0.018170135, + 0.008897049, + 0.00550519, + 0.02724016, + 0.011732372, + -0.003752855, + 0.019794617, + 0.0023445943, + 0.004914811, + 0.015943993, + 0.013642643, + -0.021975636, + 0.022306548, + -0.017192438, + -0.025540471, + 0.035167035, + -0.014973816, + 0.02280292, + -0.030985495, + -0.020907689, + -0.031887986, + 0.010160536, + -0.0059000296, + -0.012326512, + 0.023735492, + 0.003483988, + 0.013168836, + 0.012657424, + 0.0031944392, + -0.01462034, + 0.019674286, + 0.0031944392, + 0.003132393, + 0.02223134, + -0.055984475, + -0.022502089, + -0.033783216, + -0.021494307, + 0.01341702, + 0.0028578856, + -0.018621381, + -0.0017777176, + 0.014357114, + 0.027450742, + 0.020636942, + 0.03772409, + 0.02181018, + -0.015522831, + 0.014432322, + -0.024457483, + 0.03354255, + -0.0029255722, + 0.007799019, + -0.021674806, + 0.019313289, + 0.02572097, + 0.007186078, + 0.0052795676, + -0.028262984, + 0.023870865, + 0.012123452, + -0.016696068, + 0.01240924, + 0.019238083, + 0.023539951, + -0.008227702, + -0.033993796, + 0.00017438742, + -0.033783216, + 0.015049024, + -0.01701194, + 0.010145494, + 0.04172513, + -0.001570897, + 0.016560694, + -0.06305398, + -0.016936732, + -0.0034482644, + 0.01750831, + 0.016335072, + 0.04034131, + -0.035708528, + 0.009100109, + -0.012100889, + -0.0034407438, + 0.024953853, + 0.010859965, + -0.0073665758, + 0.021840261, + -0.012288908, + -0.016365156, + 0.011198399, + -0.002784558, + -0.018636422, + 0.02492377, + -0.013642643, + 0.04184546, + 0.030594416, + -0.013823141, + 0.003967196, + 0.00470047, + -0.004091289, + 0.014379676, + 0.025465265, + -0.0016799478, + -0.018260384, + -0.03694193, + -0.003474587, + -0.01021318, + 0.024171695, + 0.0017833582, + 0.009897308, + -0.027315369, + 0.03835583, + -0.005441264, + -0.007964476, + -0.016500529, + 0.005727052, + -0.042116206, + -0.015643163, + 0.038024917, + 0.026202299, + 0.0014797079, + -0.022156134, + 0.010303429, + 0.012642383, + -0.0053698164, + -0.02083248, + 0.00860374, + 0.015688287, + -0.0051780376, + 0.005915071, + 0.04253737, + 0.040160812, + -0.0352272, + -0.0003532403, + -0.02821786, + -0.017974596, + -0.012852964, + -0.059323687, + -0.013040983, + -0.021148354, + -0.021990677, + 0.015139272, + -0.03673135, + -0.004715511, + 0.032790475, + 0.024577815, + 0.035197116, + 0.00970929, + -0.020576775, + -0.055382814, + 0.02241184, + -0.030143172, + -0.0053961393, + -0.041273884, + 0.011950474, + -0.030804997, + -0.017252604, + -0.002472447, + 0.017733932, + 0.012288908, + 0.006896529, + 0.027661324, + 0.0007299829, + -0.015959034, + 0.0036494446, + 0.009837143, + -0.02262242, + 0.0050088204, + 0.0030271024, + -0.027901988, + -0.008784237, + -0.024382276, + -0.011469146, + -0.01101038, + 0.026713708, + -0.030083006, + -0.0022787878, + 0.013883307, + 0.031707488, + 0.014123972, + -0.0003931943, + -0.018696588, + 0.022983417, + 0.020847524, + -0.010551614, + -0.017042022, + -0.04975729, + 0.020667024, + -0.027390577, + -0.038085084, + 0.015169356, + 0.041695047, + 0.005986518, + -0.005335973, + 0.0042868285, + -0.02692429, + -0.0057308124, + -0.014823401, + -0.04924588, + -0.008964736, + -0.047290485, + 0.013138752, + -0.021073146, + 0.0055277525, + -0.016229782, + -0.021945553, + 0.01651557, + -0.013650164, + -0.010792279, + 0.03772409, + 0.027149912, + 0.013056024, + 0.0016197818, + -0.0074530644, + -0.03372305, + 0.022953333, + 0.0075320327, + -0.0023596357, + 0.046207495, + -0.0051404336, + 0.037874505, + 0.026548252, + -0.017162355, + 0.03285064, + -0.0025739772, + 0.00130203, + 0.020952813, + -0.009378377, + -0.007697489, + 0.008017121, + 0.02561568, + -0.017042022, + 0.038566414, + 0.017688807, + -0.039980315, + -0.0048584053, + -0.0014985097, + -0.012634862, + -0.011739893, + 0.005166756, + -0.060226176, + -0.017974596, + -0.03164732, + 0.011168316, + 0.051201276, + 0.012221221, + -0.011431542, + 0.021765055, + 0.04482368, + 0.009468626, + 0.016139533, + -0.014477447, + 0.0013161314, + 0.022502089, + 0.015206959, + -0.010649384, + -0.028052403, + -0.009641604, + 0.008761675, + 0.01461282, + -0.011130712, + 0.02150935, + 0.015289688, + 0.0072800876, + -0.025690887, + 0.011243523, + -0.024261944, + 0.0010228222, + 0.0029086506, + -0.009746894, + -0.0011845183, + 0.001390399, + 0.013093628, + -0.01571837, + -0.01701194, + 0.011100629, + 0.030293586, + 0.003243324, + 0.012085848, + -0.0047681564, + -0.015898868, + 0.011220961, + -0.009919871, + 0.0050088204, + -0.008190098, + -0.022652503, + -0.018486006, + 0.015883828, + -0.027270244, + 0.017327812, + -0.014432322, + -0.038506247, + -0.035347532, + -0.004132653, + -0.0027262724, + -0.013364376, + 0.018335592, + 0.012852964, + 0.042597536, + 0.027044622, + 0.004580138, + 0.015868785, + 0.0052720467, + -0.000770877, + -0.023058623 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 3, + "total_tokens": 3 + } + } + recorded_at: Fri, 12 Dec 2025 20:10:08 GMT +recorded_with: VCR 6.3.1 diff --git a/spec/ruby_llm/chat_content_spec.rb b/spec/ruby_llm/chat_content_spec.rb index b43fa3486..28f70587a 100644 --- a/spec/ruby_llm/chat_content_spec.rb +++ b/spec/ruby_llm/chat_content_spec.rb @@ -25,8 +25,9 @@ CHAT_MODELS.each do |model_info| model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} can understand text" do - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) response = chat.ask("What's in this file?", with: text_path) expect(response.content).to be_present @@ -45,7 +46,7 @@ end it "#{provider}/#{model} can understand remote text" do - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) response = chat.ask("What's in this file?", with: text_url) expect(response.content).to be_present diff --git a/spec/ruby_llm/chat_error_spec.rb b/spec/ruby_llm/chat_error_spec.rb index a5dfd8a74..1e29d4cbd 100644 --- a/spec/ruby_llm/chat_error_spec.rb +++ b/spec/ruby_llm/chat_error_spec.rb @@ -33,8 +33,9 @@ CHAT_MODELS.each do |model_info| model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false context "with #{provider}/#{model}" do - let(:chat) { RubyLLM.chat(model: model, provider: provider) } + let(:chat) { RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) } before do # Sabotage the API key after initialization @@ -68,8 +69,9 @@ CHAT_MODELS.each do |model_info| model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false context "#{provider}/#{model}" do # rubocop:disable RSpec/ContextWording - let(:chat) { RubyLLM.chat(model: model, provider: provider) } + let(:chat) { RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) } it 'handles context length exceeded errors' do if RubyLLM::Provider.providers[provider]&.local? diff --git a/spec/ruby_llm/chat_spec.rb b/spec/ruby_llm/chat_spec.rb index 81753ecbd..e491631b3 100644 --- a/spec/ruby_llm/chat_spec.rb +++ b/spec/ruby_llm/chat_spec.rb @@ -9,8 +9,9 @@ CHAT_MODELS.each do |model_info| model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} can have a basic conversation" do - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) response = chat.ask("What's 2 + 2?") expect(response.content).to include('4') @@ -20,7 +21,7 @@ end it "#{provider}/#{model} returns raw responses" do - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) response = chat.ask('What is the capital of France?') expect(response.raw).to be_present expect(response.raw.headers).to be_present @@ -31,7 +32,7 @@ end it "#{provider}/#{model} can handle multi-turn conversations" do - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) first = chat.ask('Who is the creator of the programming language Ruby?') expect(first.content).to include('Matz') @@ -41,7 +42,7 @@ end it "#{provider}/#{model} successfully uses the system prompt" do - chat = RubyLLM.chat(model: model, provider: provider).with_temperature(0.0) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists).with_temperature(0.0) # Use a distinctive and unusual instruction that wouldn't happen naturally chat.with_instructions 'You must include the exact phrase "XKCD7392" somewhere in your response.' @@ -59,7 +60,7 @@ skip 'ollama/qwen3 includes thinking tags even with enable_thinking: false' end - chat = RubyLLM.chat(model: model, provider: provider).with_temperature(0.0) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists).with_temperature(0.0) # Disable thinking mode for qwen models to avoid tags in output chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -83,7 +84,9 @@ describe 'change model on the fly' do CHAT_MODELS.first(3).combination(2).each do |first, second| it "between #{first[:provider]}/#{first[:model]} and #{second[:provider]}/#{second[:model]}" do - chat = RubyLLM.chat(model: first[:model], provider: first[:provider]) + first_assume_exists = first[:assume_model_exists] || false + second_assume_exists = second[:assume_model_exists] || false + chat = RubyLLM.chat(model: first[:model], provider: first[:provider], assume_model_exists: first_assume_exists) response = chat.ask("What's 2 + 2?") expect(response.content).to include('4') @@ -91,7 +94,7 @@ expect(response.input_tokens).to be_positive expect(response.output_tokens).to be_positive - chat.with_model(second[:model], provider: second[:provider]) + chat.with_model(second[:model], provider: second[:provider], assume_exists: second_assume_exists) response = chat.ask('and 4 + 4?') expect(response.content).to include('8') diff --git a/spec/ruby_llm/chat_streaming_spec.rb b/spec/ruby_llm/chat_streaming_spec.rb index fc6ee8d9a..6b07f2447 100644 --- a/spec/ruby_llm/chat_streaming_spec.rb +++ b/spec/ruby_llm/chat_streaming_spec.rb @@ -10,8 +10,9 @@ CHAT_MODELS.each do |model_info| model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} supports streaming responses" do - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) chunks = [] response = chat.ask('Count from 1 to 3') do |chunk| @@ -30,14 +31,14 @@ it "#{provider}/#{model} reports consistent token counts compared to non-streaming" do skip 'Perplexity reports different token counts for streaming vs non-streaming' if provider == :perplexity - chat = RubyLLM.chat(model: model, provider: provider).with_temperature(0.0) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists).with_temperature(0.0) chunks = [] stream_message = chat.ask('Count from 1 to 3') do |chunk| chunks << chunk end - chat = RubyLLM.chat(model: model, provider: provider).with_temperature(0.0) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists).with_temperature(0.0) sync_message = chat.ask('Count from 1 to 3') expect(sync_message.input_tokens).to be_within(1).of(stream_message.input_tokens) @@ -50,9 +51,10 @@ CHAT_MODELS.each do |model_info| model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false context "with #{provider}/#{model}" do - let(:chat) { RubyLLM.chat(model: model, provider: provider) } + let(:chat) { RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) } describe 'Faraday version 1' do # rubocop:disable RSpec/NestedGroups before do diff --git a/spec/ruby_llm/chat_tools_spec.rb b/spec/ruby_llm/chat_tools_spec.rb index e00a25560..feb94da9a 100644 --- a/spec/ruby_llm/chat_tools_spec.rb +++ b/spec/ruby_llm/chat_tools_spec.rb @@ -157,12 +157,13 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} can use tools" do supports_functions? provider, model skip 'Flaky test for deepseek - model asks for clarification instead of exec tools' if provider == :deepseek - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(Weather) # Disable thinking mode for qwen models chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -176,12 +177,13 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false model = 'claude-sonnet-4' if provider == :bedrock # haiku can't do parallel tool calls it "#{provider}/#{model} can use parallel tool calls" do supports_functions? provider, model skip 'gpustack/qwen3 does not support parallel tool calls properly' if provider == :gpustack && model == 'qwen3' - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tools(Weather, BestLanguageToLearn) # Disable thinking mode for qwen models chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -197,12 +199,13 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} can use tools in multi-turn conversations" do supports_functions? provider, model skip 'Flaky test for deepseek' if provider == :deepseek - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(Weather) # Disable thinking mode for qwen models chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -220,10 +223,11 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} can use tools without parameters" do supports_functions? provider, model - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(BestLanguageToLearn) # Disable thinking mode for qwen models chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -235,6 +239,7 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} can use tools without parameters in multi-turn streaming conversations" do supports_functions? provider, model if provider == :gpustack && model == 'qwen3' @@ -243,7 +248,7 @@ def tool_result_message_for(chat, tool_call) skip 'Mistral has a bug with tool arguments in multi-turn streaming' if provider == :mistral - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(BestLanguageToLearn) .with_instructions('You must use tools whenever possible.') # Disable thinking mode for qwen models @@ -271,13 +276,14 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} can use tools with multi-turn streaming conversations" do supports_functions? provider, model if provider == :gpustack && model == 'qwen3' skip 'gpustack/qwen3 does not support streaming tool calls properly' end - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(Weather) # Disable thinking mode for qwen models chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -306,12 +312,13 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} can handle multiple tool calls in a single response" do supports_functions? provider, model skip 'Flaky test for gpustack/qwen3' if provider == :gpustack && model == 'qwen3' - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(DiceRoll) .with_instructions( 'You must call the dice_roll tool exactly 3 times when asked to roll dice 3 times.' @@ -343,7 +350,7 @@ def tool_result_message_for(chat, tool_call) it "#{provider}/#{model} can handle with_params" do supports_functions? provider, model - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(ParamsTool) .with_instructions('You must call the params tool.') @@ -373,10 +380,11 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} handles array params" do supports_functions? provider, model - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(ArrayParamsTool) chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -398,10 +406,11 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} handles anyOf params" do supports_functions? provider, model - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(AnyOfParamsTool) chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -424,10 +433,11 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| # rubocop:disable Style/CombinableLoops model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} handles object params" do supports_functions? provider, model - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(ObjectParamsTool) chat = chat.with_params(enable_thinking: false) if model == 'qwen3' @@ -503,13 +513,14 @@ def tool_result_message_for(chat, tool_call) CHAT_MODELS.each do |model_info| model = model_info[:model] provider = model_info[:provider] + assume_exists = model_info[:assume_model_exists] || false it "#{provider}/#{model} preserves Content objects returned from tools" do supports_functions? provider, model # Skip providers that don't support images in tool results skip "#{provider} doesn't support images in tool results" if provider.in?(%i[deepseek gpustack bedrock]) - chat = RubyLLM.chat(model: model, provider: provider) + chat = RubyLLM.chat(model: model, provider: provider, assume_model_exists: assume_exists) .with_tool(ContentReturningTool) chat.ask('Process this query: test data') diff --git a/spec/ruby_llm/embeddings_spec.rb b/spec/ruby_llm/embeddings_spec.rb index c21c42cfa..7834e0fb5 100644 --- a/spec/ruby_llm/embeddings_spec.rb +++ b/spec/ruby_llm/embeddings_spec.rb @@ -13,8 +13,9 @@ EMBEDDING_MODELS.each do |config| provider = config[:provider] model = config[:model] + assume_exists = config[:assume_model_exists] || false it "#{provider}/#{model} can handle a single text" do - embedding = RubyLLM.embed(test_text, model: model, provider: provider) + embedding = RubyLLM.embed(test_text, model: model, provider: provider, assume_model_exists: assume_exists) expect(embedding.vectors).to be_an(Array) expect(embedding.vectors.first).to be_a(Float) expect(embedding.model).to eq(model) @@ -24,13 +25,15 @@ it "#{provider}/#{model} can handle a single text with custom dimensions" do skip 'Mistral does not support custom dimensions' if provider == :mistral - embedding = RubyLLM.embed(test_text, model: model, provider: provider, dimensions: test_dimensions) + embedding = RubyLLM.embed(test_text, + model: model, provider: provider, dimensions: test_dimensions, + assume_model_exists: assume_exists) expect(embedding.vectors).to be_an(Array) expect(embedding.vectors.length).to eq(test_dimensions) end it "#{provider}/#{model} can handle multiple texts" do - embeddings = RubyLLM.embed(test_texts, model: model) + embeddings = RubyLLM.embed(test_texts, model: model, provider: provider, assume_model_exists: assume_exists) expect(embeddings.vectors).to be_an(Array) expect(embeddings.vectors.size).to eq(3) expect(embeddings.vectors.first).to be_an(Array) @@ -41,7 +44,9 @@ it "#{provider}/#{model} can handle multiple texts with custom dimensions" do skip 'Mistral does not support custom dimensions' if provider == :mistral - embeddings = RubyLLM.embed(test_texts, model: model, provider: provider, dimensions: test_dimensions) + embeddings = RubyLLM.embed(test_texts, + model: model, provider: provider, dimensions: test_dimensions, + assume_model_exists: assume_exists) expect(embeddings.vectors).to be_an(Array) embeddings.vectors.each do |vector| expect(vector.length).to eq(test_dimensions) @@ -49,7 +54,8 @@ end it "#{provider}/#{model} handles single-string arrays consistently" do - embeddings = RubyLLM.embed(['Ruby is great'], model: model, provider: provider) + embeddings = RubyLLM.embed(['Ruby is great'], + model: model, provider: provider, assume_model_exists: assume_exists) expect(embeddings.vectors).to be_an(Array) expect(embeddings.vectors.size).to eq(1) expect(embeddings.vectors.first).to be_an(Array) diff --git a/spec/support/models_to_test.rb b/spec/support/models_to_test.rb index 63abad8a6..d3ee11594 100644 --- a/spec/support/models_to_test.rb +++ b/spec/support/models_to_test.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true CHAT_MODELS = [ + { provider: :azure_openai, model: 'gpt-4.1', assume_model_exists: true }, { provider: :openrouter, model: 'claude-haiku-4-5' }, { provider: :bedrock, model: 'claude-3-5-haiku' }, { provider: :deepseek, model: 'deepseek-chat' }, @@ -45,6 +46,7 @@ ].freeze EMBEDDING_MODELS = [ + { provider: :azure_openai, model: 'text-embedding-3-small', assume_model_exists: true }, { provider: :gemini, model: 'text-embedding-004' }, { provider: :openai, model: 'text-embedding-3-small' }, { provider: :mistral, model: 'mistral-embed' }, diff --git a/spec/support/rubyllm_configuration.rb b/spec/support/rubyllm_configuration.rb index 25a2a5b90..371b11e8f 100644 --- a/spec/support/rubyllm_configuration.rb +++ b/spec/support/rubyllm_configuration.rb @@ -19,6 +19,10 @@ config.gpustack_api_base = ENV.fetch('GPUSTACK_API_BASE', 'http://localhost:11444/v1') config.gpustack_api_key = ENV.fetch('GPUSTACK_API_KEY', nil) + config.azure_openai_api_key = ENV.fetch('AZURE_OPENAI_API_KEY', 'test') + config.azure_openai_api_base = ENV.fetch('AZURE_OPENAI_API_BASE', 'test') + config.azure_openai_api_version = ENV.fetch('AZURE_OPENAI_API_VERSION', '2024-10-21') + config.bedrock_api_key = ENV.fetch('AWS_ACCESS_KEY_ID', 'test') config.bedrock_secret_key = ENV.fetch('AWS_SECRET_ACCESS_KEY', 'test') config.bedrock_region = 'us-west-2' diff --git a/spec/support/streaming_error_helpers.rb b/spec/support/streaming_error_helpers.rb index 9c89ef9c5..f79f6dd64 100644 --- a/spec/support/streaming_error_helpers.rb +++ b/spec/support/streaming_error_helpers.rb @@ -2,6 +2,22 @@ module StreamingErrorHelpers ERROR_HANDLING_CONFIGS = { + azure_openai: { + url: lambda { + api_base = ENV.fetch('AZURE_OPENAI_API_BASE', 'test') + api_version = ENV.fetch('AZURE_OPENAI_API_VERSION', '2024-10-21') + "#{api_base}/openai/deployments/gpt-4.1/chat/completions?api-version=#{api_version}" + }.call, + error_response: { + error: { + message: 'The server is temporarily overloaded. Please try again later.', + type: 'server_error', + code: nil + } + }, + chunk_status: 500, + expected_error: RubyLLM::ServerError + }, anthropic: { url: 'https://api.anthropic.com/v1/messages', error_response: { diff --git a/spec/support/vcr_configuration.rb b/spec/support/vcr_configuration.rb index 0cdd63e7f..1d3142f0f 100644 --- a/spec/support/vcr_configuration.rb +++ b/spec/support/vcr_configuration.rb @@ -30,6 +30,10 @@ config.filter_sensitive_data('') { ENV.fetch('GPUSTACK_API_BASE', 'http://localhost:11444/v1') } config.filter_sensitive_data('') { ENV.fetch('GPUSTACK_API_KEY', nil) } + config.filter_sensitive_data('') { ENV.fetch('AZURE_OPENAI_API_KEY', nil) } + config.filter_sensitive_data('') { ENV.fetch('AZURE_OPENAI_API_BASE', nil) } + config.filter_sensitive_data('') { ENV.fetch('AZURE_OPENAI_API_VERSION', nil) } + config.filter_sensitive_data('') { ENV.fetch('AWS_ACCESS_KEY_ID', nil) } config.filter_sensitive_data('') { ENV.fetch('AWS_SECRET_ACCESS_KEY', nil) } config.filter_sensitive_data('') { ENV.fetch('AWS_REGION', 'us-west-2') }