BakeoffPromptStrategy

Strategy for building prompts used in LLM candidate bakeoff.

Two built-in strategies are provided in BakeoffPromptStrategies:

  • BakeoffPromptStrategies.COMPACT: Minimal prompts (~100-200 tokens) optimized for speed and cost. Note: Does not include entity descriptions, which may cause disambiguation issues when candidates have similar names but different meanings.

  • BakeoffPromptStrategies.FULL: Detailed prompts (~400-600 tokens) with descriptions and comprehensive matching rules for complex disambiguation.

You can implement your own strategy for domain-specific prompt customization:

val myStrategy = object : BakeoffPromptStrategy {
override fun buildBakeoffPrompt(...) = "..."
override fun buildVerificationPrompt(...) = "..."
}
val bakeoff = LlmCandidateBakeoff.withLlm(llmOptions).withAi(ai).withPromptStrategy(myStrategy)

Functions

Link copied to clipboard
abstract fun buildBakeoffPrompt(suggested: SuggestedEntity, candidates: List<<Error class: unknown class><<Error class: unknown class>>>, sourceText: String?): String

Build a prompt for selecting the best match from multiple candidates.

Link copied to clipboard
abstract fun buildVerificationPrompt(suggested: SuggestedEntity, candidate: <Error class: unknown class>, sourceText: String?): String

Build a prompt for verifying a single candidate match.