ReMe/reme2/schema/emb_node.py
huangsen 6a5561f86a feat: add file_graph component and integrate with LinkedFileParser
- 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
2026-05-14 11:35:02 +08:00

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()