1414 let ( :content ) { response . dig ( "output" , 0 , "content" , 0 , "text" ) }
1515 let ( :provider ) { nil }
1616 let ( :cassette ) do
17- "#{ " #{ provider } _" if provider } #{ model } #{ 'streamed' if stream } ResponsesAPI responses" . downcase
17+ "#{ provider } #{ model } #{ stream ? 'streamed' : '' } ResponsesAPI responses" . downcase
1818 end
1919
20-
2120 it "succeeds" do
2221 VCR . use_cassette ( cassette ) do
2322 expect ( content . split . empty? ) . to eq ( false )
2928 let ( :input_followup ) { "Remind me, what is my name?" }
3029 let ( :previous_response_id ) { response [ "id" ] }
3130 let ( :followup_parameters ) do
32- { model : model , input : input_followup , stream : stream , previous_response_id : previous_response_id }
31+ { model : model , input : input_followup , stream : stream ,
32+ previous_response_id : previous_response_id }
3333 end
3434 let ( :followup_response ) do
3535 OpenAI ::Client . new ( { uri_base : uri_base } ) . responses (
3838 end
3939 let ( :followup_content ) { followup_response . dig ( "output" , 0 , "content" , 0 , "text" ) }
4040 let ( :cassette ) do
41- "#{ "#{ provider } _" if provider } #{ model } #{ 'streamed' if stream } with followup message ResponsesAPI responses" . downcase
41+ message_suffix = "with followup message ResponsesAPI responses"
42+ "#{ if provider
43+ "#{ provider } _"
44+ end } #{ model } #{ stream ? 'streamed' : '' } #{ message_suffix } ". downcase
4245 end
4346
4447 it "remembers the conversation history" do
7578 } ,
7679 "required" => [ "location" ]
7780 }
78- }
81+ }
7982 ]
8083 end
8184
105108 VCR . use_cassette ( cassette ) do
106109 response
107110 output_text = chunks
108- . select { |chunk | chunk [ "type" ] == "response.output_text.delta" }
109- . map { |chunk | chunk [ "delta" ] }
110- . join
111+ . select { |chunk | chunk [ "type" ] == "response.output_text.delta" }
112+ . map { |chunk | chunk [ "delta" ] }
113+ . join
111114
112115 expect ( output_text ) . to eq ( "Hi there! How can I assist you today?" )
113116 end
@@ -133,9 +136,9 @@ def call(chunk)
133136 VCR . use_cassette ( cassette ) do
134137 response
135138 output_text = stream . chunks
136- . select { |chunk | chunk [ "type" ] == "response.output_text.delta" }
137- . map { |chunk | chunk [ "delta" ] }
138- . join
139+ . select { |chunk | chunk [ "type" ] == "response.output_text.delta" }
140+ . map { |chunk | chunk [ "delta" ] }
141+ . join
139142
140143 expect ( output_text ) . to eq ( "Hi there! How can I assist you today?" )
141144 end
0 commit comments