Team Ai
Apppublic

Underground-Digital/Workflow-Engine

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
datasets.ts577 linesDownload Raw Back to models
1import type { DataSourceNotionPage, DataSourceProvider } from './common'2import type { AppIconType, AppMode, RetrievalConfig } from '@/types/app'3import type { Tag } from '@/app/components/base/tag-management/constant'4 5export enum DataSourceType {6  FILE = 'upload_file',7  NOTION = 'notion_import',8  WEB = 'website_crawl',9}10 11export type DatasetPermission = 'only_me' | 'all_team_members' | 'partial_members'12 13export type DataSet = {14  id: string15  name: string16  icon: string17  icon_background: string18  description: string19  permission: DatasetPermission20  data_source_type: DataSourceType21  indexing_technique: 'high_quality' | 'economy'22  created_by: string23  updated_by: string24  updated_at: number25  app_count: number26  document_count: number27  word_count: number28  provider: string29  embedding_model: string30  embedding_model_provider: string31  embedding_available: boolean32  retrieval_model_dict: RetrievalConfig33  retrieval_model: RetrievalConfig34  tags: Tag[]35  partial_member_list?: any[]36  external_knowledge_info: {37    external_knowledge_id: string38    external_knowledge_api_id: string39    external_knowledge_api_name: string40    external_knowledge_api_endpoint: string41  }42  external_retrieval_model: {43    top_k: number44    score_threshold: number45    score_threshold_enabled: boolean46  }47}48 49export type ExternalAPIItem = {50  id: string51  tenant_id: string52  name: string53  description: string54  settings: {55    endpoint: string56    api_key: string57  }58  dataset_bindings: { id: string; name: string }[]59  created_by: string60  created_at: string61}62 63export type ExternalKnowledgeItem = {64  id: string65  name: string66  description: string | null67  provider: 'external'68  permission: DatasetPermission69  data_source_type: null70  indexing_technique: null71  app_count: number72  document_count: number73  word_count: number74  created_by: string75  created_at: string76  updated_by: string77  updated_at: string78  tags: Tag[]79}80 81export type ExternalAPIDeleteResponse = {82  result: 'success' | 'error'83}84 85export type ExternalAPIUsage = {86  is_using: boolean87  count: number88}89 90export type CustomFile = File & {91  id?: string92  extension?: string93  mime_type?: string94  created_by?: string95  created_at?: number96}97 98export type CrawlOptions = {99  crawl_sub_pages: boolean100  only_main_content: boolean101  includes: string102  excludes: string103  limit: number | string104  max_depth: number | string105  use_sitemap: boolean106}107 108export type CrawlResultItem = {109  title: string110  markdown: string111  description: string112  source_url: string113}114 115export type FileItem = {116  fileID: string117  file: CustomFile118  progress: number119}120 121export type DataSetListResponse = {122  data: DataSet[]123  has_more: boolean124  limit: number125  page: number126  total: number127}128 129export type ExternalAPIListResponse = {130  data: ExternalAPIItem[]131  has_more: boolean132  limit: number133  page: number134  total: number135}136 137export type QA = {138  question: string139  answer: string140}141 142export type IndexingEstimateResponse = {143  tokens: number144  total_price: number145  currency: string146  total_segments: number147  preview: string[]148  qa_preview?: QA[]149}150 151export type FileIndexingEstimateResponse = {152  total_nodes: number153} & IndexingEstimateResponse154 155export type IndexingStatusResponse = {156  id: string157  indexing_status: DocumentIndexingStatus158  processing_started_at: number159  parsing_completed_at: number160  cleaning_completed_at: number161  splitting_completed_at: number162  completed_at: any163  paused_at: any164  error: any165  stopped_at: any166  completed_segments: number167  total_segments: number168}169export type IndexingStatusBatchResponse = {170  data: IndexingStatusResponse[]171}172 173export type ProcessMode = 'automatic' | 'custom'174 175export type ProcessRuleResponse = {176  mode: ProcessMode177  rules: Rules178}179 180export type Rules = {181  pre_processing_rules: PreProcessingRule[]182  segmentation: Segmentation183}184 185export type PreProcessingRule = {186  id: string187  enabled: boolean188}189 190export type Segmentation = {191  separator: string192  max_tokens: number193  chunk_overlap: number194}195 196export const DocumentIndexingStatusList = [197  'waiting',198  'parsing',199  'cleaning',200  'splitting',201  'indexing',202  'paused',203  'error',204  'completed',205] as const206 207export type DocumentIndexingStatus = typeof DocumentIndexingStatusList[number]208 209export const DisplayStatusList = [210  'queuing',211  'indexing',212  'paused',213  'error',214  'available',215  'enabled',216  'disabled',217  'archived',218] as const219 220export type DocumentDisplayStatus = typeof DisplayStatusList[number]221 222export type DataSourceInfo = {223  upload_file: {224    id: string225    name: string226    size: number227    mime_type: string228    created_at: number229    created_by: string230    extension: string231  }232  notion_page_icon?: string233  notion_workspace_id?: string234  notion_page_id?: string235  provider?: DataSourceProvider236  job_id: string237  url: string238}239 240export type InitialDocumentDetail = {241  id: string242  batch: string243  position: number244  dataset_id: string245  data_source_type: DataSourceType246  data_source_info: DataSourceInfo247  dataset_process_rule_id: string248  name: string249  created_from: 'api' | 'web'250  created_by: string251  created_at: number252  indexing_status: DocumentIndexingStatus253  display_status: DocumentDisplayStatus254  completed_segments?: number255  total_segments?: number256  doc_form: 'text_model' | 'qa_model'257  doc_language: string258}259 260export type SimpleDocumentDetail = InitialDocumentDetail & {261  enabled: boolean262  word_count: number263  error?: string | null264  archived: boolean265  updated_at: number266  hit_count: number267  dataset_process_rule_id?: string268  data_source_detail_dict?: {269    upload_file: {270      name: string271      extension: string272    }273  }274}275 276export type DocumentListResponse = {277  data: SimpleDocumentDetail[]278  has_more: boolean279  total: number280  page: number281  limit: number282}283 284export type DocumentReq = {285  original_document_id?: string286  indexing_technique?: string287  doc_form: 'text_model' | 'qa_model'288  doc_language: string289  process_rule: ProcessRule290}291 292export type CreateDocumentReq = DocumentReq & {293  data_source: DataSource294  retrieval_model: RetrievalConfig295  embedding_model: string296  embedding_model_provider: string297}298 299export type IndexingEstimateParams = DocumentReq & Partial<DataSource> & {300  dataset_id: string301}302 303export type DataSource = {304  type: DataSourceType305  info_list: {306    data_source_type: DataSourceType307    notion_info_list?: NotionInfo[]308    file_info_list?: {309      file_ids: string[]310    }311    website_info_list?: {312      provider: string313      job_id: string314      urls: string[]315    }316  }317}318 319export type NotionInfo = {320  workspace_id: string321  pages: DataSourceNotionPage[]322}323export type NotionPage = {324  page_id: string325  type: string326}327 328export type ProcessRule = {329  mode: string330  rules: Rules331}332 333export type createDocumentResponse = {334  dataset?: DataSet335  batch: string336  documents: InitialDocumentDetail[]337}338 339export type FullDocumentDetail = SimpleDocumentDetail & {340  batch: string341  created_api_request_id: string342  processing_started_at: number343  parsing_completed_at: number344  cleaning_completed_at: number345  splitting_completed_at: number346  tokens: number347  indexing_latency: number348  completed_at: number349  paused_by: string350  paused_at: number351  stopped_at: number352  indexing_status: string353  disabled_at: number354  disabled_by: string355  archived_reason: 'rule_modified' | 're_upload'356  archived_by: string357  archived_at: number358  doc_type?: DocType | null | 'others'359  doc_metadata?: DocMetadata | null360  segment_count: number361  [key: string]: any362}363 364export type DocMetadata = {365  title: string366  language: string367  author: string368  publisher: string369  publicationDate: string370  ISBN: string371  category: string372  [key: string]: string373}374 375export const CUSTOMIZABLE_DOC_TYPES = [376  'book',377  'web_page',378  'paper',379  'social_media_post',380  'personal_document',381  'business_document',382  'im_chat_log',383] as const384 385export const FIXED_DOC_TYPES = ['synced_from_github', 'synced_from_notion', 'wikipedia_entry'] as const386 387export type CustomizableDocType = typeof CUSTOMIZABLE_DOC_TYPES[number]388export type FixedDocType = typeof FIXED_DOC_TYPES[number]389export type DocType = CustomizableDocType | FixedDocType390 391export type DocumentDetailResponse = FullDocumentDetail392 393export const SEGMENT_STATUS_LIST = ['waiting', 'completed', 'error', 'indexing']394export type SegmentStatus = typeof SEGMENT_STATUS_LIST[number]395 396export type SegmentsQuery = {397  last_id?: string398  limit: number399  // status?: SegmentStatus400  hit_count_gte?: number401  keyword?: string402  enabled?: boolean403}404 405export type SegmentDetailModel = {406  id: string407  position: number408  document_id: string409  content: string410  word_count: number411  tokens: number412  keywords: string[]413  index_node_id: string414  index_node_hash: string415  hit_count: number416  enabled: boolean417  disabled_at: number418  disabled_by: string419  status: SegmentStatus420  created_by: string421  created_at: number422  indexing_at: number423  completed_at: number424  error: string | null425  stopped_at: number426  answer?: string427}428 429export type SegmentsResponse = {430  data: SegmentDetailModel[]431  has_more: boolean432  limit: number433  total: number434}435 436export type HitTestingRecord = {437  id: string438  content: string439  source: 'app' | 'hit_testing' | 'plugin'440  source_app_id: string441  created_by_role: 'account' | 'end_user'442  created_by: string443  created_at: number444}445 446export type HitTesting = {447  segment: Segment448  score: number449  tsne_position: TsnePosition450}451 452export type ExternalKnowledgeBaseHitTesting = {453  content: string454  title: string455  score: number456  metadata: {457    'x-amz-bedrock-kb-source-uri': string458    'x-amz-bedrock-kb-data-source-id': string459  }460}461 462export type Segment = {463  id: string464  document: Document465  content: string466  position: number467  word_count: number468  tokens: number469  keywords: string[]470  hit_count: number471  index_node_hash: string472}473 474export type Document = {475  id: string476  data_source_type: string477  name: string478  doc_type: DocType479}480 481export type HitTestingRecordsResponse = {482  data: HitTestingRecord[]483  has_more: boolean484  limit: number485  total: number486  page: number487}488 489export type TsnePosition = {490  x: number491  y: number492}493 494export type HitTestingResponse = {495  query: {496    content: string497    tsne_position: TsnePosition498  }499  records: Array<HitTesting>500}501 502export type ExternalKnowledgeBaseHitTestingResponse = {503  query: {504    content: string505  }506  records: Array<ExternalKnowledgeBaseHitTesting>507}508 509export type RelatedApp = {510  id: string511  name: string512  mode: AppMode513  icon_type: AppIconType | null514  icon: string515  icon_background: string516  icon_url: string517}518 519export type RelatedAppResponse = {520  data: Array<RelatedApp>521  total: number522}523 524export type SegmentUpdater = {525  content: string526  answer?: string527  keywords?: string[]528}529 530export enum DocForm {531  TEXT = 'text_model',532  QA = 'qa_model',533}534 535export type ErrorDocsResponse = {536  data: IndexingStatusResponse[]537  total: number538}539 540export type SelectedDatasetsMode = {541  allHighQuality: boolean542  allHighQualityVectorSearch: boolean543  allHighQualityFullTextSearch: boolean544  allEconomic: boolean545  mixtureHighQualityAndEconomic: boolean546  allInternal: boolean547  allExternal: boolean548  mixtureInternalAndExternal: boolean549  inconsistentEmbeddingModel: boolean550}551 552export enum WeightedScoreEnum {553  SemanticFirst = 'semantic_first',554  KeywordFirst = 'keyword_first',555  Customized = 'customized',556}557 558export enum RerankingModeEnum {559  RerankingModel = 'reranking_model',560  WeightedScore = 'weighted_score',561}562 563export const DEFAULT_WEIGHTED_SCORE = {564  allHighQualityVectorSearch: {565    semantic: 1.0,566    keyword: 0,567  },568  allHighQualityFullTextSearch: {569    semantic: 0,570    keyword: 1.0,571  },572  other: {573    semantic: 0.7,574    keyword: 0.3,575  },576}577