API Reference GenAI Core v0.2.0

modules

Modules

Encodes a LLM ChatCompletion response.

Module for fetching, and setting global or per process default config settings.

A module representing a graph structure in the GenAI system. This module defines the structure and behavior of a graph, including its nodes and the ability to append new nodes.

Generic Graph Exception

Represent a link between two nodes in a graph.

Mermaid Encode Protocol.

Helpers for generating Mermaid graphs using the GenAI.Graph.MermaidProtocol protocol.

Represent a node on graph (generic type).

Behaviour Graph Node Elements must adhere to.

Protocol for managing Graph Nodes.

Default provider for GenAI.Graph.NodeProtocol. Uses function_exported? to invoke the passed module's implementation if any for calls.

The root data structure that contains nested graphs, nodes and other structures.

A collection of helper functions for VNextGenAI.

Inference Provider Default Provider.

Inference Provider Helpers.

GenAI.Message is now a unified message structure. It's contents may include tool calls, results, images, audio, text blurbs, etc.

Represents image part of chat message.

Represents image part of chat message.

Represents image part of chat message.

Represents image part of chat message.

Represents image part of chat message.

Represents image part of chat message.

Represents image part of chat message.

A protocol for handling different types of content in messages.

Represents a tool response in a message thread.

Represents a tool call in a message thread.

Represents a Provider Model plus picker details and encoder.

Last reported model evaluation benchmark scores.

Provides standardized structure for tracking capacity details.

Provides standardized structure for tracking costing details.

Tracks fine tuning details for the model, if any.

Provides standardized structure for tracking hyper parameter support such as allowed values, ranges, mapping etc.

Provides standardized structure for tracking modality support details. For example if a model can mimic video support by streaming images, plus audio transcription. Or supports native image and audio.

Provides details on tool usage support: native (api level), prompt injection, no support, etc.

Provides standardized structure for tracking training details such as training cut off, supplemental_training per subject cut offs, etc. censorship. instruct training, dolphin, etc.

Provides standardized structure for tracking use case support details. Where use case is the ability of the model to perform a task like feature extraction, generating synthetic memories, etc. Tracks both per model fixed scores plus dynamic adjustments based on system/user feedback.

Provides standardized structure for tracking extended module details.

Records used by for directive processing.

Records related to graph links.

Records used by for preparing/processing nodes.

Custom error for handling request errors in the GenAI module.

Tracks runtime/operating time state of session/thread.

Represent status/state such as node state, sessions, message thread, etc.

Directive that is applied to build effective state.

A entry (built by directives) in a session state struct.

A module representing a setting node in a graph structure. This module defines the structure and behavior of a setting node, including its identifier, setting, and value.

Represents a Provider Setting (used by Gemini)

Represents a Provider Setting (used by Gemini)

Represents a Model Safety Setting (used by Gemini)

A state directive applies selection values for specified state entries

A setting entry like model, provider, temperature set via directive.

More advanced VNext Thread Implementation

This module defines the chat struct used to manage conversations with generative AI models.

Represents a function that can be called by the model.

Represents a schema for boolean types, converting JSON schema attributes to Elixir struct fields.

Represents a schema for enum types, converting JSON schema attributes to Elixir struct fields.

Represents a schema for integer types, converting JSON schema attributes to Elixir struct fields.

Represents a schema for null types.

Represents a schema for number types, including integers and floating-point numbers.

Represents a schema for object types, converting JSON schema attributes to Elixir struct fields.

Represents a schema for string types, converting JSON schema attributes to Elixir struct fields.

Extract known schema types from JSON.

Tool Schema Type Behaviour

VNextGenAI Types

GenAI.VNext.Graph Type Declarations.

A graph data structure for representing AI graphs, threads, conversations, uml, etc. Utility Class