mirror of
https://github.com/katanemo/plano.git
synced 2026-05-15 11:02:39 +02:00
system prompt (keep system prompt at the top) (#139)
* add system prompt * fix
This commit is contained in:
parent
422efd3887
commit
43dc2a0a73
1 changed files with 23 additions and 21 deletions
|
|
@ -622,7 +622,7 @@ impl StreamContext {
|
|||
fn function_call_response_handler(
|
||||
&mut self,
|
||||
body: Vec<u8>,
|
||||
callout_context: StreamCallContext,
|
||||
mut callout_context: StreamCallContext,
|
||||
) {
|
||||
if let Some(http_status) = self.get_http_call_response_header(":status") {
|
||||
if http_status != StatusCode::OK.as_str() {
|
||||
|
|
@ -651,7 +651,28 @@ impl StreamContext {
|
|||
.unwrap()
|
||||
.clone();
|
||||
|
||||
let mut messages: Vec<Message> = callout_context.request_body.messages.clone();
|
||||
let mut messages: Vec<Message> = Vec::new();
|
||||
|
||||
// add system prompt
|
||||
let system_prompt = match prompt_target.system_prompt.as_ref() {
|
||||
None => match self.system_prompt.as_ref() {
|
||||
None => None,
|
||||
Some(system_prompt) => Some(system_prompt.clone()),
|
||||
},
|
||||
Some(system_prompt) => Some(system_prompt.clone()),
|
||||
};
|
||||
if system_prompt.is_some() {
|
||||
let system_prompt_message = Message {
|
||||
role: SYSTEM_ROLE.to_string(),
|
||||
content: system_prompt,
|
||||
model: None,
|
||||
tool_calls: None,
|
||||
};
|
||||
messages.push(system_prompt_message);
|
||||
}
|
||||
|
||||
messages.append(callout_context.request_body.messages.as_mut());
|
||||
|
||||
let user_message = match messages.pop() {
|
||||
Some(user_message) => user_message,
|
||||
None => {
|
||||
|
|
@ -664,25 +685,6 @@ impl StreamContext {
|
|||
}
|
||||
};
|
||||
|
||||
// add system prompt
|
||||
let system_prompt = match prompt_target.system_prompt.as_ref() {
|
||||
None => match self.system_prompt.as_ref() {
|
||||
None => None,
|
||||
Some(system_prompt) => Some(system_prompt.clone()),
|
||||
},
|
||||
Some(system_prompt) => Some(system_prompt.clone()),
|
||||
};
|
||||
|
||||
if system_prompt.is_some() {
|
||||
let system_prompt_message = Message {
|
||||
role: SYSTEM_ROLE.to_string(),
|
||||
content: system_prompt,
|
||||
model: None,
|
||||
tool_calls: None,
|
||||
};
|
||||
messages.push(system_prompt_message);
|
||||
}
|
||||
|
||||
let final_prompt = format!(
|
||||
"{}\nhere is context: {}",
|
||||
user_message.content.unwrap(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue