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
44
45
46
47
48
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 44
def (response)
response.content
end
|
#handle_error(error) ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 51
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
32
33
34
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 32
def name
"openai_structured_output"
end
|
#prepare_request(messages, request_params) ⇒ Object
37
38
39
40
41
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 37
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
27
28
29
|
# File 'lib/dspy/lm/strategies/openai_structured_output_strategy.rb', line 27
def priority
100 end
|