mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-09-21 00:22:45 +00:00
- Add file_graph import to component registry - Register FILE_GRAPH enum in ComponentEnum - Implement BaseFileGraph integration in LinkedFileParser - Replace FileEdge with FileLink for better semantic clarity - Add lazy resolution of file_graph from app_context - Update file watcher logging to reflect links instead of edges refactor: streamline MCP transport layer architecture - Remove redundant step shells from reme2/mcp/steps/ - Consolidate all @R.register components to reme2.memory package - Update server.py to import reme2.memory directly - Revise README.md to document new architecture - Simplify module dependencies and import structure
26 lines
775 B
Python
26 lines
775 B
Python
from uuid import uuid4
|
|
|
|
import numpy as np
|
|
from pydantic import BaseModel, Field, field_serializer, field_validator, ConfigDict
|
|
|
|
|
|
class EmbNode(BaseModel):
|
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
|
|
|
id: str = Field(default_factory=lambda: uuid4().hex)
|
|
text: str = Field(default="")
|
|
embedding: np.ndarray | None = Field(default=None)
|
|
metadata: dict = Field(default_factory=dict)
|
|
|
|
@field_validator("embedding", mode="before")
|
|
@classmethod
|
|
def validate_embedding(cls, v):
|
|
if v is None:
|
|
return v
|
|
return np.array(v, dtype=np.float16)
|
|
|
|
@field_serializer("embedding")
|
|
def serialize_embedding(self, v: np.ndarray | None, _info):
|
|
if v is None:
|
|
return None
|
|
return v.tolist()
|