@@ -23,6 +23,7 @@ import (
2323 "github.com/beego/beego/context"
2424 "github.com/the-open-agent/openagent/conf"
2525 "github.com/the-open-agent/openagent/embedding"
26+ "github.com/the-open-agent/openagent/i18n"
2627 "github.com/the-open-agent/openagent/model"
2728 "github.com/the-open-agent/openagent/object"
2829 "github.com/the-open-agent/openagent/util"
@@ -46,10 +47,16 @@ func (c *ApiController) GetMessageAnswer() {
4647}
4748
4849func (c * ApiController ) generateMessageAnswer (id string , responseWriter http.ResponseWriter , host string ) {
49- lang := c .GetAcceptLanguage ()
50+ _ , signedIn := c .CheckSignedIn ()
51+ generateMessageAnswer (id , responseWriter , host , c .GetAcceptLanguage (), signedIn , c .ResponseError )
52+ }
53+
54+ func generateMessageAnswer (id string , responseWriter http.ResponseWriter , host string , lang string , signedIn bool , responseError func (string , ... interface {})) {
5055 responseErrorStream := func (message * object.Message , errorText string ) {
5156 if err := writeMessageErrorStream (responseWriter , lang , message , errorText ); err != nil {
52- c .ResponseError (err .Error ())
57+ if responseError != nil {
58+ responseError (err .Error ())
59+ }
5360 }
5461 }
5562
@@ -107,7 +114,7 @@ func (c *ApiController) generateMessageAnswer(id string, responseWriter http.Res
107114 KnowledgeCount : 10 ,
108115 }
109116 } else {
110- responseErrorStream (message , fmt .Sprintf (c . T ( "account:The store: %s is not found" ), chat .Store ))
117+ responseErrorStream (message , fmt .Sprintf (i18n . Translate ( lang , "account:The store: %s is not found" ), chat .Store ))
111118 return
112119 }
113120 }
@@ -166,8 +173,7 @@ func (c *ApiController) generateMessageAnswer(id string, responseWriter http.Res
166173 return
167174 }
168175
169- _ , ok := c .CheckSignedIn ()
170- if ! ok {
176+ if ! signedIn {
171177 var count int
172178 count , err = object .GetNearMessageCount (message .User , store .LimitMinutes )
173179 if err != nil {
@@ -222,7 +228,7 @@ func (c *ApiController) generateMessageAnswer(id string, responseWriter http.Res
222228 if chat .Tool == "" && store .KnowledgeCount != 0 {
223229 knowledge , vectorScores , embeddingResult , err = object .GetNearestKnowledge (store .Name , store .VectorStores , store .SearchProvider , embeddingProvider , embeddingProviderObj , modelProvider , store .Owner , question , store .KnowledgeCount , lang )
224230 if err != nil && err .Error () != "no knowledge vectors found" {
225- err = fmt .Errorf (c . T ( "message_answer:object.GetNearestKnowledge() error, %s" ), err .Error ())
231+ err = fmt .Errorf (i18n . Translate ( lang , "message_answer:object.GetNearestKnowledge() error, %s" ), err .Error ())
226232 responseErrorStream (message , err .Error ())
227233 return
228234 }
@@ -293,7 +299,9 @@ func (c *ApiController) generateMessageAnswer(id string, responseWriter http.Res
293299 }
294300 if err != nil {
295301 if strings .Contains (err .Error (), "write tcp" ) {
296- c .ResponseError (err .Error ())
302+ if responseError != nil {
303+ responseError (err .Error ())
304+ }
297305 return
298306 }
299307 responseErrorStream (message , err .Error ())
0 commit comments