mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-04-27 17:56:23 +02:00
Merge branch 'feat-memory-opt' into 'mgx_ops'
use long-term memory in rolezero See merge request pub/MetaGPT!369
This commit is contained in:
commit
e0ec17e6aa
13 changed files with 418 additions and 6 deletions
|
|
@ -18,6 +18,7 @@ from __future__ import annotations
|
|||
import asyncio
|
||||
import json
|
||||
import os.path
|
||||
import time
|
||||
import uuid
|
||||
from abc import ABC
|
||||
from asyncio import Queue, QueueEmpty, wait_for
|
||||
|
|
@ -408,6 +409,12 @@ class Message(BaseModel):
|
|||
dynamic_class = create_model(class_name, **{key: (value.__class__, ...) for key, value in kvs.items()})
|
||||
return dynamic_class.model_validate(kvs)
|
||||
|
||||
def is_user_message(self) -> bool:
|
||||
return self.role == "user"
|
||||
|
||||
def is_ai_message(self) -> bool:
|
||||
return self.role == "assistant"
|
||||
|
||||
|
||||
class UserMessage(Message):
|
||||
"""便于支持OpenAI的消息
|
||||
|
|
@ -955,3 +962,11 @@ class BaseEnum(Enum):
|
|||
obj._value_ = value
|
||||
obj.desc = desc
|
||||
return obj
|
||||
|
||||
|
||||
class LongTermMemoryItem(BaseModel):
|
||||
message: Message
|
||||
created_at: Optional[float] = Field(default_factory=time.time)
|
||||
|
||||
def rag_key(self) -> str:
|
||||
return self.message.content
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue