# Data And Providers

hidden: true

## Data And Providers

### Infrastructure Arrangement

The generated FlexBase infrastructure wires all data stores, AI providers, messaging, and email sources through shared abstractions so `YourApplication` only depends on the interface contracts. Flex Studio scaffolds provider folders, NuGet references, configuration sections, and README examples while the hosted builder registers each provider with telemetry, resiliency, and secrets integration.

### Highlights

* **AI Providers**: Offer `IFlexAIProvider` implementations (OpenAI, Azure OpenAI, Anthropic, Gemini, Ollama) with samples showing how to resolve completions and surface configuration hints such as deployments, secrets, and throttling.
* **Data Stores**: Cover vector, full-text, document, file, graph, and time-series stores with interface-based wiring (`IFlexVectorStore`, `IFlexSearchStore`, `IFlexDocumentStore<T>`, `IFlexFileStore`, `IFlexGraphStore`, `IFlexTimeSeriesStore`), usage snippets, and config guidance for endpoints, indexes, credentials, and qos settings.
* **Email + Messaging**: Document `IFlexEmailProvider` and `IFlexTextMessageProvider` implementations (AWS SES, SendGrid, SMTP, Azure Communication, console, Twilio, etc.) including configuration keys and example usage.
* **Generated Docs**: Each subfolder contains provider-specific markdown that explains the infrastructure arrangement, shows a `{YourApplication}` consumer, and lists configuration hints aligned with the generated infrastructure.

### Next Steps

1. Use Flex Studio to add the provider you need; the generated folder will mirror these docs and provide registration snippets.
2. Inject the shared interface in your services (e.g., `IFlexAIProvider`, `IFlexDocumentStore<T>`, `IFlexFileStore`) and call the provided methods.
3. Maintain configuration under `FlexBase:AI:*`, `FlexBase:DataStores:*`, and `FlexBase:Providers:*` so the builder can resolve secrets, endpoints, and provider-specific metadata.


---

# 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.flexbase.in/data-and-providers.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.
