From 35c75506e2fd94e2285d8a3cb66208d518d5f992 Mon Sep 17 00:00:00 2001 From: sigoden Date: Mon, 27 Nov 2023 14:04:50 +0800 Subject: feat: support vision (#249) * feat: support vision * clippy * implement vision * resolve data url to local file * add model openai:gpt-4-vision-preview * use newline to concate embeded text files * set max_tokens for gpt-4-vision-preview --- src/utils/mod.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/utils/mod.rs') diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 0039298..8a80b23 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -8,6 +8,8 @@ pub use self::clipboard::set_text; pub use self::prompt_input::*; pub use self::tiktoken::cl100k_base_singleton; +use sha2::{Digest, Sha256}; + pub fn now() -> String { let now = chrono::Local::now(); now.to_rfc3339_opts(chrono::SecondsFormat::Secs, false) @@ -76,6 +78,13 @@ pub fn init_tokio_runtime() -> anyhow::Result { .with_context(|| "Failed to init tokio") } +pub fn sha256sum(input: &str) -> String { + let mut hasher = Sha256::new(); + hasher.update(input); + let result = hasher.finalize(); + format!("{:x}", result) +} + #[cfg(test)] mod tests { use super::*; -- cgit v1.2.3