Package-level declarations
Types
Reference for literal text, in notes field. Held in memory.
An LLmReference exposes tools and is a prompt contributor. The prompt contribution might describe how to use the tools or can include relevant information directly. Consider, for example, a reference to an API which is so small it's included in the prompt, versus a large API which must be accessed via tools. The reference name is used in a strategy for tool naming, so should be fairly short. Description may be more verbose. If you want a custom naming strategy, use a ToolObject directly, and add the PromptContributor separately.
Provider of a serializable reference - supports dynamic subclass loading This is important to allow LlmReferences to be serialized, externalized in application.yml files, loaded from a database etc.
Parse LlmReferenceProviders from YML files
Reference for a local directory on the filesystem. Provides readonly access via file read tools.
Contents of a Spring resource as an LlmReference. Read and held in memory.
Reference for the contents of a web page. Works only if fetch tool is available. See CoreToolGroups.WEB