Class: DSPy::LM::Strategies::OpenAIStructuredOutputStrategy
- Inherits:
-
BaseStrategy
- Object
- BaseStrategy
- DSPy::LM::Strategies::OpenAIStructuredOutputStrategy
show all
- Extended by:
- T::Sig
- Defined in:
- lib/dspy/lm/strategies/openai_structured_output_strategy.rb
Overview
Strategy for using OpenAI’s native structured output feature
Instance Method Summary
collapse
#initialize
Instance Method Details
39
40
41
42
43
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 39
def (response)
response.content
end
|
#handle_error(error) ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 46
def handle_error(error)
if error.message.include?("response_format") || error.message.include?("Invalid schema")
DSPy.logger.warn("OpenAI structured output failed: #{error.message}")
true
else
false
end
end
|
#name ⇒ Object
27
28
29
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 27
def name
"openai_structured_output"
end
|
#prepare_request(messages, request_params) ⇒ Object
32
33
34
35
36
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 32
def prepare_request(messages, request_params)
response_format = DSPy::LM::Adapters::OpenAI::SchemaConverter.to_openai_format(signature_class)
request_params[:response_format] = response_format
end
|
#priority ⇒ Object
22
23
24
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 22
def priority
100 end
|