This commit is contained in:
+23
-14
@@ -280,7 +280,11 @@ func (a *App) searchMedia(c *gin.Context) {
|
||||
}
|
||||
|
||||
a.Hub.Broadcast("progress", gin.H{"type": "search", "status": "ranking thumbnail candidates", "progress": 55})
|
||||
scored := rankSearchResults(req.Query, results)
|
||||
rankQuery := req.Query
|
||||
if len(queryVariants) > 0 {
|
||||
rankQuery = strings.Join(queryVariants[:min(len(queryVariants), 3)], " ")
|
||||
}
|
||||
scored := rankSearchResults(rankQuery, results)
|
||||
shortlist := scored[:min(len(scored), 10)]
|
||||
a.Hub.Broadcast("progress", gin.H{"type": "search", "status": "analyzing shortlisted thumbnails with Gemini Vision", "progress": 75})
|
||||
recommended, err := a.GeminiService.Recommend(req.Query, shortlist)
|
||||
@@ -288,12 +292,13 @@ func (a *App) searchMedia(c *gin.Context) {
|
||||
fallback := make([]services.AIRecommendation, 0, min(20, len(scored)))
|
||||
for _, result := range scored[:min(20, len(scored))] {
|
||||
fallback = append(fallback, services.AIRecommendation{
|
||||
Title: result.Title,
|
||||
Link: result.Link,
|
||||
ThumbnailURL: result.ThumbnailURL,
|
||||
Source: result.Source,
|
||||
Reason: "Keyword-ranked result added without extra Gemini vision tokens.",
|
||||
Recommended: true,
|
||||
Title: result.Title,
|
||||
Link: result.Link,
|
||||
ThumbnailURL: result.ThumbnailURL,
|
||||
PreviewVideoURL: result.PreviewVideoURL,
|
||||
Source: result.Source,
|
||||
Reason: "Keyword-ranked result added without extra Gemini vision tokens.",
|
||||
Recommended: true,
|
||||
})
|
||||
}
|
||||
warning := err.Error()
|
||||
@@ -379,9 +384,12 @@ func rankSearchResults(query string, results []services.SearchResult) []services
|
||||
if result.ThumbnailURL != "" {
|
||||
score += 2
|
||||
}
|
||||
if result.PreviewVideoURL != "" {
|
||||
score += 3
|
||||
}
|
||||
switch result.Source {
|
||||
case "Google Video":
|
||||
score += 1
|
||||
score -= 1
|
||||
case "Envato":
|
||||
score += 7
|
||||
case "Artgrid":
|
||||
@@ -419,12 +427,13 @@ func mergeRecommendations(recommended []services.AIRecommendation, ranked []serv
|
||||
}
|
||||
seen[item.Link] = true
|
||||
merged = append(merged, services.AIRecommendation{
|
||||
Title: item.Title,
|
||||
Link: item.Link,
|
||||
ThumbnailURL: item.ThumbnailURL,
|
||||
Source: item.Source,
|
||||
Reason: "Keyword-ranked result added without extra Gemini vision tokens.",
|
||||
Recommended: true,
|
||||
Title: item.Title,
|
||||
Link: item.Link,
|
||||
ThumbnailURL: item.ThumbnailURL,
|
||||
PreviewVideoURL: item.PreviewVideoURL,
|
||||
Source: item.Source,
|
||||
Reason: "Keyword-ranked result added without extra Gemini vision tokens.",
|
||||
Recommended: true,
|
||||
})
|
||||
}
|
||||
return merged
|
||||
|
||||
Reference in New Issue
Block a user