Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/anthropic/toolcall.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
$wikipedia = new Wikipedia(http_client());
$toolbox = new Toolbox([$wikipedia], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(Message::ofUser('Who is the current chancellor of Germany?'));
$result = $agent->call($messages);
Expand Down
2 changes: 1 addition & 1 deletion examples/bedrock/toolcall-claude.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
$wikipedia = new Wikipedia(http_client());
$toolbox = new Toolbox([$wikipedia]);
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(Message::ofUser('Who is the current chancellor of Germany?'));
$result = $agent->call($messages);
Expand Down
2 changes: 1 addition & 1 deletion examples/bedrock/toolcall-nova.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
$wikipedia = new Wikipedia(http_client());
$toolbox = new Toolbox([$wikipedia]);
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::ofUser('Who is the current chancellor of Germany? Use Wikipedia to find the answer.')
Expand Down
2 changes: 1 addition & 1 deletion examples/gemini/server-tools.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

$toolbox = new Toolbox([new Clock()], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $llm, [$processor], [$processor], logger());
$agent = new Agent($platform, $llm, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::ofUser(
Expand Down
2 changes: 1 addition & 1 deletion examples/gemini/structured-output-clock.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
$toolbox = new Toolbox([$clock]);
$toolProcessor = new ToolProcessor($toolbox);
$structuredOutputProcessor = new StructuredOutputProcessor();
$agent = new Agent($platform, $model, [$toolProcessor, $structuredOutputProcessor], [$toolProcessor, $structuredOutputProcessor], logger());
$agent = new Agent($platform, $model, [$toolProcessor, $structuredOutputProcessor], [$toolProcessor, $structuredOutputProcessor], logger: logger());

$messages = new MessageBag(Message::ofUser('What date and time is it?'));
$result = $agent->call($messages, ['response_format' => [
Expand Down
2 changes: 1 addition & 1 deletion examples/gemini/structured-output-math.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
$model = new Gemini(Gemini::GEMINI_1_5_FLASH);

$processor = new AgentProcessor();
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());
$messages = new MessageBag(
Message::forSystem('You are a helpful math tutor. Guide the user through the solution step by step.'),
Message::ofUser('how can I solve 8x + 7 = -23'),
Expand Down
2 changes: 1 addition & 1 deletion examples/gemini/toolcall.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

$toolbox = new Toolbox([new Clock()], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $llm, [$processor], [$processor], logger());
$agent = new Agent($platform, $llm, [$processor], [$processor], logger: logger());

$messages = new MessageBag(Message::ofUser('What time is it?'));
$result = $agent->call($messages);
Expand Down
3 changes: 2 additions & 1 deletion examples/memory/mariadb.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\MariaDb\Store;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand Down Expand Up @@ -59,7 +60,7 @@
// create embeddings for documents as preparation of the chain memory
$platform = PlatformFactory::create(env('OPENAI_API_KEY'), http_client());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings());
$indexer = new Indexer($vectorizer, $store, logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

// Execute a chat call that is utilizing the memory
Expand Down
2 changes: 1 addition & 1 deletion examples/mistral/structured-output-math.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
$serializer = new Serializer([new ObjectNormalizer()], [new JsonEncoder()]);

$processor = new AgentProcessor(new ResponseFormatFactory(), $serializer);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());
$messages = new MessageBag(
Message::forSystem('You are a helpful math tutor. Guide the user through the solution step by step.'),
Message::ofUser('how can I solve 8x + 7 = -23'),
Expand Down
2 changes: 1 addition & 1 deletion examples/mistral/toolcall-stream.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
$transcriber = new YouTubeTranscriber(http_client());
$toolbox = new Toolbox([$transcriber], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(Message::ofUser('Please summarize this video for me: https://www.youtube.com/watch?v=6uXW-ulpj0s'));
$result = $agent->call($messages, [
Expand Down
2 changes: 1 addition & 1 deletion examples/mistral/toolcall.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

$toolbox = new Toolbox([new Clock()], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(Message::ofUser('What time is it?'));
$result = $agent->call($messages);
Expand Down
2 changes: 1 addition & 1 deletion examples/ollama/structured-output-math.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
$model = new Ollama();

$processor = new AgentProcessor();
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());
$messages = new MessageBag(
Message::forSystem('You are a helpful math tutor. Guide the user through the solution step by step.'),
Message::ofUser('how can I solve 8x + 7 = -23'),
Expand Down
2 changes: 1 addition & 1 deletion examples/ollama/toolcall.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

$toolbox = new Toolbox([new Clock()], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(Message::ofUser('What time is it?'));
$result = $agent->call($messages);
Expand Down
2 changes: 1 addition & 1 deletion examples/openai/structured-output-math.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
$model = new Gpt(Gpt::GPT_4O_MINI);

$processor = new AgentProcessor();
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());
$messages = new MessageBag(
Message::forSystem('You are a helpful math tutor. Guide the user through the solution step by step.'),
Message::ofUser('how can I solve 8x + 7 = -23'),
Expand Down
2 changes: 1 addition & 1 deletion examples/openai/toolcall-stream.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
$wikipedia = new Wikipedia(http_client());
$toolbox = new Toolbox([$wikipedia], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());
$messages = new MessageBag(Message::ofUser(<<<TXT
First, define unicorn in 30 words.
Then lookup at Wikipedia what the irish history looks like in 2 sentences.
Expand Down
2 changes: 1 addition & 1 deletion examples/openai/toolcall.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
$transcriber = new YouTubeTranscriber(http_client());
$toolbox = new Toolbox([$transcriber], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(Message::ofUser('Please summarize this video for me: https://www.youtube.com/watch?v=6uXW-ulpj0s'));
$result = $agent->call($messages);
Expand Down
9 changes: 5 additions & 4 deletions examples/rag/cache.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\Local\CacheStore;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand All @@ -43,16 +44,16 @@

// create embeddings for documents
$platform = PlatformFactory::create(env('OPENAI_API_KEY'), http_client());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings());
$indexer = new Indexer($vectorizer, $store, logger());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings(), logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

$model = new Gpt(Gpt::GPT_4O_MINI);

$similaritySearch = new SimilaritySearch($platform, $embeddings, $store);
$similaritySearch = new SimilaritySearch($vectorizer, $store);
$toolbox = new Toolbox([$similaritySearch], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::forSystem('Please answer all user questions only using SimilaritySearch function.'),
Expand Down
9 changes: 5 additions & 4 deletions examples/rag/chromadb.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\ChromaDb\Store;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand Down Expand Up @@ -50,16 +51,16 @@

// create embeddings for documents
$platform = PlatformFactory::create(env('OPENAI_API_KEY'), http_client());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings());
$indexer = new Indexer($vectorizer, $store, logger());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings(), logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

$model = new Gpt(Gpt::GPT_4O_MINI);

$similaritySearch = new SimilaritySearch($platform, $embeddings, $store);
$similaritySearch = new SimilaritySearch($vectorizer, $store);
$toolbox = new Toolbox([$similaritySearch], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::forSystem('Please answer all user questions only using SimilaritySearch function.'),
Expand Down
9 changes: 5 additions & 4 deletions examples/rag/clickhouse.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\ClickHouse\Store;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand Down Expand Up @@ -51,16 +52,16 @@

// create embeddings for documents
$platform = PlatformFactory::create(env('OPENAI_API_KEY'), http_client());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings());
$indexer = new Indexer($vectorizer, $store, logger());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings(), logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

$model = new Gpt(Gpt::GPT_4O_MINI);

$similaritySearch = new SimilaritySearch($platform, $embeddings, $store);
$similaritySearch = new SimilaritySearch($vectorizer, $store);
$toolbox = new Toolbox([$similaritySearch], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::forSystem('Please answer all user questions only using SimilaritySearch function.'),
Expand Down
9 changes: 5 additions & 4 deletions examples/rag/cloudflare.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\Cloudflare\Store;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand Down Expand Up @@ -51,16 +52,16 @@

// create embeddings for documents (keep in mind that upserting vectors is asynchronous)
$platform = PlatformFactory::create(env('OPENAI_API_KEY'), http_client());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings());
$indexer = new Indexer($vectorizer, $store, logger());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings(), logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

$model = new Gpt(Gpt::GPT_4O_MINI);

$similaritySearch = new SimilaritySearch($platform, $embeddings, $store);
$similaritySearch = new SimilaritySearch($vectorizer, $store);
$toolbox = new Toolbox([$similaritySearch], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::forSystem('Please answer all user questions only using SimilaritySearch function.'),
Expand Down
9 changes: 5 additions & 4 deletions examples/rag/in-memory.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\Local\InMemoryStore;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand All @@ -42,16 +43,16 @@

// create embeddings for documents
$platform = PlatformFactory::create(env('OPENAI_API_KEY'), http_client());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings());
$indexer = new Indexer($vectorizer, $store, logger());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings(), logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

$model = new Gpt(Gpt::GPT_4O_MINI);

$similaritySearch = new SimilaritySearch($platform, $embeddings, $store);
$similaritySearch = new SimilaritySearch($vectorizer, $store);
$toolbox = new Toolbox([$similaritySearch], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::forSystem('Please answer all user questions only using SimilaritySearch function.'),
Expand Down
9 changes: 5 additions & 4 deletions examples/rag/mariadb-gemini.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\MariaDb\Store;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand Down Expand Up @@ -53,16 +54,16 @@
// create embeddings for documents
$platform = PlatformFactory::create(env('GEMINI_API_KEY'), http_client());
$embeddings = new Embeddings(options: ['dimensions' => 768, 'task_type' => TaskType::SemanticSimilarity]);
$vectorizer = new Vectorizer($platform, $embeddings);
$indexer = new Indexer($vectorizer, $store, logger());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings(), logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

$model = new Gemini(Gemini::GEMINI_2_FLASH_LITE);

$similaritySearch = new SimilaritySearch($platform, $embeddings, $store);
$similaritySearch = new SimilaritySearch($vectorizer, $store);
$toolbox = new Toolbox([$similaritySearch], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::forSystem('Please answer all user questions only using SimilaritySearch function.'),
Expand Down
9 changes: 5 additions & 4 deletions examples/rag/mariadb-openai.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\MariaDb\Store;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand Down Expand Up @@ -51,16 +52,16 @@

// create embeddings for documents
$platform = PlatformFactory::create(env('OPENAI_API_KEY'), http_client());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings());
$indexer = new Indexer($vectorizer, $store, logger());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings(), logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

$model = new Gpt(Gpt::GPT_4O_MINI);

$similaritySearch = new SimilaritySearch($platform, $embeddings, $store);
$similaritySearch = new SimilaritySearch($vectorizer, $store);
$toolbox = new Toolbox([$similaritySearch], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::forSystem('Please answer all user questions only using SimilaritySearch function.'),
Expand Down
9 changes: 5 additions & 4 deletions examples/rag/meilisearch.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
use Symfony\AI\Platform\Message\Message;
use Symfony\AI\Platform\Message\MessageBag;
use Symfony\AI\Store\Bridge\Meilisearch\Store;
use Symfony\AI\Store\Document\Loader\InMemoryLoader;
use Symfony\AI\Store\Document\Metadata;
use Symfony\AI\Store\Document\TextDocument;
use Symfony\AI\Store\Document\Vectorizer;
Expand Down Expand Up @@ -51,16 +52,16 @@

// create embeddings for documents
$platform = PlatformFactory::create(env('OPENAI_API_KEY'), http_client());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings());
$indexer = new Indexer($vectorizer, $store, logger());
$vectorizer = new Vectorizer($platform, $embeddings = new Embeddings(), logger());
$indexer = new Indexer(new InMemoryLoader($documents), $vectorizer, $store, logger: logger());
$indexer->index($documents);

$model = new Gpt(Gpt::GPT_4O_MINI);

$similaritySearch = new SimilaritySearch($platform, $embeddings, $store);
$similaritySearch = new SimilaritySearch($vectorizer, $store);
$toolbox = new Toolbox([$similaritySearch], logger: logger());
$processor = new AgentProcessor($toolbox);
$agent = new Agent($platform, $model, [$processor], [$processor], logger());
$agent = new Agent($platform, $model, [$processor], [$processor], logger: logger());

$messages = new MessageBag(
Message::forSystem('Please answer all user questions only using SimilaritySearch function.'),
Expand Down
Loading