feat: Implement RequestConfig validation
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
use llm_worker::llm_client::LlmClient;
|
||||
use llm_worker::llm_client::providers::openai::OpenAIClient;
|
||||
use llm_worker::{Worker, WorkerError};
|
||||
|
||||
#[test]
|
||||
fn test_openai_top_k_warning() {
|
||||
// ダミーキーでクライアント作成(validate_configは通信しないため安全)
|
||||
let client = OpenAIClient::new("dummy-key", "gpt-4o");
|
||||
|
||||
// top_kを設定したWorkerを作成
|
||||
let worker = Worker::new(client).top_k(50); // OpenAIはtop_k非対応
|
||||
|
||||
// validate()を実行
|
||||
let result = worker.validate();
|
||||
|
||||
// エラーが返り、ConfigWarningsが含まれていることを確認
|
||||
match result {
|
||||
Err(WorkerError::ConfigWarnings(warnings)) => {
|
||||
assert_eq!(warnings.len(), 1);
|
||||
assert_eq!(warnings[0].option_name, "top_k");
|
||||
println!("Got expected warning: {}", warnings[0]);
|
||||
}
|
||||
Ok(_) => panic!("Should have returned validation error"),
|
||||
Err(e) => panic!("Unexpected error type: {:?}", e),
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_openai_valid_config() {
|
||||
let client = OpenAIClient::new("dummy-key", "gpt-4o");
|
||||
|
||||
// validな設定(temperatureのみ)
|
||||
let worker = Worker::new(client).temperature(0.7);
|
||||
|
||||
// validate()を実行
|
||||
let result = worker.validate();
|
||||
|
||||
// 成功を確認
|
||||
assert!(result.is_ok());
|
||||
}
|
||||
Reference in New Issue
Block a user