$content Array of Content messages forming a conversation. * @param string|null $model Model override. * * @return Generator */ abstract public function stream(array $content, string|null $model = null): Generator; /** * Returns a configuration value or throws when required. */ protected function config(string $key, mixed $default = null, bool $required = false): mixed { $value = Seo::option("ai.providers.{$this->providerId}.config.{$key}", $default); if ($required === true && ($value === null || $value === '')) { throw new InvalidArgumentException( "Missing required \"{$key}\" configuration for driver " . static::class . '.' ); } return $value; } }