summaryrefslogtreecommitdiffstats
path: root/src/client.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-03-09 10:39:28 +0800
committerGitHub <noreply@github.com>2023-03-09 10:39:28 +0800
commita62e461e38482ade15c6826e656393d5f867488a (patch)
treebb8c0d76e6863e761f273059744bee722c0ab260 /src/client.rs
parenta7f2da156c0692121e35dbe20bdacc76baadd5c4 (diff)
downloadaichat-a62e461e38482ade15c6826e656393d5f867488a.tar.gz
feat: support conversation (#48)
Diffstat (limited to 'src/client.rs')
-rw-r--r--src/client.rs15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/client.rs b/src/client.rs
index 960af0c..18ee97c 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -70,7 +70,7 @@ impl ChatGptClient {
async fn send_message_inner(&self, content: &str) -> Result<String> {
if self.config.lock().dry_run {
- return Ok(self.config.lock().merge_prompt(content));
+ return Ok(self.config.lock().echo_messages(content));
}
let builder = self.request_builder(content, false)?;
@@ -89,7 +89,7 @@ impl ChatGptClient {
handler: &mut ReplyStreamHandler,
) -> Result<()> {
if self.config.lock().dry_run {
- handler.text(&self.config.lock().merge_prompt(content))?;
+ handler.text(&self.config.lock().echo_messages(content))?;
return Ok(());
}
let builder = self.request_builder(content, true)?;
@@ -133,16 +133,7 @@ impl ChatGptClient {
}
fn request_builder(&self, content: &str, stream: bool) -> Result<RequestBuilder> {
- let user_message = json!({ "role": "user", "content": content });
- let messages = match self.config.lock().get_prompt() {
- Some(prompt) => {
- let system_message = json!({ "role": "system", "content": prompt.trim() });
- json!([system_message, user_message])
- }
- None => {
- json!([user_message])
- }
- };
+ let messages = self.config.lock().build_messages(content);
let mut body = json!({
"model": MODEL,
"messages": messages,