diff --git a/src/platform/src/Bridge/Voyage/ModelClient.php b/src/platform/src/Bridge/Voyage/ModelClient.php index 3da2a5f66..2d80d476c 100644 --- a/src/platform/src/Bridge/Voyage/ModelClient.php +++ b/src/platform/src/Bridge/Voyage/ModelClient.php @@ -39,6 +39,9 @@ public function request(Model $model, object|string|array $payload, array $optio 'json' => [ 'model' => $model->getName(), 'input' => $payload, + 'input_type' => $options['input_type'] ?? null, + 'truncation' => $options['truncation'] ?? true, + 'output_dimension' => $options['dimensions'] ?? null, ], ])); } diff --git a/src/platform/src/Bridge/Voyage/Voyage.php b/src/platform/src/Bridge/Voyage/Voyage.php index 955748499..5a803a4a7 100644 --- a/src/platform/src/Bridge/Voyage/Voyage.php +++ b/src/platform/src/Bridge/Voyage/Voyage.php @@ -19,17 +19,24 @@ */ class Voyage extends Model { + public const V3_5 = 'voyage-3.5'; + public const V3_5_LITE = 'voyage-3.5-lite'; public const V3 = 'voyage-3'; public const V3_LITE = 'voyage-3-lite'; + public const V3_LARGE = 'voyage-3-large'; public const FINANCE_2 = 'voyage-finance-2'; public const MULTILINGUAL_2 = 'voyage-multilingual-2'; public const LAW_2 = 'voyage-law-2'; + public const CODE_3 = 'voyage-code-3'; public const CODE_2 = 'voyage-code-2'; + public const INPUT_TYPE_DOCUMENT = 'document'; + public const INPUT_TYPE_QUERY = 'query'; + /** - * @param array $options + * @param array{dimensions?: int, input_type?: self::INPUT_TYPE_*, truncation?: bool} $options */ - public function __construct(string $name = self::V3, array $options = []) + public function __construct(string $name = self::V3_5, array $options = []) { parent::__construct($name, [Capability::INPUT_MULTIPLE], $options); } diff --git a/src/platform/tests/Bridge/Voyage/ResultConverterTest.php b/src/platform/tests/Bridge/Voyage/ResultConverterTest.php index 807aba097..f135620eb 100644 --- a/src/platform/tests/Bridge/Voyage/ResultConverterTest.php +++ b/src/platform/tests/Bridge/Voyage/ResultConverterTest.php @@ -103,11 +103,15 @@ public function testItSupportsVoyageModel(string $modelName) public static function voyageModelsProvider(): iterable { + yield 'V3_5' => [Voyage::V3_5]; + yield 'V3_5_LITE' => [Voyage::V3_5_LITE]; yield 'V3' => [Voyage::V3]; yield 'V3_LITE' => [Voyage::V3_LITE]; + yield 'V3_LARGE' => [Voyage::V3_LARGE]; yield 'FINANCE_2' => [Voyage::FINANCE_2]; yield 'MULTILINGUAL_2' => [Voyage::MULTILINGUAL_2]; yield 'LAW_2' => [Voyage::LAW_2]; + yield 'CODE_3' => [Voyage::CODE_3]; yield 'CODE_2' => [Voyage::CODE_2]; } }