<?php

declare(strict_types=1);

namespace [namespace];

use NeuronAI\Providers\AIProviderInterface;
use NeuronAI\RAG\Embeddings\EmbeddingsProviderInterface;
use NeuronAI\RAG\RAG;
use NeuronAI\RAG\VectorStore\VectorStoreInterface;

class [classname] extends RAG
{
    protected function provider(): AIProviderInterface
    {
        /*return new Anthropic(
            config('services.anthropic.api_key'),
            'claude-3-7-sonnet-latest'
        );*/
    }

    protected function instructions(): string
    {
        return (string) new SystemPrompt(
            background: ["You are a friendly AI Agent created with Neuron AI framework."],
        );
    }

    protected function embeddings(): EmbeddingsProviderInterface
    {
        /*return new OpenAIEmbeddingsProvider(
            key: config('services.openai.api_key'),
            model: 'OPENAI_EMBED_MODEL'
        );*/
    }

    protected function vectorStore(): VectorStoreInterface
    {
        /*return new FileVectorStore(
            directory: __DIR__,
            name: 'demo'
        );*/
    }

    /**
     * @return ToolInterface[]|ToolkitInterface[]
     */
    protected function tools(): array
    {
        return [];
    }
}
