o
    3Ih                     @   s   d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
mZmZmZ eG dd dZeG dd dZeG d	d
 d
ZeG dd dZeG dd dZdS )    )	dataclass)Optional)
EmbeddingsIDsInclude)
CollectionRequestVersionContextSegmentWhereWhereDocumentc                   @   s@   e Zd ZU eed< eed< eed< eed< edefddZdS )	Scan
collectionknnmetadatarecordreturnc                 C   s   t | jj| jjdS )N)collection_versionlog_position)r   r   versionr   )self r   f/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/chromadb/execution/expression/operator.pyr      s   zScan.versionN)	__name__
__module____qualname__r   __annotations__r	   propertyr   r   r   r   r   r   r      s   
 r   c                   @   s>   e Zd ZU dZee ed< dZee ed< dZ	ee
 ed< dS )FilterNuser_idswherewhere_document)r   r   r   r   r   r   r   r   r
   r    r   r   r   r   r   r      s   
 r   c                   @   s   e Zd ZU eed< eed< dS )KNN
embeddingsfetchN)r   r   r   r   r   intr   r   r   r   r!   $   s   
 r!   c                   @   s*   e Zd ZU dZeed< dZee ed< dS )Limitr   skipNr#   )r   r   r   r&   r$   r   r#   r   r   r   r   r   r%   *   s   
 r%   c                   @   s\   e Zd ZU dZeed< dZeed< dZeed< dZeed< dZ	eed< e
defdd	Zd
S )
ProjectionFdocument	embeddingr   rankurir   c                 C   sZ   t  }| jr|d | jr|d | jr|d | jr#|d | jr+|d |S )N	documentsr"   	metadatas	distancesuris)listr(   appendr)   r   r*   r+   )r   includesr   r   r   included8   s   




zProjection.includedN)r   r   r   r(   boolr   r)   r   r*   r+   r   r   r3   r   r   r   r   r'   0   s   
 r'   N)dataclassesr   typingr   chromadb.api.typesr   r   r   chromadb.typesr   r   r	   r
   r   r   r   r!   r%   r'   r   r   r   r   <module>   s    	