# Configure Services

## Overview

Wisej.AI is equipped with a variety of built-in services and a standard configuration that utilizes OpenAI for the [IEmbeddingGenerationService](/ai/components/built-in-services/iembeddinggenerationservice.md). However, you will likely want to customize the configuration to better suit your specific requirements.

See the built-in services page for more details.

{% content-ref url="/pages/YsYdsgyMvq9ILuAi6rT2" %}
[Built-in Services](/ai/components/built-in-services.md)
{% endcontent-ref %}

## Examples

Below is a common example of a basic startup configuration:

{% tabs %}
{% tab title="C#" %}

```csharp
static Program() {
    Application.Services
        .AddService<IEmbeddingStorageService>(
            new PineconeEmbeddingStorageService(endpoint))// key in ApiKeys.js
        .AddOrReplaceService<IWebSearchService>(
            new BingWebSearchService()) // key in ApiKeys.js
    ;
}
```

{% endtab %}

{% tab title="VB.NET" %}

```vbnet
Public NotInheritable Class Program

    ' Shared constructor for the static class.
    Shared Sub New()
        Application.Services _
            .AddService(Of IEmbeddingStorageService)( _
                New PineconeEmbeddingStorageService(endpoint)) _
            ' Key should be defined in ApiKeys.js
            .AddOrReplaceService(Of IWebSearchService)( _
                New BingWebSearchService()) _
            ' Key should be defined in ApiKeys.js
    End Sub

End Class
```

{% endtab %}
{% endtabs %}

This configuration establishes Pinecone as the vector database for handling data operations and Bing as the web search engine employed by the WebSearchTools.

Once the services are configured, you can utilize the following methods according to your setup: `hub.IngestDocumentAsync()`, `adapter.UseTools(new WebSearchTools())`, or `hub.EmbedAsync()`. These methods allow you to interact with the services as per the configurations mentioned above.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/ai/components/configure-services.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
