Files
herolib/lib/clients/jina/jina_client_test.v
Mahmoud Emad 0e1836c5d0 feat: Add reranking functionality to Jina client
- Added a new `rerank` function to the Jina client for reranking documents.
- Added a new `RerankParams` struct to define parameters for reranking.
- Added unit tests for the new `rerank` function.
- Updated the example script to demonstrate reranking.
- Improved error handling and added more comprehensive logging.
2025-03-11 19:27:01 +02:00

37 lines
924 B
V

module jina
import time
fn setup_client() !&Jina {
mut client := get()!
return client
}
fn test_create_embeddings() {
time.sleep(1 * time.second)
mut client := setup_client()!
embeddings := client.create_embeddings(
input: ['Hello', 'World']
model: .jina_embeddings_v3
task: 'separation'
) or { panic('Error while creating embeddings: ${err}') }
assert embeddings.data.len > 0
assert embeddings.object == 'list' // Check the object type
assert embeddings.model == 'jina-embeddings-v3'
}
fn test_rerank() {
time.sleep(1 * time.second)
mut client := setup_client()!
rerank_result := client.rerank(
model: .reranker_v2_base_multilingual
query: 'skincare products'
documents: ['Product A', 'Product B', 'Product C']
top_n: 2
) or { panic('Error while reranking: ${err}') }
assert rerank_result.results.len == 2
assert rerank_result.model == 'jina-reranker-v2-base-multilingual'
}