# Noizu Labs, GenAI Wrapper v0.3.0 - API Reference

## Modules

- [GenAI.Provider.Anthropic](GenAI.Provider.Anthropic.md): This module implements the GenAI provider for Groq AI.

- [GenAI.Provider.Anthropic.Encoder](GenAI.Provider.Anthropic.Encoder.md)
- [GenAI.Provider.Anthropic.EncoderProtocol](GenAI.Provider.Anthropic.EncoderProtocol.md): Encoders use their module's EncoderProtocol to prep messages and tool definitions
To make future extensibility for third parties straight forward. If a new message
type, or tool type is added one simply needs to implement a EncoderProtocol for it
and most cases you can simply cast it to generic known type and then invoke the protocol
again.

- [GenAI.Provider.Anthropic.EncoderProtocolHelper](GenAI.Provider.Anthropic.EncoderProtocolHelper.md)
- [GenAI.Provider.Anthropic.Models](GenAI.Provider.Anthropic.Models.md): Defines some common Anthropic models.

- [GenAI.Provider.DeepSeek](GenAI.Provider.DeepSeek.md): Module for interacting with the OpenAI API.

- [GenAI.Provider.DeepSeek.Encoder](GenAI.Provider.DeepSeek.Encoder.md)
- [GenAI.Provider.DeepSeek.EncoderProtocol](GenAI.Provider.DeepSeek.EncoderProtocol.md): Encoders use their module's EncoderProtocol to prep messages and tool definitions
To make future extensibility for third parties straight forward. If a new message
type, or tool type is added one simply needs to implement a EncoderProtocol for it
and most cases you can simply cast it to generic known type and then invoke the protocol
again.

- [GenAI.Provider.DeepSeek.Models](GenAI.Provider.DeepSeek.Models.md)
- [GenAI.Provider.Gemini](GenAI.Provider.Gemini.md): This module implements the GenAI provider for Mistral AI.

- [GenAI.Provider.Gemini.Encoder](GenAI.Provider.Gemini.Encoder.md)
- [GenAI.Provider.Gemini.EncoderProtocol](GenAI.Provider.Gemini.EncoderProtocol.md): Encoders use their module's EncoderProtocol to prep messages and tool definitions
To make future extensibility for third parties straight forward. If a new message
type, or tool type is added one simply needs to implement a EncoderProtocol for it
and most cases you can simply cast it to generic known type and then invoke the protocol
again.

- [GenAI.Provider.Gemini.EncoderProtocolHelper](GenAI.Provider.Gemini.EncoderProtocolHelper.md)
- [GenAI.Provider.Gemini.Models](GenAI.Provider.Gemini.Models.md)
- [GenAI.Provider.Groq](GenAI.Provider.Groq.md): This module implements the GenAI provider for Groq AI.

- [GenAI.Provider.Groq.Encoder](GenAI.Provider.Groq.Encoder.md)
- [GenAI.Provider.Groq.EncoderProtocol](GenAI.Provider.Groq.EncoderProtocol.md): Encoders use their module's EncoderProtocol to prep messages and tool definitions
To make future extensibility for third parties straight forward. If a new message
type, or tool type is added one simply needs to implement a EncoderProtocol for it
and most cases you can simply cast it to generic known type and then invoke the protocol
again.

- [GenAI.Provider.Groq.Models](GenAI.Provider.Groq.Models.md): Defines some common Groq models.

- [GenAI.Provider.Mistral](GenAI.Provider.Mistral.md): This module implements the GenAI provider for Mistral AI.

- [GenAI.Provider.Mistral.Encoder](GenAI.Provider.Mistral.Encoder.md)
- [GenAI.Provider.Mistral.EncoderProtocol](GenAI.Provider.Mistral.EncoderProtocol.md): Encoders use their module's EncoderProtocol to prep messages and tool definitions
To make future extensibility for third parties straight forward. If a new message
type, or tool type is added one simply needs to implement a EncoderProtocol for it
and most cases you can simply cast it to generic known type and then invoke the protocol
again.

- [GenAI.Provider.Mistral.Models](GenAI.Provider.Mistral.Models.md): Defines some common Mistral models.

- [GenAI.Provider.Ollama](GenAI.Provider.Ollama.md): Module for interacting with the Ollama API.
Ollama provides local LLM inference with various open-source models.

- [GenAI.Provider.Ollama.Encoder](GenAI.Provider.Ollama.Encoder.md)
- [GenAI.Provider.Ollama.EncoderProtocol](GenAI.Provider.Ollama.EncoderProtocol.md): Encoders use their module's EncoderProtocol to prep messages and tool definitions
To make future extensibility for third parties straight forward. If a new message
type, or tool type is added one simply needs to implement a EncoderProtocol for it
and most cases you can simply cast it to generic known type and then invoke the protocol
again.
- [GenAI.Provider.Ollama.Models](GenAI.Provider.Ollama.Models.md)
- [GenAI.Provider.OpenAI](GenAI.Provider.OpenAI.md): Module for interacting with the OpenAI API.

- [GenAI.Provider.OpenAI.Encoder](GenAI.Provider.OpenAI.Encoder.md)
- [GenAI.Provider.OpenAI.EncoderProtocol](GenAI.Provider.OpenAI.EncoderProtocol.md): Encoders use their module's EncoderProtocol to prep messages and tool definitions
To make future extensibility for third parties straight forward. If a new message
type, or tool type is added one simply needs to implement a EncoderProtocol for it
and most cases you can simply cast it to generic known type and then invoke the protocol
again.

- [GenAI.Provider.OpenAI.Models](GenAI.Provider.OpenAI.Models.md)
- [GenAI.Provider.XAI](GenAI.Provider.XAI.md): Module for interacting with the XAI API.

- [GenAI.Provider.XAI.Encoder](GenAI.Provider.XAI.Encoder.md)
- [GenAI.Provider.XAI.EncoderProtocol](GenAI.Provider.XAI.EncoderProtocol.md): Encoders use their module's EncoderProtocol to prep messages and tool definitions
To make future extensibility for third parties straight forward. If a new message
type, or tool type is added one simply needs to implement a EncoderProtocol for it
and most cases you can simply cast it to generic known type and then invoke the protocol
again.

- [GenAI.Provider.XAI.Models](GenAI.Provider.XAI.Models.md)

