mirror of
https://github.com/vegu-ai/talemate.git
synced 2025-12-28 16:06:38 +01:00
Prep 0.10.0 (#12)
* track time passage in scene using iso 8601 format * chromadb openai instructions model recommendations updated * time context passed to long term memory * add some pre-established history for testing purposes * time passage analyze dialogue to template query_text template function analyze text and answer question summarizer function llm prompt template adjustments iso8601 time utils chromadb docs adjustments * didnt mean to remove this * fix ClientContext stacking * conversation cleanup tweaks * prompt prepared response padding * fix some bugs causing conversation lines containing : to be terminated early * fixes issue with chara importing dialoge examples as huge blob instea of splitting into lines dialogue example in conversation template randomized * llm prompt template for Speechless-Llama2-Hermes-Orca-Platypus-WizardLM * version to 0.10.0
This commit is contained in:
@@ -40,6 +40,11 @@
|
||||
<DirectorMessage :text="message.text" :message_id="message.id" :character="message.character" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="message.type === 'time'" :class="`message ${message.type}`">
|
||||
<div class="time-message" :id="`message-${message.id}`">
|
||||
<TimePassageMessage :text="message.text" :message_id="message.id" :ts="message.ts" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-else :class="`message ${message.type}`">
|
||||
{{ message.text }}
|
||||
</div>
|
||||
@@ -51,6 +56,7 @@
|
||||
import CharacterMessage from './CharacterMessage.vue';
|
||||
import NarratorMessage from './NarratorMessage.vue';
|
||||
import DirectorMessage from './DirectorMessage.vue';
|
||||
import TimePassageMessage from './TimePassageMessage.vue';
|
||||
|
||||
export default {
|
||||
name: 'SceneMessages',
|
||||
@@ -58,6 +64,7 @@ export default {
|
||||
CharacterMessage,
|
||||
NarratorMessage,
|
||||
DirectorMessage,
|
||||
TimePassageMessage,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -87,6 +94,7 @@ export default {
|
||||
multiSelect: data.data.multi_select,
|
||||
color: data.color,
|
||||
sent: false,
|
||||
ts: data.ts,
|
||||
};
|
||||
this.messages.push(message);
|
||||
},
|
||||
@@ -163,10 +171,12 @@ export default {
|
||||
|
||||
if (data.message) {
|
||||
if (data.type === 'character') {
|
||||
const [character, text] = data.message.split(':');
|
||||
const parts = data.message.split(':');
|
||||
const character = parts.shift();
|
||||
const text = parts.join(':');
|
||||
this.messages.push({ id: data.id, type: data.type, character: character.trim(), text: text.trim(), color: data.color }); // Add color property to the message
|
||||
} else if (data.type != 'request_input' && data.type != 'client_status' && data.type != 'agent_status') {
|
||||
this.messages.push({ id: data.id, type: data.type, text: data.message, color: data.color, character: data.character, status:data.status }); // Add color property to the message
|
||||
this.messages.push({ id: data.id, type: data.type, text: data.message, color: data.color, character: data.character, status:data.status, ts:data.ts }); // Add color property to the message
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,20 @@
|
||||
</v-btn>
|
||||
</template>
|
||||
</v-tooltip>
|
||||
<v-menu>
|
||||
<template v-slot:activator="{ props }">
|
||||
<v-btn class="hotkey mx-3" v-bind="props" :disabled="isInputDisabled()" color="primary" icon>
|
||||
<v-icon>mdi-clock</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<v-list>
|
||||
<v-list-subheader>Advance Time</v-list-subheader>
|
||||
<v-list-item v-for="(option, index) in advanceTimeOptions" :key="index"
|
||||
@click="sendHotButtonMessage('!advance_time:' + option.value)">
|
||||
<v-list-item-title>{{ option.title }}</v-list-item-title>
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
<v-divider vertical></v-divider>
|
||||
<v-tooltip :disabled="isInputDisabled()" location="top" text="Direct a character">
|
||||
<template v-slot:activator="{ props }">
|
||||
@@ -142,6 +156,7 @@
|
||||
</v-card>
|
||||
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
|
||||
@@ -154,6 +169,23 @@ export default {
|
||||
return {
|
||||
commandActive: false,
|
||||
commandName: null,
|
||||
|
||||
advanceTimeOptions: [
|
||||
{"value" : "P10Y", "title": "10 years"},
|
||||
{"value" : "P5Y", "title": "5 years"},
|
||||
{"value" : "P1Y", "title": "1 year"},
|
||||
{"value" : "P6M", "title": "6 months"},
|
||||
{"value" : "P3M", "title": "3 months"},
|
||||
{"value" : "P1M", "title": "1 month"},
|
||||
{"value" : "P7D:1 Week later", "title": "1 week"},
|
||||
{"value" : "P3D", "title": "3 days"},
|
||||
{"value" : "P1D", "title": "1 day"},
|
||||
{"value" : "PT8H", "title": "8 hours"},
|
||||
{"value" : "PT4H", "title": "4 hours"},
|
||||
{"Value" : "PT1H", "title": "1 hour"},
|
||||
{"value" : "PT30M", "title": "30 minutes"},
|
||||
{"value" : "PT15M", "title": "15 minutes"}
|
||||
],
|
||||
}
|
||||
},
|
||||
inject: [
|
||||
|
||||
@@ -97,6 +97,11 @@
|
||||
<v-btn v-if="scene.environment === 'scene'" class="ml-1" @click="openSceneHistory()"><v-icon size="14"
|
||||
class="mr-1">mdi-playlist-star</v-icon>History</v-btn>
|
||||
|
||||
<v-chip size="x-small" v-if="scene.scene_time !== undefined">
|
||||
<v-icon>mdi-clock</v-icon>
|
||||
{{ scene.scene_time }}
|
||||
</v-chip>
|
||||
|
||||
</v-toolbar-title>
|
||||
<v-toolbar-title v-else>
|
||||
Talemate
|
||||
@@ -294,6 +299,7 @@ export default {
|
||||
this.scene = {
|
||||
name: data.name,
|
||||
environment: data.data.environment,
|
||||
scene_time: data.data.scene_time,
|
||||
}
|
||||
this.sceneActive = true;
|
||||
return;
|
||||
|
||||
61
talemate_frontend/src/components/TimePassageMessage.vue
Normal file
61
talemate_frontend/src/components/TimePassageMessage.vue
Normal file
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<div class="time-container" v-if="show && minimized" >
|
||||
<v-chip closable @click:close="deleteMessage()" color="deep-purple-lighten-3">
|
||||
<v-icon class="mr-2">mdi-clock-outline</v-icon>
|
||||
<span>{{ text }}</span>
|
||||
</v-chip>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
show: true,
|
||||
minimized: true
|
||||
}
|
||||
},
|
||||
props: ['text', 'message_id', 'ts'],
|
||||
inject: ['requestDeleteMessage'],
|
||||
methods: {
|
||||
toggle() {
|
||||
this.minimized = !this.minimized;
|
||||
},
|
||||
deleteMessage() {
|
||||
console.log('deleteMessage', this.message_id);
|
||||
this.requestDeleteMessage(this.message_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.highlight {
|
||||
color: #9FA8DA;
|
||||
font-style: italic;
|
||||
margin-left: 2px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.highlight:before {
|
||||
--content: "*";
|
||||
}
|
||||
|
||||
.highlight:after {
|
||||
--content: "*";
|
||||
}
|
||||
|
||||
.time-text {
|
||||
color: #9FA8DA;
|
||||
}
|
||||
|
||||
.time-message {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
color: #9FA8DA;
|
||||
}
|
||||
|
||||
.time-container {
|
||||
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user