reafctor: all code without stream
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
use crate::{api, core};
|
||||
|
||||
impl From<api::types::CompletionRequest> for core::llm::completions::CompletionRequest {
|
||||
fn from(m: api::types::CompletionRequest) -> Self {
|
||||
Self {
|
||||
model: m.model,
|
||||
prompt: m.prompt,
|
||||
options: core::llm::completions::CompletionOptions {
|
||||
temperature: m.options.temperature,
|
||||
keep_alive: m.options.keep_alive,
|
||||
num_ctx: m.options.num_ctx,
|
||||
top_p: m.options.top_p,
|
||||
top_k: m.options.top_k,
|
||||
seed: m.options.seed,
|
||||
num_predict: m.options.num_predict,
|
||||
stop: m.options.stop,
|
||||
stream: m.options.stream,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<api::types::ChatRequest> for core::llm::chat::ChatCompletionRequest {
|
||||
fn from(m: api::types::ChatRequest) -> Self {
|
||||
Self {
|
||||
model: m.model,
|
||||
message: m.message.into(),
|
||||
options: core::llm::chat::ChatCompletionOptions {
|
||||
temperature: m.base.temperature,
|
||||
keep_alive: m.base.keep_alive,
|
||||
num_ctx: m.base.num_ctx,
|
||||
top_p: m.base.top_p,
|
||||
top_k: m.base.top_k,
|
||||
seed: m.base.seed,
|
||||
num_predict: m.base.num_predict,
|
||||
stop: m.base.stop,
|
||||
stream: m.base.stream,
|
||||
context_depth: m.base.context_depth.unwrap_or(10),
|
||||
},
|
||||
conversation_id: m.conversation_id,
|
||||
parent_id: m.parent_id,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<api::types::Message> for core::llm::chat::Message {
|
||||
fn from(m: api::types::Message) -> Self {
|
||||
Self {
|
||||
role: match m.role {
|
||||
api::types::Role::System => core::llm::ChatRole::System,
|
||||
api::types::Role::User => core::llm::ChatRole::User,
|
||||
api::types::Role::Assistant => core::llm::ChatRole::Assistant,
|
||||
},
|
||||
content: m.content,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<api::types::ApiKeyScope> for core::auth::api_key::KeyRole {
|
||||
fn from(role: api::types::ApiKeyScope) -> Self {
|
||||
match role {
|
||||
api::types::ApiKeyScope::User => core::auth::api_key::KeyRole::User,
|
||||
api::types::ApiKeyScope::Admin => core::auth::api_key::KeyRole::Admin,
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user