#!/usr/bin/env python # -*- coding: utf-8 -*- """ File: DataModels.py Author: oyyz Date: 2025-05-13 Description: 提取和分类的数据模型 """ from pydantic import BaseModel, Field from typing import List, Optional # 定义输出模型 class Term(BaseModel): name: str = Field(description="专业名词") synonymous: List[str] = Field(description="同义词列表") description: str = Field(description="描述信息", default="") def __hash__(self): return hash(self.name) def __eq__(self, other): if isinstance(other, Term): return self.name == other.name return False class TermList(BaseModel): terms: List[Term] = Field(description="专业名词列表") class Classification(BaseModel): vertical_classification:str = Field(description="垂直领域一级分类") sub_classification:str = Field(description="一级分类下的二级分类") class QueryRewrite(BaseModel): rewrite:str = Field(description="问题改写")