@@ -563,6 +563,66 @@ def test_basic_config():
563563 }
564564 },
565565 ),
566+ (
567+ Configure .Vectorizer .multi2vec_google (
568+ image_fields = ["image" ],
569+ text_fields = ["text" ],
570+ video_fields = ["video" ],
571+ project_id = "project" ,
572+ location = "us-central1" ,
573+ ),
574+ {
575+ "multi2vec-palm" : {
576+ "imageFields" : ["image" ],
577+ "textFields" : ["text" ],
578+ "videoFields" : ["video" ],
579+ "projectId" : "project" ,
580+ "location" : "us-central1" ,
581+ }
582+ },
583+ ),
584+ (
585+ Configure .Vectorizer .multi2vec_google (
586+ image_fields = [Multi2VecField (name = "image" )],
587+ text_fields = [Multi2VecField (name = "text" )],
588+ video_fields = [Multi2VecField (name = "video" )],
589+ project_id = "project" ,
590+ location = "us-central1" ,
591+ ),
592+ {
593+ "multi2vec-palm" : {
594+ "imageFields" : ["image" ],
595+ "textFields" : ["text" ],
596+ "videoFields" : ["video" ],
597+ "projectId" : "project" ,
598+ "location" : "us-central1" ,
599+ }
600+ },
601+ ),
602+ (
603+ Configure .Vectorizer .multi2vec_google (
604+ image_fields = [Multi2VecField (name = "image" , weight = 0.5 )],
605+ text_fields = [Multi2VecField (name = "text" , weight = 0.5 )],
606+ video_fields = [Multi2VecField (name = "video" , weight = 0.5 )],
607+ project_id = "project" ,
608+ location = "us-central1" ,
609+ vectorize_collection_name = False ,
610+ ),
611+ {
612+ "multi2vec-palm" : {
613+ "imageFields" : ["image" ],
614+ "textFields" : ["text" ],
615+ "videoFields" : ["video" ],
616+ "projectId" : "project" ,
617+ "location" : "us-central1" ,
618+ "weights" : {
619+ "imageFields" : [0.5 ],
620+ "textFields" : [0.5 ],
621+ "videoFields" : [0.5 ],
622+ },
623+ }
624+ },
625+ ),
566626 (
567627 Configure .Vectorizer .multi2vec_clip (
568628 image_fields = [Multi2VecField (name = "image" )],
@@ -1922,6 +1982,32 @@ def test_vector_config_flat_pq() -> None:
19221982 }
19231983 },
19241984 ),
1985+ (
1986+ [
1987+ Configure .NamedVectors .multi2vec_google (
1988+ name = "test" ,
1989+ audio_fields = ["audio" ],
1990+ image_fields = ["image" ],
1991+ text_fields = ["text" ],
1992+ project_id = "project" ,
1993+ location = "us-central1" ,
1994+ )
1995+ ],
1996+ {
1997+ "test" : {
1998+ "vectorizer" : {
1999+ "multi2vec-palm" : {
2000+ "audioFields" : ["audio" ],
2001+ "imageFields" : ["image" ],
2002+ "textFields" : ["text" ],
2003+ "projectId" : "project" ,
2004+ "location" : "us-central1" ,
2005+ }
2006+ },
2007+ "vectorIndexType" : "hnsw" ,
2008+ }
2009+ },
2010+ ),
19252011 (
19262012 [
19272013 Configure .NamedVectors .multi2vec_bind (
@@ -2584,6 +2670,89 @@ def test_config_with_named_vectors(
25842670 }
25852671 },
25862672 ),
2673+ (
2674+ [
2675+ Configure .Vectors .multi2vec_google (
2676+ name = "test" ,
2677+ audio_fields = ["audio" ],
2678+ image_fields = ["image" ],
2679+ text_fields = ["text" ],
2680+ project_id = "project" ,
2681+ location = "us-central1" ,
2682+ dimensions = 768 ,
2683+ )
2684+ ],
2685+ {
2686+ "test" : {
2687+ "vectorizer" : {
2688+ "multi2vec-palm" : {
2689+ "audioFields" : ["audio" ],
2690+ "imageFields" : ["image" ],
2691+ "textFields" : ["text" ],
2692+ "projectId" : "project" ,
2693+ "location" : "us-central1" ,
2694+ "dimensions" : 768 ,
2695+ }
2696+ },
2697+ "vectorIndexType" : "hnsw" ,
2698+ }
2699+ },
2700+ ),
2701+ (
2702+ [
2703+ Configure .Vectors .multi2vec_google_gemini (
2704+ name = "test" ,
2705+ audio_fields = ["audio" ],
2706+ image_fields = ["image" ],
2707+ text_fields = ["text" ],
2708+ dimensions = 768 ,
2709+ )
2710+ ],
2711+ {
2712+ "test" : {
2713+ "vectorizer" : {
2714+ "multi2vec-palm" : {
2715+ "apiEndpoint" : "generativelanguage.googleapis.com" ,
2716+ "audioFields" : ["audio" ],
2717+ "imageFields" : ["image" ],
2718+ "textFields" : ["text" ],
2719+ "dimensions" : 768 ,
2720+ }
2721+ },
2722+ "vectorIndexType" : "hnsw" ,
2723+ }
2724+ },
2725+ ),
2726+ (
2727+ [
2728+ Configure .Vectors .multi2vec_google_gemini (
2729+ name = "test" ,
2730+ audio_fields = [Multi2VecField (name = "audio" , weight = 0.5 )],
2731+ image_fields = [Multi2VecField (name = "image" , weight = 0.5 )],
2732+ text_fields = [Multi2VecField (name = "text" , weight = 0.5 )],
2733+ dimensions = 768 ,
2734+ )
2735+ ],
2736+ {
2737+ "test" : {
2738+ "vectorizer" : {
2739+ "multi2vec-palm" : {
2740+ "apiEndpoint" : "generativelanguage.googleapis.com" ,
2741+ "audioFields" : ["audio" ],
2742+ "imageFields" : ["image" ],
2743+ "textFields" : ["text" ],
2744+ "dimensions" : 768 ,
2745+ "weights" : {
2746+ "audioFields" : [0.5 ],
2747+ "imageFields" : [0.5 ],
2748+ "textFields" : [0.5 ],
2749+ },
2750+ }
2751+ },
2752+ "vectorIndexType" : "hnsw" ,
2753+ }
2754+ },
2755+ ),
25872756 (
25882757 [
25892758 Configure .Vectors .multi2vec_bind (
0 commit comments