21
21
import com .langmem .mem4j .configs .MemoryConfig ;
22
22
import org .slf4j .Logger ;
23
23
import org .slf4j .LoggerFactory ;
24
+ import org .springframework .context .annotation .Primary ;
24
25
import org .springframework .http .HttpEntity ;
25
26
import org .springframework .http .HttpHeaders ;
26
27
import org .springframework .http .MediaType ;
39
40
*/
40
41
41
42
@ Service
43
+ @ Primary
42
44
public class DashScopeEmbeddingService implements EmbeddingService {
43
45
44
46
private static final Logger logger = LoggerFactory .getLogger (DashScopeEmbeddingService .class );
@@ -64,7 +66,7 @@ public DashScopeEmbeddingService(MemoryConfig config) {
64
66
}
65
67
66
68
@ Override
67
- public double [] embed (String text ) {
69
+ public Double [] embed (String text ) {
68
70
try {
69
71
Map <String , Object > requestBody = new HashMap <>();
70
72
requestBody .put ("model" , model );
@@ -88,7 +90,7 @@ public double[] embed(String text) {
88
90
JsonNode firstEmbedding = embeddings .get (0 );
89
91
JsonNode embeddingArray = firstEmbedding .path ("embedding" );
90
92
91
- double [] result = new double [embeddingArray .size ()];
93
+ Double [] result = new Double [embeddingArray .size ()];
92
94
for (int i = 0 ; i < embeddingArray .size (); i ++) {
93
95
result [i ] = embeddingArray .get (i ).asDouble ();
94
96
}
@@ -104,7 +106,7 @@ public double[] embed(String text) {
104
106
}
105
107
106
108
@ Override
107
- public double [][] embed (String [] texts ) {
109
+ public Double [][] embed (String [] texts ) {
108
110
try {
109
111
Map <String , Object > requestBody = new HashMap <>();
110
112
requestBody .put ("model" , model );
@@ -124,10 +126,10 @@ public double[][] embed(String[] texts) {
124
126
JsonNode responseJson = objectMapper .readTree (response .getBody ());
125
127
JsonNode embeddings = responseJson .path ("output" ).path ("embeddings" );
126
128
127
- double [][] result = new double [embeddings .size ()][];
129
+ Double [][] result = new Double [embeddings .size ()][];
128
130
for (int i = 0 ; i < embeddings .size (); i ++) {
129
131
JsonNode embeddingArray = embeddings .get (i ).path ("embedding" );
130
- result [i ] = new double [embeddingArray .size ()];
132
+ result [i ] = new Double [embeddingArray .size ()];
131
133
for (int j = 0 ; j < embeddingArray .size (); j ++) {
132
134
result [i ][j ] = embeddingArray .get (j ).asDouble ();
133
135
}
@@ -142,12 +144,12 @@ public double[][] embed(String[] texts) {
142
144
}
143
145
144
146
@ Override
145
- public int getDimension () {
147
+ public Integer getDimension () {
146
148
return dimension ;
147
149
}
148
150
149
151
@ Override
150
- public boolean isAvailable () {
152
+ public Boolean isAvailable () {
151
153
try {
152
154
// Simple test to check if service is available
153
155
embed ("test" );
0 commit comments