handling unescaped json marshaling

This commit is contained in:
Arne Müller 2023-10-16 11:15:55 +02:00
parent 06bcfbd629
commit ee94693b1a

View file

@ -544,11 +544,18 @@ func (llm *llama) Predict(ctx context.Context, prevContext []int, prompt string,
Stop: llm.Stop,
}
data, err := json.Marshal(predReq)
if err != nil {
return fmt.Errorf("error marshaling data: %v", err)
// Handling JSON marshaling with special characters unescaped.
buf := &bytes.Buffer{}
enc := json.NewEncoder(buf)
enc.SetEscapeHTML(false)
if err := enc.Encode(predReq); err != nil {
return fmt.Errorf("failed to marshal data: %v", err)
}
// Remove trailing newline added by Encode.
data := buf.Bytes()[:buf.Len()-1]
req, err := http.NewRequestWithContext(ctx, http.MethodPost, endpoint, bytes.NewBuffer(data))
if err != nil {
return fmt.Errorf("error creating POST request: %v", err)