Newer
Older
from typing import List, Optional, Union, Any, Dict
OPENAI = "openai"
BM25 = "bm25"
TFIDF = "tfidf"
FASTEMBED = "fastembed"
HUGGINGFACE = "huggingface"
GOOGLE = "google"
class EncoderInfo(BaseModel):
name: str
token_limit: int
class RouteChoice(BaseModel):
function_call: Optional[List[Dict]] = None
class Message(BaseModel):
role: str
content: str
if self.role.lower() not in ["user", "assistant", "system"]:
raise ValueError("Role must be either 'user', 'assistant' or 'system'")
return {"role": self.role, "content": self.content}
def to_llamacpp(self):
return {"role": self.role, "content": self.content}
def to_mistral(self):
return {"role": self.role, "content": self.content}
def __str__(self):
return f"{self.role}: {self.content}"
class DocumentSplit(BaseModel):
triggered_score: Optional[float] = None
return " ".join([doc if isinstance(doc, str) else "" for doc in self.docs])
class ConfigParameter(BaseModel):
field: str
value: str
created_at: str = Field(default_factory=lambda: datetime.utcnow().isoformat())
def to_pinecone(self, dimensions: int):
"values": [0.1] * dimensions,
"metadata": {
"value": self.value,
"created_at": self.created_at,