package main
import (
"context"
"fmt"
vikat "vikat.local/core"
"vikat.local/core/schemas"
)
func main() {
client, err := vikat.Init(context.Background(), schemas.VikatConfig{
Account: &MyAccount{},
})
if err != nil {
panic(err)
}
defer client.Shutdown()
request := &schemas.VikatRerankRequest{
Provider: schemas.Cohere,
Model: "rerank-v3.5",
Query: "What is Vikat?",
Documents: []schemas.RerankDocument{
{Text: "Vikat is an AI gateway that unifies many LLM providers."},
{Text: "Paris is the capital of France."},
{Text: "Vikat exposes an OpenAI-compatible API."},
},
Params: &schemas.RerankParameters{
TopN: vikat.Ptr(2),
ReturnDocuments: vikat.Ptr(true),
},
}
resp, bfErr := client.RerankRequest(schemas.NewVikatContext(context.Background(), schemas.NoDeadline), request)
if bfErr != nil {
panic(bfErr.Error.Message)
}
for _, result := range resp.Results {
fmt.Printf("index=%d score=%.4f\n", result.Index, result.RelevanceScore)
}
}