Hansimov commited on
Commit
451c088
1 Parent(s): 7bb4d19

:recycle: [Refactor] Clean llm_requester with imports from chat_operator

Browse files
apps/llm_mixer/index.html CHANGED
@@ -12,7 +12,7 @@
12
  </head>
13
  <body>
14
  <div class="container">
15
- <div id="chats-container" class="mt-3"></div>
16
  <div class="fixed-bottom m-3">
17
  <div class="container-fluid">
18
  <div class="row no-gutters">
 
12
  </head>
13
  <body>
14
  <div class="container">
15
+ <div id="messagers-container" class="mt-3"></div>
16
  <div class="fixed-bottom m-3">
17
  <div class="container-fluid">
18
  <div class="row no-gutters">
apps/llm_mixer/js/buttons_binder.js CHANGED
@@ -51,9 +51,9 @@ export class ButtonsBinder {
51
  }
52
  }
53
  async post_user_input() {
54
- let user_input = $("#user-input").val();
55
- console.log(user_input);
56
- this.requester = new ChatCompletionsRequester(user_input);
57
  await this.requester.post();
58
  }
59
  bind() {
 
51
  }
52
  }
53
  async post_user_input() {
54
+ let user_input_content = $("#user-input").val();
55
+ console.log(user_input_content);
56
+ this.requester = new ChatCompletionsRequester(user_input_content);
57
  await this.requester.post();
58
  }
59
  bind() {
apps/llm_mixer/js/llm_requester.js CHANGED
@@ -3,31 +3,16 @@ import {
3
  stringify_stream_bytes,
4
  } from "./stream_jsonizer.js";
5
  import * as secrets from "./secrets.js";
6
- import { update_chat, create_chat_block } from "./chat_renderer.js";
7
-
8
- export var chat_sessions = [];
9
- export class ChatSession {
10
- constructor(messages = []) {
11
- this.messages = messages;
12
- }
13
- add_message(message) {
14
- this.messages.push(message);
15
- }
16
- pop_messages(n = 1) {
17
- return this.messages.splice(-n, n);
18
- }
19
- extend_messages(messages) {
20
- this.messages = this.messages.concat(messages);
21
- }
22
- clear() {
23
- this.messages = [];
24
- }
25
- }
26
 
27
  export class ChatCompletionsRequester {
28
  constructor(
29
  prompt,
30
- model = "poe-gpt-3.5-turbo",
31
  temperature = 0,
32
  messages = [],
33
  endpoint,
@@ -41,20 +26,9 @@ export class ChatCompletionsRequester {
41
  this.cors_proxy = cors_proxy || secrets.cors_proxy;
42
  this.request_endpoint = this.cors_proxy + this.endpoint;
43
  this.controller = new AbortController();
44
- this.construct_request_params();
45
  }
46
  construct_request_messages() {
47
- let message = {
48
- role: "user",
49
- content: this.prompt,
50
- model: this.model,
51
- temperature: this.temperature,
52
- };
53
- this.messages = this.messages.concat(message);
54
- this.request_messages = this.messages.map(({ role, content }) => ({
55
- role,
56
- content,
57
- }));
58
  }
59
  construct_request_headers() {
60
  this.request_headers = {
@@ -63,6 +37,7 @@ export class ChatCompletionsRequester {
63
  };
64
  }
65
  construct_request_body() {
 
66
  this.request_body = {
67
  model: this.model,
68
  messages: this.request_messages,
@@ -71,7 +46,6 @@ export class ChatCompletionsRequester {
71
  };
72
  }
73
  construct_request_params() {
74
- this.construct_request_messages();
75
  this.construct_request_headers();
76
  this.construct_request_body();
77
  this.request_params = {
@@ -82,8 +56,9 @@ export class ChatCompletionsRequester {
82
  };
83
  }
84
  post() {
85
- create_chat_block("user", this.prompt);
86
- create_chat_block("assistant");
 
87
  return fetch(this.request_endpoint, this.request_params)
88
  .then((response) => response.body)
89
  .then((rb) => {
@@ -95,7 +70,7 @@ export class ChatCompletionsRequester {
95
  let json_chunks = jsonize_stream_data(
96
  stringify_stream_bytes(value)
97
  );
98
- update_chat(json_chunks);
99
  return reader.read().then(process);
100
  });
101
  })
 
3
  stringify_stream_bytes,
4
  } from "./stream_jsonizer.js";
5
  import * as secrets from "./secrets.js";
6
+ import {
7
+ update_message,
8
+ create_messager,
9
+ get_request_messages,
10
+ } from "./chat_operator.js";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  export class ChatCompletionsRequester {
13
  constructor(
14
  prompt,
15
+ model = "gpt-3.5-turbo",
16
  temperature = 0,
17
  messages = [],
18
  endpoint,
 
26
  this.cors_proxy = cors_proxy || secrets.cors_proxy;
27
  this.request_endpoint = this.cors_proxy + this.endpoint;
28
  this.controller = new AbortController();
 
29
  }
30
  construct_request_messages() {
31
+ this.request_messages = get_request_messages();
 
 
 
 
 
 
 
 
 
 
32
  }
33
  construct_request_headers() {
34
  this.request_headers = {
 
37
  };
38
  }
39
  construct_request_body() {
40
+ this.construct_request_messages();
41
  this.request_body = {
42
  model: this.model,
43
  messages: this.request_messages,
 
46
  };
47
  }
48
  construct_request_params() {
 
49
  this.construct_request_headers();
50
  this.construct_request_body();
51
  this.request_params = {
 
56
  };
57
  }
58
  post() {
59
+ create_messager("user", this.prompt);
60
+ create_messager("assistant", "", this.model, this.temperature);
61
+ this.construct_request_params();
62
  return fetch(this.request_endpoint, this.request_params)
63
  .then((response) => response.body)
64
  .then((rb) => {
 
70
  let json_chunks = jsonize_stream_data(
71
  stringify_stream_bytes(value)
72
  );
73
+ update_message(json_chunks);
74
  return reader.read().then(process);
75
  });
76
  })