Class: LlmScraper::ResponseParser
- Inherits:
-
Object
- Object
- LlmScraper::ResponseParser
- Defined in:
- lib/llm_scraper/response_parser.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(schema) ⇒ ResponseParser
constructor
A new instance of ResponseParser.
- #parse(content) ⇒ Object
Constructor Details
#initialize(schema) ⇒ ResponseParser
Returns a new instance of ResponseParser.
13 14 15 |
# File 'lib/llm_scraper/response_parser.rb', line 13 def initialize(schema) @schema = schema end |
Class Method Details
.parse(content, schema) ⇒ Hash
9 10 11 |
# File 'lib/llm_scraper/response_parser.rb', line 9 def self.parse(content, schema) new(schema).parse(content) end |
Instance Method Details
#parse(content) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/llm_scraper/response_parser.rb', line 17 def parse(content) json = strip_fences(content) data = JSON.parse(json) coerced = coerce(data) validate_required!(coerced) coerced rescue JSON::ParserError => e raise LlmScraper::ParseError, "Invalid JSON from LLM: #{e.}\nRaw: #{content}" end |