# Noizu Labs, GenAI Wrapper v0.3.0 - Table of Contents Generative AI Wrapper: access multiple apis through single standardized interface. ## Pages - [Contributing](readme.md) - [Change Log](changelog.md) - [Todo](todo.md) - [CONTRIBUTING](contributing.md) - [LICENSE](license.md) ## 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)