Skip to content

Commit 56aac3a

Browse files
committed
Introduce generic platform for openai embeddings- and completions-based platforms
1 parent 917cab3 commit 56aac3a

32 files changed

+1131
-1297
lines changed

examples/litellm/chat.php

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,35 @@
99
* file that was distributed with this source code.
1010
*/
1111

12-
use Symfony\AI\Platform\Bridge\LiteLlm\PlatformFactory;
12+
use Symfony\AI\Platform\Bridge\Generic\CompletionsModel;
13+
use Symfony\AI\Platform\Bridge\Generic\ModelCatalog;
14+
use Symfony\AI\Platform\Bridge\Generic\PlatformFactory;
15+
use Symfony\AI\Platform\Capability;
1316
use Symfony\AI\Platform\Message\Message;
1417
use Symfony\AI\Platform\Message\MessageBag;
1518

1619
require_once dirname(__DIR__).'/bootstrap.php';
1720

18-
$platform = PlatformFactory::create(env('LITELLM_HOST_URL'), env('LITELLM_API_KEY'), http_client());
21+
$modelCatalog = new ModelCatalog([
22+
'mistral-small-latest' => [
23+
'class' => CompletionsModel::class,
24+
'capabilities' => [
25+
Capability::INPUT_MESSAGES,
26+
Capability::OUTPUT_TEXT,
27+
Capability::OUTPUT_STREAMING,
28+
Capability::OUTPUT_STRUCTURED,
29+
Capability::INPUT_IMAGE,
30+
Capability::TOOL_CALLING,
31+
],
32+
],
33+
]);
34+
35+
$platform = PlatformFactory::create(
36+
env('LITELLM_HOST_URL'),
37+
env('LITELLM_API_KEY'),
38+
http_client(),
39+
$modelCatalog,
40+
);
1941

2042
$messages = new MessageBag(
2143
Message::forSystem('You are a pirate and you write funny.'),

src/platform/src/Bridge/AiMlApi/Completions/ModelClient.php

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/platform/src/Bridge/AiMlApi/Completions/ResultConverter.php

Lines changed: 0 additions & 40 deletions
This file was deleted.

src/platform/src/Bridge/AiMlApi/Embeddings/ModelClient.php

Lines changed: 0 additions & 50 deletions
This file was deleted.

0 commit comments

Comments
 (0)