Spaces:
Running
Running
Download multi_llm_chatbot_backend/app/models/user_knowledge.py from BrainForge/Cybersecurity-Panel: direct link, hf CLI and curl.
- Browser
- Download file 2.25 kB
-
https://huggingface.co/spaces/BrainForge/Cybersecurity-Panel/resolve/main/multi_llm_chatbot_backend/app/models/user_knowledge.py
- Command line
-
hf download hf://spaces/BrainForge/Cybersecurity-Panel/multi_llm_chatbot_backend/app/models/user_knowledge.py
-
curl -L -o user_knowledge.py https://huggingface.co/spaces/BrainForge/Cybersecurity-Panel/resolve/main/multi_llm_chatbot_backend/app/models/user_knowledge.py
2.25 kB
| from datetime import datetime | |
| from typing import List, Literal, Optional | |
| from bson import ObjectId | |
| from pydantic import BaseModel, Field | |
| from app.models.user import PyObjectId | |
| FactCategory = Literal["person", "organization", "environment", "needs", "preferences"] | |
| FactSource = Literal["stated", "inferred"] | |
| class UserFact(BaseModel): | |
| class Config: | |
| allow_population_by_field_name = True | |
| arbitrary_types_allowed = True | |
| json_encoders = {ObjectId: str} | |
| id: PyObjectId = Field(default_factory=PyObjectId, alias="_id") | |
| user_id: PyObjectId | |
| category: FactCategory | |
| key: str | |
| value: str | |
| source: FactSource | |
| confidence: Optional[float] = None | |
| evidence: Optional[str] = None | |
| created_at: datetime = Field(default_factory=datetime.utcnow) | |
| updated_at: datetime = Field(default_factory=datetime.utcnow) | |
| class UserFactCreate(BaseModel): | |
| category: FactCategory | |
| key: str | |
| value: str | |
| evidence: Optional[str] = None | |
| class UserFactUpdate(BaseModel): | |
| value: Optional[str] = None | |
| source: Optional[FactSource] = None | |
| confidence: Optional[float] = None | |
| evidence: Optional[str] = None | |
| category: Optional[FactCategory] = None | |
| class UserFactResponse(BaseModel): | |
| id: str | |
| user_id: str | |
| category: FactCategory | |
| key: str | |
| value: str | |
| source: FactSource | |
| confidence: Optional[float] = None | |
| evidence: Optional[str] = None | |
| created_at: Optional[datetime] = None | |
| updated_at: Optional[datetime] = None | |
| class UserFactListResponse(BaseModel): | |
| facts: List[UserFactResponse] | |
| class UserSummary(BaseModel): | |
| class Config: | |
| allow_population_by_field_name = True | |
| arbitrary_types_allowed = True | |
| json_encoders = {ObjectId: str} | |
| id: PyObjectId = Field(default_factory=PyObjectId, alias="_id") | |
| user_id: PyObjectId | |
| short: str = "" | |
| long: str = "" | |
| generated_at: datetime = Field(default_factory=datetime.utcnow) | |
| version: Optional[int] = None | |
| class UserSummaryResponse(BaseModel): | |
| user_id: str | |
| short: str = "" | |
| long: str = "" | |
| generated_at: Optional[datetime] = None | |
| version: Optional[int] = None | |