File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- use crate :: openai:: { completions, Message } ;
1+ use crate :: openai:: { completions, Message , Role } ;
22
33#[ derive( Default ) ]
44pub struct Chat {
@@ -8,14 +8,14 @@ pub struct Chat {
88impl Chat {
99 pub fn send ( & mut self , input : & str ) -> Result < & str , ureq:: Error > {
1010 self . messages . push ( Message {
11- role : "user" . to_string ( ) ,
11+ role : Role :: User ,
1212 content : input. to_string ( ) ,
1313 } ) ;
1414
1515 let completions = completions ( & self . messages ) ?;
1616
1717 self . messages . push ( Message {
18- role : "assistant" . to_string ( ) ,
18+ role : Role :: Assistant ,
1919 content : completions. choices [ 0 ] . message . content . to_string ( ) ,
2020 } ) ;
2121
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ const OPENAI_TOKEN: &str = include_str!("../../../.openai-token");
44
55#[ derive( Serialize ) ]
66pub struct Request < ' a > {
7- pub model : String ,
7+ pub model : & ' static str ,
88 pub messages : & ' a [ Message ] ,
99 pub temperature : f32 ,
1010}
@@ -19,15 +19,23 @@ pub struct Choice {
1919 pub message : Message ,
2020}
2121
22+ #[ derive( Serialize , Deserialize ) ]
23+ #[ serde( rename_all = "lowercase" ) ]
24+ pub enum Role {
25+ System ,
26+ User ,
27+ Assistant ,
28+ }
29+
2230#[ derive( Serialize , Deserialize ) ]
2331pub struct Message {
24- pub role : String ,
32+ pub role : Role ,
2533 pub content : String ,
2634}
2735
2836pub fn completions ( messages : & [ Message ] ) -> Result < Response , ureq:: Error > {
2937 let request = Request {
30- model : "gpt-3.5-turbo" . to_string ( ) ,
38+ model : "gpt-4o-mini" ,
3139 messages,
3240 temperature : 0.7 ,
3341 } ;
You can’t perform that action at this time.
0 commit comments