import {Meta} from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/ru/scripts/Classes/AiOpenAi - Класс OpenAI'/>

# Класс AiOpenAi

Класс `AiOpenAi` представляет собой конкретную реализацию `AiOpenAiLite`, которая интегрируется с настройками окружения проекта. Он автоматически загружает учетные данные с помощью `getConfigAi()` для инициализации клиента OpenAI.

## Ключевые особенности

- **Автоматическая конфигурация** — автоматически загружает API-ключи и модели по умолчанию с помощью `getConfigAi()`.
- **Наследуемый функционал OpenAI** — поддерживает все возможности `AiOpenAiLite`, включая мультимодальный ввод (изображения), накопление промптов и генерацию текста.

## Инициализация

Класс `AiOpenAi` может быть инициализирован напрямую без аргументов конструктора, так как он автоматически извлекает учетные данные из окружения.

```typescript
import { AiOpenAi } from '@dxtmisha/scripts'

const ai = new AiOpenAi()

// Установка модели (опционально, если модель по умолчанию не задана или требует переопределения)
ai.setModel('gpt-4o')

// Накопление контекста
ai.addPrompt('Вы — профессиональный разработчик на TypeScript.')

// Генерация текста
const response = await ai.generate('Создайте enum для пользовательских ролей.')
```

## Методы

Этот класс не определяет дополнительных публичных методов. Он наследует все методы настройки и выполнения из `AiOpenAiLite` и `AiAbstract`.
