mirror of
https://github.com/katanemo/plano.git
synced 2026-04-29 10:56:35 +02:00
Introduce hermesllm library to handle llm message translation (#501)
This commit is contained in:
parent
96b583c819
commit
6c53510f49
33 changed files with 1693 additions and 690 deletions
|
|
@ -1,3 +1,4 @@
|
|||
use hermesllm::providers::openai::types::{ModelDetail, ModelObject, Models};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
use std::fmt::Display;
|
||||
|
|
@ -206,6 +207,29 @@ pub struct LlmProvider {
|
|||
pub usage: Option<String>,
|
||||
}
|
||||
|
||||
pub trait IntoModels {
|
||||
fn into_models(self) -> Models;
|
||||
}
|
||||
|
||||
impl IntoModels for Vec<LlmProvider> {
|
||||
fn into_models(self) -> Models {
|
||||
let data = self
|
||||
.iter()
|
||||
.map(|provider| ModelDetail {
|
||||
id: provider.name.clone(),
|
||||
object: "model".to_string(),
|
||||
created: 0,
|
||||
owned_by: "system".to_string(),
|
||||
})
|
||||
.collect();
|
||||
|
||||
Models {
|
||||
object: ModelObject::List,
|
||||
data,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for LlmProvider {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue