stone_mason/
meta.rs

1use crate::ModelVersion;
2use crate::ModelVersion::V1;
3use derive_builder::Builder;
4use serde::Serialize;
5use std::fmt::{Display, Error, Formatter};
6
7pub enum MetaModel {
8    Llama2Chat13B(ModelVersion),
9}
10
11impl Display for MetaModel {
12    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
13        match self {
14            MetaModel::Llama2Chat13B(v) if *v == V1 => write!(f, "llama2-13b-chat-v1"),
15            _ => Err(Error),
16        }
17    }
18}
19
20#[derive(Serialize, Builder)]
21#[builder(setter(strip_option))]
22pub struct MetaParams {
23    pub prompt: String,
24
25    #[builder(default = "None")]
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub temperature: Option<f32>,
28
29    #[builder(default = "None")]
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub top_p: Option<f32>,
32
33    #[builder(default = "None")]
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub max_gen_len: Option<i32>,
36}