@@ -60,31 +60,44 @@ public Float[] getFloatArray() {
60
60
return embedding .toArray (new Float [0 ]);
61
61
}
62
62
63
- public static GXEmbedding generateEmbedding (GXEmbedding embeddingInfo , String text , GXBaseCollection <SdtMessages_Message > Messages ) {
63
+ public static GXEmbedding generateEmbedding (GXEmbedding embeddingInfo , String text , GXBaseCollection <SdtMessages_Message > messages ) {
64
64
try {
65
- List <Float > embedding = getEmbedding (embeddingInfo .getModel (), embeddingInfo .getDimensions (), text );
65
+ List <Float > embedding = getEmbedding (embeddingInfo .getModel (), embeddingInfo .getDimensions (), text , messages );
66
66
embeddingInfo .setEmbedding (embedding );
67
67
}
68
68
catch (Exception ex ) {
69
- CommonUtil .ErrorToMessages ("GenerateEmbedding Error" , ex .getMessage (), Messages );
69
+ CommonUtil .ErrorToMessages ("GenerateEmbedding Error" , ex .getMessage (), messages );
70
70
}
71
71
return embeddingInfo ;
72
72
}
73
73
74
- public static List <Float > getEmbedding (String model , int dimensions , String input ) {
74
+ public static List <Float > getEmbedding (String model , int dimensions , String input , GXBaseCollection < SdtMessages_Message > messages ) {
75
75
if (input .isEmpty ())
76
76
return new ArrayList <>();
77
77
ArrayList <String > inputList = new ArrayList <>();
78
78
inputList .add (input );
79
- return getEmbedding (model , dimensions , inputList );
79
+ return getEmbedding (model , dimensions , inputList , messages );
80
80
}
81
81
82
- public static List <Float > getEmbedding (String model , int dimensions , ArrayList <String > inputList ) {
82
+ public static List <Float > getEmbedding (String model , int dimensions , ArrayList <String > inputList , GXBaseCollection < SdtMessages_Message > messages ) {
83
83
OpenAIRequest aiRequest = new OpenAIRequest ();
84
84
aiRequest .setModel (model );
85
85
aiRequest .setInput (inputList );
86
86
aiRequest .setDimension (dimensions );
87
- OpenAIResponse aiResponse = SaiaService .call (aiRequest , true , new CallResult ());
87
+ CallResult callResult = new CallResult ();
88
+ OpenAIResponse aiResponse = SaiaService .call (aiRequest , true , callResult );
89
+
90
+ int i = 0 ;
91
+ while ( i < callResult .getMessages ().size () )
92
+ {
93
+ SdtMessages_Message message = new SdtMessages_Message ();
94
+ message .setgxTv_SdtMessages_Message_Id (callResult .getMessages ().elementAt (i ).getgxTv_SdtMessages_Message_Id ());
95
+ message .setgxTv_SdtMessages_Message_Type (callResult .getMessages ().elementAt (i ).getgxTv_SdtMessages_Message_Type ());
96
+ message .setgxTv_SdtMessages_Message_Description (callResult .getMessages ().elementAt (i ).getgxTv_SdtMessages_Message_Description ());
97
+ messages .add (message );
98
+ i ++ ;
99
+ }
100
+
88
101
if (aiResponse != null )
89
102
return aiResponse .getData ().get (0 ).getEmbedding ().stream ()
90
103
.map (Double ::floatValue )
0 commit comments