mirror of
https://github.com/ParisNeo/lollms-webui.git
synced 2025-06-12 04:18:18 +00:00
Repared discussion export
This commit is contained in:
2
app.py
2
app.py
@ -178,7 +178,7 @@ class Gpt4AllWebUI(GPT4AllAPI):
|
|||||||
return jsonify(self.db.export_to_json())
|
return jsonify(self.db.export_to_json())
|
||||||
|
|
||||||
def export_discussion(self):
|
def export_discussion(self):
|
||||||
return jsonify(self.full_message)
|
return jsonify({"discussion_text":self.get_discussion_to()})
|
||||||
|
|
||||||
|
|
||||||
@stream_with_context
|
@stream_with_context
|
||||||
|
@ -134,6 +134,26 @@ class GPT4AllAPI():
|
|||||||
discussion_messages += link_text + self.personality["ai_message_prefix"]
|
discussion_messages += link_text + self.personality["ai_message_prefix"]
|
||||||
return discussion_messages # Removes the last return
|
return discussion_messages # Removes the last return
|
||||||
|
|
||||||
|
def get_discussion_to(self, message_id=-1):
|
||||||
|
messages = self.current_discussion.get_messages()
|
||||||
|
self.full_message_list = []
|
||||||
|
for message in messages:
|
||||||
|
if message["id"]<= message_id or message_id==-1:
|
||||||
|
if message["type"]!=self.db.MSG_TYPE_CONDITIONNING:
|
||||||
|
if message["sender"]==self.personality["name"]:
|
||||||
|
self.full_message_list.append(self.personality["ai_message_prefix"]+message["content"])
|
||||||
|
else:
|
||||||
|
self.full_message_list.append(self.personality["user_message_prefix"] + message["content"])
|
||||||
|
|
||||||
|
link_text = self.personality["link_text"]
|
||||||
|
|
||||||
|
if len(self.full_message_list) > self.config["nb_messages_to_remember"]:
|
||||||
|
discussion_messages = self.personality["personality_conditionning"]+ link_text.join(self.full_message_list[-self.config["nb_messages_to_remember"]:])
|
||||||
|
else:
|
||||||
|
discussion_messages = self.personality["personality_conditionning"]+ link_text.join(self.full_message_list)
|
||||||
|
|
||||||
|
return discussion_messages # Removes the last return
|
||||||
|
|
||||||
def new_text_callback(self, text: str):
|
def new_text_callback(self, text: str):
|
||||||
print(text, end="")
|
print(text, end="")
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
@ -184,11 +184,13 @@ function populate_menu(){
|
|||||||
exportDiscussionButton.title = "Export discussion to a file";
|
exportDiscussionButton.title = "Export discussion to a file";
|
||||||
exportDiscussionButton.addEventListener('click', () => {
|
exportDiscussionButton.addEventListener('click', () => {
|
||||||
fetch(`/export_discussion`)
|
fetch(`/export_discussion`)
|
||||||
.then(response => response.text())
|
.then(response => response.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
|
discussion_text = data["discussion_text"]
|
||||||
|
copyToClipboard(discussion_text)
|
||||||
const filename = window.prompt('Please enter a filename:', 'discussion.txt');
|
const filename = window.prompt('Please enter a filename:', 'discussion.txt');
|
||||||
if (filename !== null) {
|
if (filename !== null) {
|
||||||
const text = data.replace(/\n/g, "\r\n");
|
const text = discussion_text;
|
||||||
const blob = new Blob([text], { type: 'text/plain' });
|
const blob = new Blob([text], { type: 'text/plain' });
|
||||||
const url = URL.createObjectURL(blob);
|
const url = URL.createObjectURL(blob);
|
||||||
const link = document.createElement('a');
|
const link = document.createElement('a');
|
||||||
|
Reference in New Issue
Block a user