🔧 fix(xinference): update Document type to 'any' for flexibility

- Changed the type of `Document` in `XinRerankResponseDocument` from `string` to `any` to accommodate various data types.
- Updated the `RerankHandler` to handle `Document` as `any`, ensuring proper assignment based on its actual type.

These modifications enhance the handling of document data, allowing for greater versatility in response structures.
This commit is contained in:
CaIon
2025-06-25 18:04:34 +08:00
parent 5a6f32c392
commit 0689670698
2 changed files with 11 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
package xinference package xinference
type XinRerankResponseDocument struct { type XinRerankResponseDocument struct {
Document string `json:"document,omitempty"` Document any `json:"document,omitempty"`
Index int `json:"index"` Index int `json:"index"`
RelevanceScore float64 `json:"relevance_score"` RelevanceScore float64 `json:"relevance_score"`
} }

View File

@@ -38,10 +38,16 @@ func RerankHandler(c *gin.Context, info *relaycommon.RelayInfo, resp *http.Respo
} }
if info.ReturnDocuments { if info.ReturnDocuments {
var document any var document any
if result.Document == "" { if result.Document != nil {
document = info.Documents[result.Index] if doc, ok := result.Document.(string); ok {
} else { if doc == "" {
document = result.Document document = info.Documents[result.Index]
} else {
document = doc
}
} else {
document = result.Document
}
} }
respResult.Document = document respResult.Document = document
} }