diff options
| author | sigoden <sigoden@gmail.com> | 2023-11-27 14:04:50 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-27 14:04:50 +0800 |
| commit | 35c75506e2fd94e2285d8a3cb66208d518d5f992 (patch) | |
| tree | 97fb643bb5e231022442c1cc617f2daeaa152a66 /src/client/ernie.rs | |
| parent | 5bfe95d31110e75e84626598f033805b0ae4326c (diff) | |
| download | aichat-35c75506e2fd94e2285d8a3cb66208d518d5f992.tar.gz | |
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
Diffstat (limited to 'src/client/ernie.rs')
| -rw-r--r-- | src/client/ernie.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/client/ernie.rs b/src/client/ernie.rs index 200433c..4bb3435 100644 --- a/src/client/ernie.rs +++ b/src/client/ernie.rs @@ -1,4 +1,4 @@ -use super::{ErnieClient, Client, ExtraConfig, PromptType, SendData, Model}; +use super::{ErnieClient, Client, ExtraConfig, PromptType, SendData, Model, MessageContent}; use crate::{ config::GlobalConfig, @@ -198,8 +198,10 @@ fn build_body(data: SendData, _model: String) -> Value { if messages[0].role.is_system() { let system_message = messages.remove(0); - if let Some(message) = messages.get_mut(0) { - message.content = format!("{}\n\n{}", system_message.content, message.content) + if let (Some(message), MessageContent::Text(system_text)) = (messages.get_mut(0), system_message.content) { + if let MessageContent::Text(text) = message.content.clone() { + message.content = MessageContent::Text(format!("{}\n\n{}", system_text, text)) + } } } |
