文档表
| 185 | |
| 186 | |
| 187 | class Document(AppModelMixin): |
| 188 | """ |
| 189 | 文档表 |
| 190 | """ |
| 191 | |
| 192 | id = models.UUIDField(primary_key=True, max_length=128, default=uuid.uuid7, editable=False, verbose_name="主键id") |
| 193 | knowledge = models.ForeignKey(Knowledge, on_delete=models.DO_NOTHING, verbose_name="知识库id") |
| 194 | name = models.CharField(max_length=150, verbose_name="文档名称", db_index=True) |
| 195 | char_length = models.IntegerField(verbose_name="文档字符数 冗余字段") |
| 196 | status = models.CharField(verbose_name="状态", max_length=20, default=get_default_status, db_index=True) |
| 197 | status_meta = models.JSONField(verbose_name="状态统计数据", default=default_status_meta) |
| 198 | user = models.ForeignKey(User, on_delete=models.SET_NULL, db_constraint=False, blank=True, null=True) |
| 199 | is_active = models.BooleanField(default=True, db_index=True) |
| 200 | type = models.IntegerField( |
| 201 | verbose_name="类型", choices=KnowledgeType.choices, default=KnowledgeType.BASE, db_index=True |
| 202 | ) |
| 203 | hit_handling_method = models.CharField( |
| 204 | verbose_name="命中处理方式", |
| 205 | max_length=20, |
| 206 | choices=HitHandlingMethod.choices, |
| 207 | default=HitHandlingMethod.optimization, |
| 208 | ) |
| 209 | directly_return_similarity = models.FloatField(verbose_name="直接回答相似度", default=0.9) |
| 210 | |
| 211 | meta = models.JSONField(verbose_name="元数据", default=dict) |
| 212 | |
| 213 | class Meta: |
| 214 | db_table = "document" |
| 215 | |
| 216 | |
| 217 | class Tag(AppModelMixin): |
no outgoing calls
no test coverage detected