Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel | |
| from typing import List, Optional | |
| class SearchRequest(BaseModel): | |
| """API request for chemical similarity search.""" | |
| smiles: str | |
| top_k: int = 3 | |
| explain: bool = True # Generate explanation for why compounds are similar | |
| class CompoundResult(BaseModel): | |
| """Individual search result with Tanimoto similarity score and LLM explanation.""" | |
| smiles: str | |
| similarity_score: float # Tanimoto similarity (0.0 to 1.0) | |
| image: Optional[str] = None | |
| explanation: Optional[str] = None # LLM-generated explanation of similarity | |
| cid: Optional[str] = None # PubChem CID identifier | |
| name: Optional[str] = None # Compound name | |
| class SearchResponse(BaseModel): | |
| """API response containing search results with explanations.""" | |
| results: List[CompoundResult] | |
| query_smiles: str # Query compound SMILES | |
| total_results: int # Total number of results | |