Full memory storing and retrieval for conversation agent. Update gral prompts. Add custom inference model.
This commit is contained in:
1 parent
3c3febb92d
commit
e9ebb1378a
5 files changed
+196
-50
No files matched your search
+14
-10
@@ -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__":
|
||||
|
||||
Reference in new issue
Block a user