Skip to content

Commit 906bf4e

Browse files
committed
Merge branch 'main' into bugfix/model-configs-review-pt2
2 parents bfe2a05 + a507a07 commit 906bf4e

File tree

6 files changed

+147
-63
lines changed

6 files changed

+147
-63
lines changed

src/Weaviate.Client/Configure/Vectorizer.Multivector.cs

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,25 +50,39 @@ params string[] sourceProperties
5050
}
5151
}
5252

53-
public static VectorConfigBuilder Multi2VecJinaAI(
53+
public static VectorConfigBuilder Text2MultiVecJinaAI(
54+
string? model = null,
5455
string? baseURL = null,
5556
int? dimensions = null,
56-
string[]? imageFields = null,
57+
bool? vectorizeCollectionName = null
58+
) =>
59+
new(
60+
new Vectorizer.Text2MultiVecJinaAI
61+
{
62+
Model = model,
63+
BaseURL = baseURL,
64+
Dimensions = dimensions,
65+
VectorizeCollectionName = vectorizeCollectionName,
66+
}
67+
);
68+
69+
public static VectorConfigBuilder Multi2MultiVecJinaAI(
70+
string? baseURL = null,
5771
string? model = null,
72+
string[]? imageFields = null,
5873
string[]? textFields = null,
59-
bool? vectorizeCollectionName = null,
60-
Vectorizer.Multi2VecJinaAIWeights? weights = null
74+
Vectorizer.JinaAIWeights? weights = null,
75+
bool? vectorizeCollectionName = null
6176
) =>
6277
new(
63-
new Vectorizer.Multi2VecJinaAI
78+
new Vectorizer.Multi2MultiVecJinaAI
6479
{
6580
BaseURL = baseURL,
66-
Dimensions = dimensions,
67-
ImageFields = imageFields,
6881
Model = model,
82+
ImageFields = imageFields,
6983
TextFields = textFields,
70-
VectorizeCollectionName = vectorizeCollectionName,
7184
Weights = weights,
85+
VectorizeCollectionName = vectorizeCollectionName,
7286
}
7387
);
7488
}

src/Weaviate.Client/Configure/Vectorizer.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,5 +591,27 @@ public static VectorConfigBuilder Text2VecJinaAI(
591591
VectorizeCollectionName = vectorizeCollectionName,
592592
}
593593
);
594+
595+
public static VectorConfigBuilder Multi2VecJinaAI(
596+
string? model = null,
597+
string? baseURL = null,
598+
int? dimensions = null,
599+
string[]? imageFields = null,
600+
string[]? textFields = null,
601+
Vectorizer.JinaAIWeights? weights = null,
602+
bool? vectorizeCollectionName = null
603+
) =>
604+
new(
605+
new Vectorizer.Multi2VecJinaAI
606+
{
607+
Model = model,
608+
BaseURL = baseURL,
609+
Dimensions = dimensions,
610+
ImageFields = imageFields,
611+
TextFields = textFields,
612+
Weights = weights,
613+
VectorizeCollectionName = vectorizeCollectionName,
614+
}
615+
);
594616
}
595617
}

src/Weaviate.Client/Models/Vectorizer.Declarations.cs

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public partial record Multi2VecPalm : Multi2VecGoogle
136136
/// <summary>
137137
/// The weights configuration for JinaAI multi-media vectorization.
138138
/// </summary>
139-
public partial record Multi2VecJinaAIWeights
139+
public partial record JinaAIWeights
140140
{
141141
// Implicit constructor used
142142
}
@@ -153,6 +153,18 @@ public Multi2VecJinaAI()
153153
: base(IdentifierValue) { }
154154
}
155155

156+
/// <summary>
157+
/// The configuration for multi-media multi-vector vectorization using the Jina module.
158+
/// See the documentation for detailed usage.
159+
/// </summary>
160+
public partial record Multi2MultiVecJinaAI : VectorizerConfig
161+
{
162+
public const string IdentifierValue = "multi2multivec-jinaai";
163+
164+
public Multi2MultiVecJinaAI()
165+
: base(IdentifierValue) { }
166+
}
167+
156168
/// <summary>
157169
/// The weights configuration for VoyageAI multi-media vectorization.
158170
/// </summary>
@@ -258,11 +270,15 @@ public Text2VecJinaAI()
258270
}
259271

