
    _j+                     B    d dl Z d dlmZ d	dZd	dZd	dZd	dZd	dZdS )
    N)OllamaEmbeddingFunctionreturnc                      t          j        dd           t                      }  | ddg          }|J t          |          dk    sJ t	          d |D                       sJ d S )Nollamaollama not installedreason"Here is an article about llamas...this is another article   c              3   <   K   | ]}t          |          d k    V  dS )i  N)len).0es     \/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/chromadb/test/ef/test_ollama_ef.py	<genexpr>z,test_ollama_default_model.<locals>.<genexpr>   s,      11s1vv}111111    )pytestimportorskipr   r   allef
embeddingss     r   test_ollama_default_modelr      s    
)?@@@@	 	"	"B9;TUVVJ!!!z??a11j1111111111r   c                  
   t          j        dd           d} t          |           }t          j        t                    5 } |ddg           d d d            n# 1 swxY w Y   d|  d	t          |j                  v sJ d S )
Nr   r   r   zunknown-model)
model_namer
   r   zmodel "z" not foundr   r   r   raises	Exceptionstrvalue)r   r   r   s      r   test_ollama_unknown_modelr"      s    
)?@@@@ J	 J	7	7	7B	y	!	! NQ
02KLMMMN N N N N N N N N N N N N N N,Z,,,AG<<<<<<s   AA #A c                  t    t          j        dd           t          d          }  | ddg          }|J d S )Nr   r   r   z%http://localhost:11434/api/embeddingsurlr
   r   )r   r   r   r   s     r   test_ollama_backward_compatr&      sR    
)?@@@@	 %L	M	M	MB9;TUVVJ!!!!!r   c                      t          j        dd           t          d          } t          j        t                    5 } | ddg           d d d            n# 1 swxY w Y   dt          |j                  v sJ d S )	Nr   r   r   z$http://localhost:11434/this_is_wrongr$   r
   r   404r   )r   r   s     r   test_wrong_urlr)   !   s    
)?@@@@	 %K	L	L	LB	y	!	! NQ
02KLMMMN N N N N N N N N N N N N N NCLL      s    AA!Ac                     	 ddl m}  t          j        d           n# t          $ r Y nw xY wt          j        t                    5 }t                       d d d            n# 1 swxY w Y   dt          |j	                  v sJ d S )Nr   )Clientz"ollama python package is installedz*The ollama python package is not installed)
r   r+   r   skipImportErrorr   
ValueErrorr   r    r!   )r+   r   s     r   test_ollama_ask_user_to_installr/   )   s    :!!!!!! 	89999     
z	"	" "a!!!" " " " " " " " " " " " " " "73qw<<GGGGGGs    
**A!!A%(A%)r   N)r   <chromadb.utils.embedding_functions.ollama_embedding_functionr   r   r"   r&   r)   r/    r   r   <module>r2      s         
2 2 2 2= = = =" " " "! ! ! !	H 	H 	H 	H 	H 	Hr   