feat: Add classifier listing functionality
- Added a new function to list available classifiers. - Extended the Jina client with `list_classifiers()` method. - Added unit tests to verify the new functionality.
This commit is contained in:
@@ -55,3 +55,6 @@ classify_result := jina_client.classify(
|
||||
) or { panic('Error while classifying: ${err}') }
|
||||
|
||||
println('Classification result: ${classify_result}')
|
||||
|
||||
classifiers := jina_client.list_classifiers() or { panic('Error fetching classifiers: ${err}') }
|
||||
println('Classifiers: ${classifiers}')
|
||||
|
||||
@@ -260,3 +260,32 @@ pub fn (mut j Jina) classify(params ClassifyParams) !ClassificationOutput {
|
||||
result := json.decode(ClassificationOutput, response)!
|
||||
return result
|
||||
}
|
||||
|
||||
// Define the Classifier struct
|
||||
pub struct Classifier {
|
||||
pub mut:
|
||||
classifier_id string
|
||||
model_name string
|
||||
labels []string
|
||||
access string
|
||||
updated_number int
|
||||
used_number int
|
||||
created_at string
|
||||
updated_at string
|
||||
used_at ?string
|
||||
metadata map[string]string
|
||||
}
|
||||
|
||||
// Implement the list_classifiers function
|
||||
pub fn (mut j Jina) list_classifiers() ![]Classifier {
|
||||
req := httpconnection.Request{
|
||||
method: .get
|
||||
prefix: 'v1/classifiers'
|
||||
}
|
||||
|
||||
mut httpclient := j.httpclient()!
|
||||
response := httpclient.get(req)!
|
||||
println('response: ${response}')
|
||||
classifiers := json.decode([]Classifier, response)!
|
||||
return classifiers
|
||||
}
|
||||
|
||||
@@ -78,3 +78,10 @@ fn test_classify() {
|
||||
assert classify_result.data[0].object == 'classification'
|
||||
assert classify_result.data[1].object == 'classification'
|
||||
}
|
||||
|
||||
fn test_get_classifiers() {
|
||||
time.sleep(1 * time.second)
|
||||
mut client := setup_client()!
|
||||
classifiers := client.list_classifiers() or { panic('Error fetching classifiers: ${err}') }
|
||||
assert classifiers.len != 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user