# AI

(plugins.ai)

## Overview

AIProvider class that provides access to create AI chat and embedding clients/builders.

## **Returned Types**

[ChatClient](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/chatclient),[GeminiChatBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/geminichatbuilder),[OpenAiChatBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/openaichatbuilder),[GeminiEmbeddingModelBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/geminiembeddingmodelbuilder),[OpenAiEmbeddingModelBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/openaiembeddingmodelbuilder),[ServoyEmbeddingStoreBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/servoyembeddingstorebuilder),[EmbeddingStore](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/embeddingstore),[EmbeddingModel](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/embeddingmodel),[ChatResponse](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/chatresponse),[SearchResult](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/searchresult),[ToolBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/toolbuilder),

## Methods Summarized

| Type                                                                                                                            | Name                                                                          | Summary                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| [GeminiChatBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/geminichatbuilder)                     | [createGeminiChatBuilder()](#creategeminichatbuilder)                         | Creates a builder for Gemini chat models.                                |
| [ChatClient](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/chatclient)                                   | [createGeminiClient(apiKey, modelName)](#creategeminiclient-apikey-modelname) | Creates a Gemini chat client using the provided API key and model name.  |
| [GeminiEmbeddingModelBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/geminiembeddingmodelbuilder) | [createGeminiEmbeddingModelBuilder()](#creategeminiembeddingmodelbuilder)     | Creates a builder for Gemini embeddings.                                 |
| [ChatClient](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/chatclient)                                   | [createOpenAIClient(apiKey, modelName)](#createopenaiclient-apikey-modelname) | Creates an OpenAI chat client using the provided API key and model name. |
| [OpenAiChatBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/openaichatbuilder)                     | [createOpenAiChatBuilder()](#createopenaichatbuilder)                         | Creates a builder for OpenAI chat models.                                |
| [OpenAiEmbeddingModelBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/openaiembeddingmodelbuilder) | [createOpenAiEmbeddingModelBuilder()](#createopenaiembeddingmodelbuilder)     | Creates a builder for OpenAI store.                                      |

## Methods Detailed

### createGeminiChatBuilder()

Creates a builder for Gemini chat models.

**Returns:** [GeminiChatBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/geminichatbuilder) GeminiChatBuilder instance.

### createGeminiClient(apiKey, modelName)

Creates a Gemini chat client using the provided API key and model name. This is a quick way to create a client without using the builder.

**Parameters**

* [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string) **apiKey** The Gemini API key.
* [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string) **modelName** The Gemini model name.

**Returns:** [ChatClient](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/chatclient) ChatClient instance for Gemini.

### createGeminiEmbeddingModelBuilder()

Creates a builder for Gemini embeddings.

**Returns:** [GeminiEmbeddingModelBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/geminiembeddingmodelbuilder) GeminiEmbeddingModelBuilder instance.

### createOpenAIClient(apiKey, modelName)

Creates an OpenAI chat client using the provided API key and model name. This is a quick way to create a client without using the builder.

**Parameters**

* [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string) **apiKey** The OpenAI API key.
* [String](https://docs.servoy.com/reference/servoycore/dev-api/js-lib/string) **modelName** The OpenAI model name.

**Returns:** [ChatClient](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/chatclient) ChatClient instance for OpenAI.

### createOpenAiChatBuilder()

Creates a builder for OpenAI chat models.

**Returns:** [OpenAiChatBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/openaichatbuilder) OpenAiChatBuilder instance.

### createOpenAiEmbeddingModelBuilder()

Creates a builder for OpenAI store.

**Returns:** [OpenAiEmbeddingModelBuilder](https://docs.servoy.com/reference/servoyextensions/server-plugins/ai/openaiembeddingmodelbuilder) OpenAiEmbeddingModelBuilder instance.

***
