ToolOracle

class ToolOracle(ai: <Error class: unknown class>, prologResult: PrologProjectionResult, prologSchema: PrologSchema, propositionRepository: PropositionRepository? = null, entityNames: Map<String, String> = emptyMap(), llmOptions: <Error class: unknown class> = LlmOptions()) : Oracle

Oracle that uses LLM tool calling to answer questions. The LLM decides when and how to query the Prolog knowledge base.

Parameters

ai

AI service for LLM calls

prologResult

Prolog facts from projection

prologSchema

Schema with predicate mappings and rules

propositionRepository

Optional store to search propositions

entityNames

Mapping of entity IDs to human-readable names

llmOptions

LLM configuration

Constructors

Link copied to clipboard
constructor(ai: <Error class: unknown class>, prologResult: PrologProjectionResult, prologSchema: PrologSchema, propositionRepository: PropositionRepository? = null, entityNames: Map<String, String> = emptyMap(), llmOptions: <Error class: unknown class> = LlmOptions())

Functions

Link copied to clipboard
open fun ask(questionText: String): Answer

Answer a question given as a string.

open override fun ask(question: Question): Answer

Answer a natural language question.