plano/crates/hermesllm/src/lib.rs

35 lines
1.1 KiB
Rust
Raw Normal View History

2025-05-29 13:33:41 -07:00
//! hermesllm: A library for translating LLM API requests and responses
//! between Mistral, Grok, Gemini, and OpenAI-compliant formats.
2025-06-02 23:57:03 -07:00
pub mod providers;
2025-05-29 13:33:41 -07:00
#[cfg(test)]
mod tests {
2025-06-03 15:00:57 -07:00
use crate::providers::openai::types::ChatCompletionsRequest;
2025-05-29 13:33:41 -07:00
#[test]
2025-06-02 23:57:03 -07:00
fn openai_builder() {
2025-06-03 15:00:57 -07:00
let request = ChatCompletionsRequest::builder("gpt-3.5-turbo", vec![])
2025-06-02 23:57:03 -07:00
.temperature(0.7)
.top_p(0.9)
.n(1)
.max_tokens(100)
.stream(false)
.stop(vec!["\n".to_string()])
.presence_penalty(0.0)
.frequency_penalty(0.0)
2025-06-03 00:17:22 -07:00
.build()
.expect("Failed to build OpenAIRequest");
2025-06-02 23:57:03 -07:00
2025-06-03 15:00:57 -07:00
assert_eq!(request.model, "gpt-3.5-turbo");
assert_eq!(request.temperature, Some(0.7));
assert_eq!(request.top_p, Some(0.9));
assert_eq!(request.n, Some(1));
assert_eq!(request.max_tokens, Some(100));
assert_eq!(request.stream, Some(false));
assert_eq!(request.stop, Some(vec!["\n".to_string()]));
assert_eq!(request.presence_penalty, Some(0.0));
assert_eq!(request.frequency_penalty, Some(0.0));
2025-05-29 13:33:41 -07:00
}
}