MCPcopy Create free account
hub / github.com/evilsocket/cake / deserialize

Method deserialize

cake-core/src/models/common/config.rs:22–45  ·  view source on GitHub ↗
(deserializer: D)

Source from the content-addressed store, hash-verified

20
21impl<'de> serde::Deserialize<'de> for EosTokenId {
22 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
23 where
24 D: Deserializer<'de>,
25 {
26 let value = serde_json::Value::deserialize(deserializer)?;
27 match value {
28 serde_json::Value::Number(n) => n
29 .as_u64()
30 .map(|v| EosTokenId::Single(v as u32))
31 .ok_or_else(|| de::Error::custom("expected u32 for eos_token_id")),
32 serde_json::Value::Array(arr) => {
33 let ids: std::result::Result<Vec<u32>, _> = arr
34 .iter()
35 .map(|v| {
36 v.as_u64()
37 .map(|n| n as u32)
38 .ok_or_else(|| de::Error::custom("expected u32 in eos_token_id array"))
39 })
40 .collect();
41 ids.map(EosTokenId::Multiple)
42 }
43 _ => Err(de::Error::custom("expected u32 or array for eos_token_id")),
44 }
45 }
46}
47
48/// RoPE scaling configuration for models with extended context (e.g. LLaMA 3.1+).

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected