@@ -60,31 +60,44 @@ public Float[] getFloatArray() {
6060 return embedding .toArray (new Float [0 ]);
6161 }
6262
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 ) {
6464 try {
65- List <Float > embedding = getEmbedding (embeddingInfo .getModel (), embeddingInfo .getDimensions (), text );
65+ List <Float > embedding = getEmbedding (embeddingInfo .getModel (), embeddingInfo .getDimensions (), text , messages );
6666 embeddingInfo .setEmbedding (embedding );
6767 }
6868 catch (Exception ex ) {
69- CommonUtil .ErrorToMessages ("GenerateEmbedding Error" , ex .getMessage (), Messages );
69+ CommonUtil .ErrorToMessages ("GenerateEmbedding Error" , ex .getMessage (), messages );
7070 }
7171 return embeddingInfo ;
7272 }
7373
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 ) {
7575 if (input .isEmpty ())
7676 return new ArrayList <>();
7777 ArrayList <String > inputList = new ArrayList <>();
7878 inputList .add (input );
79- return getEmbedding (model , dimensions , inputList );
79+ return getEmbedding (model , dimensions , inputList , messages );
8080 }
8181
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 ) {
8383 OpenAIRequest aiRequest = new OpenAIRequest ();
8484 aiRequest .setModel (model );
8585 aiRequest .setInput (inputList );
8686 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+
88101 if (aiResponse != null )
89102 return aiResponse .getData ().get (0 ).getEmbedding ().stream ()
90103 .map (Double ::floatValue )
0 commit comments