260272
/// <summary>
261-
/// Deprecated. Use Text2VecJinaAIConfig instead.
273+
/// The configuration for text multi-vector vectorization using the Jina module.
274+
/// See the documentation for detailed usage.
262275
/// </summary>
263-
public partial record Text2VecJinaConfig : Text2VecJinaAI
276+
public partial record Text2MultiVecJinaAI : VectorizerConfig
264277
{
265-
// Inherits constructor from Text2VecJinaAIConfig
278+
public const string IdentifierValue = "text2multivec-jinaai";
279+
280+
public Text2MultiVecJinaAI()
281+
: base(IdentifierValue) { }
266282
}
267283

268284
/// <summary>

src/Weaviate.Client/Models/Vectorizer.cs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public partial record Multi2VecGoogle
122122
public Multi2VecGoogleWeights? Weights { get; set; } = null;
123123
}
124124

125-
public partial record Multi2VecJinaAIWeights
125+
public partial record JinaAIWeights
126126
{
127127
public double[]? ImageFields { get; set; } = null;
128128
public double[]? TextFields { get; set; } = null;
@@ -136,7 +136,17 @@ public partial record Multi2VecJinaAI
136136
public string? Model { get; set; } = null;
137137
public string[]? TextFields { get; set; } = null;
138138
public bool? VectorizeCollectionName { get; set; } = null;
139-
public Multi2VecJinaAIWeights? Weights { get; set; } = null;
139+
public JinaAIWeights? Weights { get; set; } = null;
140+
}
141+
142+
public partial record Multi2MultiVecJinaAI
143+
{
144+
public string? BaseURL { get; set; } = null;
145+
public string? Model { get; set; } = null;
146+
public string[]? ImageFields { get; set; } = null;
147+
public string[]? TextFields { get; set; } = null;
148+
public JinaAIWeights? Weights { get; set; } = null;
149+
public bool? VectorizeCollectionName { get; set; } = null;
140150
}
141151

142152
public partial record Multi2VecVoyageAIWeights
@@ -231,10 +241,12 @@ public partial record Text2VecJinaAI
231241
public bool? VectorizeCollectionName { get; set; } = null;
232242
}
233243

234-
[Obsolete("Use Text2VecJinaAIConfig instead.")]
235-
public partial record Text2VecJinaConfig
244+
public partial record Text2MultiVecJinaAI
236245
{
237-
// Inherits all properties from Text2VecJinaAIConfig
246+
public string? Model { get; set; } = null;
247+
public string? BaseURL { get; set; } = null;
248+
public int? Dimensions { get; set; } = null;
249+
public bool? VectorizeCollectionName { get; set; } = null;
238250
}
239251

240252
public partial record Text2VecNvidia

src/Weaviate.Client/Models/Vectorizers/Factory.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ internal static class VectorizerConfigFactory
1818
{ Vectorizer.Multi2VecBind.IdentifierValue, typeof(Vectorizer.Multi2VecBind) },
1919
{ Vectorizer.Multi2VecGoogle.IdentifierValue, typeof(Vectorizer.Multi2VecGoogle) },
2020
{ Vectorizer.Multi2VecJinaAI.IdentifierValue, typeof(Vectorizer.Multi2VecJinaAI) },
21+
{
22+
Vectorizer.Multi2MultiVecJinaAI.IdentifierValue,
23+
typeof(Vectorizer.Multi2MultiVecJinaAI)
24+
},
2125
{ Vectorizer.Multi2VecVoyageAI.IdentifierValue, typeof(Vectorizer.Multi2VecVoyageAI) },
2226
{ Vectorizer.Ref2VecCentroid.IdentifierValue, typeof(Vectorizer.Ref2VecCentroid) },
2327
{ Vectorizer.Text2VecAWS.IdentifierValue, typeof(Vectorizer.Text2VecAWS) },
@@ -26,6 +30,7 @@ internal static class VectorizerConfigFactory
2630
{ Vectorizer.Text2VecDatabricks.IdentifierValue, typeof(Vectorizer.Text2VecDatabricks) },
2731
{ Vectorizer.Text2VecHuggingFace.IdentifierValue, typeof(Vectorizer.Text2VecHuggingFace) },
2832
{ Vectorizer.Text2VecJinaAI.IdentifierValue, typeof(Vectorizer.Text2VecJinaAI) },
33+
{ Vectorizer.Text2MultiVecJinaAI.IdentifierValue, typeof(Vectorizer.Text2MultiVecJinaAI) },
2934
{ Vectorizer.Text2VecNvidia.IdentifierValue, typeof(Vectorizer.Text2VecNvidia) },
3035
{ Vectorizer.Text2VecMistral.IdentifierValue, typeof(Vectorizer.Text2VecMistral) },
3136
{ Vectorizer.Text2VecModel2Vec.IdentifierValue, typeof(Vectorizer.Text2VecModel2Vec) },

0 commit comments

Comments
 (0)