Last active
May 22, 2026 09:07
-
-
Save dskecse/a1d168d1db0b312cb35346da9a4f5808 to your computer and use it in GitHub Desktop.
Fetching field values across the records in Python and Ruby
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from dataclasses import dataclass | |
| @dataclass | |
| class FailureMode: | |
| name: str | |
| evaluation_criteria: str | |
| failure_modes = [ | |
| FailureMode(name="incomplete_answer", evaluation_criteria="..."), | |
| FailureMode(name="safety_violations", evaluation_criteria="..."), | |
| FailureMode(name="unrealistic_tools", evaluation_criteria="..."), | |
| FailureMode(name="overcomplicated_solution", evaluation_criteria="..."), | |
| FailureMode(name="missing_context", evaluation_criteria="..."), | |
| FailureMode(name="poor_quality_tips", evaluation_criteria="..."), | |
| ] | |
| print(failure_modes[0].name) # => incomplete_answer | |
| print([failure_mode.name for failure_mode in failure_modes]) # list comprehension | |
| # => ['incomplete_answer', 'safety_violations', 'unrealistic_tools', 'overcomplicated_solution', 'missing_context', 'poor_quality_tips'] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # class FailureMode | |
| # attr_reader :name | |
| # | |
| # def initialize(name:, evaluation_criteria:) | |
| # @name = name | |
| # @evaluation_criteria = evaluation_criteria | |
| # end | |
| # end | |
| FailureMode = Data.define(:name, :evaluation_criteria) | |
| failure_modes = [ | |
| FailureMode.new(name: "incomplete_answer", evaluation_criteria: "..."), | |
| FailureMode.new(name: "safety_violations", evaluation_criteria: "..."), | |
| FailureMode.new(name: "unrealistic_tools", evaluation_criteria: "..."), | |
| FailureMode.new(name: "overcomplicated_solution", evaluation_criteria: "..."), | |
| FailureMode.new(name: "missing_context", evaluation_criteria: "..."), | |
| FailureMode.new(name: "poor_quality_tips", evaluation_criteria: "..."), | |
| ] | |
| puts failure_modes.first.name # => incomplete_answer | |
| print failure_modes.map(&:name) | |
| # => ["incomplete_answer", "safety_violations", "unrealistic_tools", "overcomplicated_solution", "missing_context", "poor_quality_tips"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment