Full memory storing and retrieval for conversation agent. Update gral prompts. Add custom inference model.

This commit is contained in:
Shivering Ocelot committed 2025-06-28 00:59:56 -05:00
1 parent 3c3febb92d
commit e9ebb1378a
5 files changed
+196 -50

No files matched your search

+14 -10
View File
@@ -13,12 +13,10 @@ import replicate
import database as db
import agent as agent_mod
from server import start_server
from chat import ChatView, Message
from chat import ChatView, Message, MESSAGE_PAGE_SIZE
from agents.conversation import ConversationAgent
MESSAGE_PAGE_SIZE = 32
class ChatContext:
def __init__(self, messages, prelude=None):
self.messages=messages
@@ -170,11 +168,17 @@ class App:
session.commit()
print(f"Deleted chat #{chat_id} and its memberships.")
def get_chat_messages(self, chat_id, earliest_index=0):
def get_chat_messages(self, chat_id, earliest_index=None):
with self.sql_session() as session:
condition = (db.Message.chat_id == chat_id)
if earliest_index is not None:
condition = condition and db.Message.id < earliest_index
messages = session.execute(
select(db.Message).where(db.Message.chat_id == chat_id).order_by(db.Message.time.asc())
).scalars().fetchmany(MESSAGE_PAGE_SIZE)
select(db.Message).where(condition).order_by(db.Message.time.desc())
).scalars().all()
messages.reverse()
return [{
"id": message.id,
@@ -274,8 +278,8 @@ class App:
'content': message.content,
}
def get_chat_context(self, chat_id):
return ChatContext(self.get_chat_messages(chat_id))
def get_chat_context(self, chat_id, earliest_index=None):
return ChatContext(self.get_chat_messages(chat_id, earliest_index))
def get_chat_view(self, chat_id):
return ChatView(self, chat_id)
@@ -402,8 +406,8 @@ class App:
new_resource.value = value
session.add(new_resource)
session.commit()
print(f"Saved agent resource: {agent_id} - {kind} - {key} = {value}")
session.commit()
print(f"Saved agent resource: {agent_id} - {kind} - {key} = {value}")
if __name__ == "__main__":