The other prerequisite seems to be not using a `prompt` (`prompt: null`), but we already supported this. It'd be nice to add an optional `max_completion_tokens` parameter as well, for the benefit of the o1 models, but this is not yet supported by async-openai. Possibly tracked here: https://github.com/64bit/async-openai/issues/272
27 lines
723 B
Rust
27 lines
723 B
Rust
// Groq is based on openai_compat, because it's not fully compatible with async-openai.
|
|
|
|
use super::openai_compat::Config;
|
|
|
|
pub fn default_config() -> Config {
|
|
let mut config = Config {
|
|
base_url: "https://api.groq.com/openai/v1".to_owned(),
|
|
|
|
text_to_speech: None,
|
|
image_generation: None,
|
|
|
|
..Default::default()
|
|
};
|
|
|
|
if let Some(ref mut config) = config.text_generation.as_mut() {
|
|
config.model_id = "llama3-70b-8192".to_owned();
|
|
config.max_context_tokens = 131_072;
|
|
config.max_response_tokens = Some(4096);
|
|
}
|
|
|
|
if let Some(ref mut config) = config.speech_to_text.as_mut() {
|
|
config.model_id = "whisper-large-v3".to_owned();
|
|
}
|
|
|
|
config
|
|
}
|