SYMBOL INDEX (962 symbols across 126 files) FILE: deepsearcher/agent/base.py function describe_class (line 7) | def describe_class(description): class BaseAgent (line 28) | class BaseAgent(ABC): method __init__ (line 36) | def __init__(self, **kwargs): method invoke (line 45) | def invoke(self, query: str, **kwargs) -> Any: class RAGAgent (line 58) | class RAGAgent(BaseAgent): method __init__ (line 66) | def __init__(self, **kwargs): method retrieve (line 75) | def retrieve(self, query: str, **kwargs) -> Tuple[List[RetrievalResult... method query (line 90) | def query(self, query: str, **kwargs) -> Tuple[str, List[RetrievalResu... FILE: deepsearcher/agent/chain_of_rag.py class ChainOfRAG (line 77) | class ChainOfRAG(RAGAgent): method __init__ (line 88) | def __init__( method _reflect_get_subquery (line 122) | def _reflect_get_subquery(self, query: str, intermediate_context: List... method _retrieve_and_answer (line 136) | def _retrieve_and_answer(self, query: str) -> Tuple[str, List[Retrieva... method _get_supported_docs (line 172) | def _get_supported_docs( method _check_has_enough_info (line 202) | def _check_has_enough_info( method retrieve (line 222) | def retrieve(self, query: str, **kwargs) -> Tuple[List[RetrievalResult... method query (line 277) | def query(self, query: str, **kwargs) -> Tuple[str, List[RetrievalResu... method _format_retrieved_results (line 318) | def _format_retrieved_results(self, retrieved_results: List[RetrievalR... FILE: deepsearcher/agent/collection_router.py class CollectionRouter (line 18) | class CollectionRouter(BaseAgent): method __init__ (line 26) | def __init__(self, llm: BaseLLM, vector_db: BaseVectorDB, dim: int, **... method invoke (line 42) | def invoke(self, query: str, dim: int, **kwargs) -> Tuple[List[str], i... FILE: deepsearcher/agent/deep_search.py class DeepSearch (line 71) | class DeepSearch(RAGAgent): method __init__ (line 79) | def __init__( method _generate_sub_queries (line 111) | def _generate_sub_queries(self, original_query: str) -> Tuple[List[str... method _search_chunks_from_vectordb (line 120) | async def _search_chunks_from_vectordb(self, query: str, sub_queries: ... method _generate_gap_queries (line 173) | def _generate_gap_queries( method retrieve (line 187) | def retrieve(self, original_query: str, **kwargs) -> Tuple[List[Retrie... method async_retrieve (line 206) | async def async_retrieve( method query (line 271) | def query(self, query: str, **kwargs) -> Tuple[str, List[RetrievalResu... method _format_chunk_texts (line 315) | def _format_chunk_texts(self, chunk_texts: List[str]) -> str: FILE: deepsearcher/agent/naive_rag.py class NaiveRAG (line 19) | class NaiveRAG(RAGAgent): method __init__ (line 27) | def __init__( method retrieve (line 57) | def retrieve(self, query: str, **kwargs) -> Tuple[List[RetrievalResult... method query (line 95) | def query(self, query: str, **kwargs) -> Tuple[str, List[RetrievalResu... FILE: deepsearcher/agent/rag_router.py class RAGRouter (line 21) | class RAGRouter(RAGAgent): method __init__ (line 29) | def __init__( method _route (line 56) | def _route(self, query: str) -> Tuple[RAGAgent, int]: method retrieve (line 79) | def retrieve(self, query: str, **kwargs) -> Tuple[List[RetrievalResult... method query (line 84) | def query(self, query: str, **kwargs) -> Tuple[str, List[RetrievalResu... method find_last_digit (line 89) | def find_last_digit(self, string): FILE: deepsearcher/cli.py function main (line 18) | def main(): FILE: deepsearcher/configuration.py class Configuration (line 20) | class Configuration: method __init__ (line 29) | def __init__(self, config_path: str = DEFAULT_CONFIG_YAML_PATH): method load_config_from_yaml (line 42) | def load_config_from_yaml(self, config_path: str): method set_provider_config (line 55) | def set_provider_config(self, feature: FeatureType, provider: str, pro... method get_provider_config (line 73) | def get_provider_config(self, feature: FeatureType): class ModuleFactory (line 92) | class ModuleFactory: method __init__ (line 100) | def __init__(self, config: Configuration): method _create_module_instance (line 109) | def _create_module_instance(self, feature: FeatureType, module_name: s... method create_llm (line 128) | def create_llm(self) -> BaseLLM: method create_embedding (line 137) | def create_embedding(self) -> BaseEmbedding: method create_file_loader (line 146) | def create_file_loader(self) -> BaseLoader: method create_web_crawler (line 155) | def create_web_crawler(self) -> BaseCrawler: method create_vector_db (line 164) | def create_vector_db(self) -> BaseVectorDB: function init_config (line 186) | def init_config(config: Configuration): FILE: deepsearcher/embedding/base.py class BaseEmbedding (line 8) | class BaseEmbedding: method embed_query (line 17) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 29) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method embed_chunks (line 44) | def embed_chunks(self, chunks: List[Chunk], batch_size: int = 256) -> ... method dimension (line 69) | def dimension(self) -> int: FILE: deepsearcher/embedding/bedrock_embedding.py class BedrockEmbedding (line 24) | class BedrockEmbedding(BaseEmbedding): method __init__ (line 32) | def __init__(self, model: str = DEFAULT_MODEL_ID, region_name: str = "... method embed_query (line 74) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 91) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method dimension (line 106) | def dimension(self) -> int: FILE: deepsearcher/embedding/fastembed_embdding.py class FastEmbedEmbedding (line 7) | class FastEmbedEmbedding(BaseEmbedding): method __init__ (line 13) | def __init__(self, model="BAAI/bge-small-en-v1.5", **kwargs): method _ensure_model_loaded (line 34) | def _ensure_model_loaded(self): method embed_query (line 43) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 58) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method dimension (line 74) | def dimension(self) -> int: FILE: deepsearcher/embedding/gemini_embedding.py class GeminiEmbedding (line 12) | class GeminiEmbedding(BaseEmbedding): method __init__ (line 23) | def __init__(self, model: str = "text-embedding-004", **kwargs): method embed_chunks (line 49) | def embed_chunks(self, chunks, batch_size: int = 100): method _get_dim (line 53) | def _get_dim(self): method _embed_content (line 62) | def _embed_content(self, texts: List[str]): method embed_query (line 81) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 99) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method dimension (line 114) | def dimension(self) -> int: FILE: deepsearcher/embedding/glm_embedding.py class GLMEmbedding (line 11) | class GLMEmbedding(BaseEmbedding): method __init__ (line 16) | def __init__(self, model: str = "embedding-3", **kwargs): method embed_query (line 38) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 42) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method dimension (line 48) | def dimension(self) -> int: FILE: deepsearcher/embedding/jiekouai_embedding.py class JiekouAIEmbedding (line 18) | class JiekouAIEmbedding(BaseEmbedding): method __init__ (line 26) | def __init__(self, model="qwen/qwen3-embedding-8b", batch_size=32, **k... method embed_query (line 55) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 67) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method _embed_input (line 94) | def _embed_input(self, input: Union[str, List[str]]) -> List[List[floa... method dimension (line 124) | def dimension(self) -> int: FILE: deepsearcher/embedding/milvus_embedding.py class MilvusEmbedding (line 21) | class MilvusEmbedding(BaseEmbedding): method __init__ (line 30) | def __init__(self, model: str = None, **kwargs) -> None: method embed_query (line 69) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 81) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method dimension (line 101) | def dimension(self) -> int: FILE: deepsearcher/embedding/novita_embedding.py class NovitaEmbedding (line 15) | class NovitaEmbedding(BaseEmbedding): method __init__ (line 26) | def __init__(self, model="baai/bge-m3", batch_size=32, **kwargs): method embed_query (line 54) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 69) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method _embed_input (line 96) | def _embed_input(self, input: Union[str, List[str]]) -> List[List[floa... method dimension (line 121) | def dimension(self) -> int: FILE: deepsearcher/embedding/ollama_embedding.py class OllamaEmbedding (line 12) | class OllamaEmbedding(BaseEmbedding): method __init__ (line 20) | def __init__(self, model="bge-m3", batch_size=32, **kwargs): method embed_query (line 64) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 79) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method _embed_input (line 106) | def _embed_input(self, input: Union[str, List[str]]) -> List[List[floa... method dimension (line 123) | def dimension(self) -> int: FILE: deepsearcher/embedding/openai_embedding.py class OpenAIEmbedding (line 15) | class OpenAIEmbedding(BaseEmbedding): method __init__ (line 26) | def __init__(self, model: str = "text-embedding-ada-002", **kwargs): method _get_dim (line 91) | def _get_dim(self): method embed_query (line 101) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 123) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method dimension (line 146) | def dimension(self) -> int: FILE: deepsearcher/embedding/ppio_embedding.py class PPIOEmbedding (line 16) | class PPIOEmbedding(BaseEmbedding): method __init__ (line 24) | def __init__(self, model="baai/bge-m3", batch_size=32, **kwargs): method embed_query (line 53) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 65) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method _embed_input (line 92) | def _embed_input(self, input: Union[str, List[str]]) -> List[List[floa... method dimension (line 122) | def dimension(self) -> int: FILE: deepsearcher/embedding/sentence_transformer_embedding.py class SentenceTransformerEmbedding (line 13) | class SentenceTransformerEmbedding(BaseEmbedding): method __init__ (line 24) | def __init__(self, model="BAAI/bge-m3", batch_size=32, **kwargs): method embed_query (line 47) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 62) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method _embed_input (line 89) | def _embed_input(self, input: Union[str, List[str]]) -> List[List[floa... method dimension (line 109) | def dimension(self) -> int: FILE: deepsearcher/embedding/siliconflow_embedding.py class SiliconflowEmbedding (line 19) | class SiliconflowEmbedding(BaseEmbedding): method __init__ (line 30) | def __init__(self, model="BAAI/bge-m3", batch_size=32, **kwargs): method embed_query (line 58) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 73) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method _embed_input (line 100) | def _embed_input(self, input: Union[str, List[str]]) -> List[List[floa... method dimension (line 127) | def dimension(self) -> int: FILE: deepsearcher/embedding/volcengine_embedding.py class VolcengineEmbedding (line 17) | class VolcengineEmbedding(BaseEmbedding): method __init__ (line 28) | def __init__(self, model="doubao-embedding-large-text-240915", batch_s... method embed_query (line 56) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 71) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method _embed_input (line 98) | def _embed_input(self, input: Union[str, List[str]]) -> List[List[floa... method dimension (line 123) | def dimension(self) -> int: FILE: deepsearcher/embedding/voyage_embedding.py class VoyageEmbedding (line 13) | class VoyageEmbedding(BaseEmbedding): method __init__ (line 24) | def __init__(self, model="voyage-3", **kwargs): method embed_query (line 50) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 66) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method dimension (line 83) | def dimension(self) -> int: FILE: deepsearcher/embedding/watsonx_embedding.py class WatsonXEmbedding (line 25) | class WatsonXEmbedding(BaseEmbedding): method __init__ (line 37) | def __init__(self, model: str = "ibm/slate-125m-english-rtrvr-v2", **k... method _get_dim (line 116) | def _get_dim(self): method _count_tokens (line 138) | def _count_tokens(self, text: str) -> int: method _truncate_text (line 156) | def _truncate_text(self, text: str) -> str: method embed_query (line 229) | def embed_query(self, text: str) -> List[float]: method embed_documents (line 253) | def embed_documents(self, texts: List[str]) -> List[List[float]]: method _embed_documents_individually (line 288) | def _embed_documents_individually(self, texts: List[str]) -> List[List... method dimension (line 325) | def dimension(self) -> int: FILE: deepsearcher/llm/aliyun.py class Aliyun (line 7) | class Aliyun(BaseLLM): method __init__ (line 21) | def __init__(self, model: str = "deepseek-r1", **kwargs): method chat (line 47) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/anthropic_llm.py class Anthropic (line 7) | class Anthropic(BaseLLM): method __init__ (line 20) | def __init__(self, model: str = "claude-sonnet-4-0", max_tokens: int =... method chat (line 45) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/azure_openai.py class AzureOpenAI (line 6) | class AzureOpenAI(BaseLLM): method __init__ (line 14) | def __init__( method chat (line 48) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/base.py class ChatResponse (line 7) | class ChatResponse(ABC): method __init__ (line 19) | def __init__(self, content: str, total_tokens: int) -> None: method __repr__ (line 30) | def __repr__(self) -> str: class BaseLLM (line 40) | class BaseLLM(ABC): method __init__ (line 48) | def __init__(self): method chat (line 54) | def chat(self, messages: List[Dict]) -> ChatResponse: method literal_eval (line 68) | def literal_eval(response_content: str): method remove_think (line 115) | def remove_think(response_content: str) -> str: FILE: deepsearcher/llm/bedrock.py class Bedrock (line 7) | class Bedrock(BaseLLM): method __init__ (line 20) | def __init__( method chat (line 56) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/deepseek.py class DeepSeek (line 7) | class DeepSeek(BaseLLM): method __init__ (line 21) | def __init__(self, model: str = "deepseek-reasoner", **kwargs): method chat (line 45) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/gemini.py class Gemini (line 7) | class Gemini(BaseLLM): method __init__ (line 21) | def __init__(self, model: str = "gemini-2.0-flash", **kwargs): method chat (line 39) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/glm.py class GLM (line 7) | class GLM(BaseLLM): method __init__ (line 12) | def __init__(self, model: str = "glm-4-plus", **kwargs): method chat (line 26) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/jiekouai.py class JiekouAI (line 7) | class JiekouAI(BaseLLM): method __init__ (line 19) | def __init__(self, model: str = "claude-sonnet-4-5-20250929", **kwargs): method chat (line 42) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/novita.py class Novita (line 7) | class Novita(BaseLLM): method __init__ (line 12) | def __init__(self, model: str = "qwen/qwq-32b", **kwargs): method chat (line 26) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/ollama.py class Ollama (line 6) | class Ollama(BaseLLM): method __init__ (line 18) | def __init__(self, model: str = "qwq", **kwargs): method chat (line 36) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/openai_llm.py class OpenAI (line 7) | class OpenAI(BaseLLM): method __init__ (line 19) | def __init__(self, model: str = "o1-mini", **kwargs): method chat (line 42) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/ppio.py class PPIO (line 7) | class PPIO(BaseLLM): method __init__ (line 19) | def __init__(self, model: str = "deepseek/deepseek-r1-turbo", **kwargs): method chat (line 42) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/siliconflow.py class SiliconFlow (line 7) | class SiliconFlow(BaseLLM): method __init__ (line 21) | def __init__(self, model: str = "deepseek-ai/DeepSeek-R1", **kwargs): method chat (line 44) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/together_ai.py class TogetherAI (line 7) | class TogetherAI(BaseLLM): method __init__ (line 21) | def __init__(self, model: str = "deepseek-ai/DeepSeek-R1", **kwargs): method chat (line 39) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/volcengine.py class Volcengine (line 7) | class Volcengine(BaseLLM): method __init__ (line 21) | def __init__(self, model: str = "deepseek-r1-250120", **kwargs): method chat (line 44) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/llm/watsonx.py class WatsonX (line 16) | class WatsonX(BaseLLM): method __init__ (line 27) | def __init__(self, model: str = "ibm/granite-3-3-8b-instruct", **kwargs): method chat (line 96) | def chat(self, messages: List[Dict]) -> ChatResponse: method _messages_to_prompt (line 126) | def _messages_to_prompt(self, messages: List[Dict]) -> str: FILE: deepsearcher/llm/xai.py class XAI (line 7) | class XAI(BaseLLM): method __init__ (line 21) | def __init__(self, model: str = "grok-4", **kwargs): method chat (line 44) | def chat(self, messages: List[Dict]) -> ChatResponse: FILE: deepsearcher/loader/file_loader/base.py class BaseLoader (line 8) | class BaseLoader(ABC): method __init__ (line 16) | def __init__(self, **kwargs): method load_file (line 25) | def load_file(self, file_path: str) -> List[Document]: method load_directory (line 42) | def load_directory(self, directory: str) -> List[Document]: method supported_file_types (line 63) | def supported_file_types(self) -> List[str]: FILE: deepsearcher/loader/file_loader/docling_loader.py class DoclingLoader (line 10) | class DoclingLoader(BaseLoader): method __init__ (line 16) | def __init__(self): method load_file (line 26) | def load_file(self, file_path: str) -> List[Document]: method load_directory (line 68) | def load_directory(self, directory: str) -> List[Document]: method supported_file_types (line 87) | def supported_file_types(self) -> List[str]: FILE: deepsearcher/loader/file_loader/json_loader.py class JsonFileLoader (line 9) | class JsonFileLoader(BaseLoader): method __init__ (line 17) | def __init__(self, text_key: str): method load_file (line 26) | def load_file(self, file_path: str) -> List[Document]: method _read_json_file (line 48) | def _read_json_file(self, file_path: str) -> list[dict]: method _read_jsonl_file (line 66) | def _read_jsonl_file(self, file_path: str) -> List[dict]: method supported_file_types (line 87) | def supported_file_types(self) -> List[str]: FILE: deepsearcher/loader/file_loader/pdf_loader.py class PDFLoader (line 8) | class PDFLoader(BaseLoader): method __init__ (line 16) | def __init__(self): method load_file (line 22) | def load_file(self, file_path: str) -> List[Document]: method supported_file_types (line 47) | def supported_file_types(self) -> List[str]: FILE: deepsearcher/loader/file_loader/text_loader.py class TextLoader (line 8) | class TextLoader(BaseLoader): method __init__ (line 16) | def __init__(self): method load_file (line 22) | def load_file(self, file_path: str) -> List[Document]: method supported_file_types (line 36) | def supported_file_types(self) -> List[str]: FILE: deepsearcher/loader/file_loader/unstructured_loader.py class UnstructuredLoader (line 11) | class UnstructuredLoader(BaseLoader): method __init__ (line 19) | def __init__(self): method load_pipeline (line 30) | def load_pipeline(self, input_path: str) -> List[Document]: method load_file (line 103) | def load_file(self, file_path: str) -> List[Document]: method load_directory (line 115) | def load_directory(self, directory: str) -> List[Document]: method supported_file_types (line 128) | def supported_file_types(self) -> List[str]: FILE: deepsearcher/loader/splitter.py class Chunk (line 10) | class Chunk: method __init__ (line 24) | def __init__( function _sentence_window_split (line 46) | def _sentence_window_split( function split_docs_to_chunks (line 80) | def split_docs_to_chunks( FILE: deepsearcher/loader/web_crawler/base.py class BaseCrawler (line 7) | class BaseCrawler(ABC): method __init__ (line 15) | def __init__(self, **kwargs): method crawl_url (line 24) | def crawl_url(self, url: str, **crawl_kwargs) -> List[Document]: method crawl_urls (line 41) | def crawl_urls(self, urls: List[str], **crawl_kwargs) -> List[Document]: FILE: deepsearcher/loader/web_crawler/crawl4ai_crawler.py class Crawl4AICrawler (line 10) | class Crawl4AICrawler(BaseCrawler): method __init__ (line 19) | def __init__(self, **kwargs): method _lazy_init (line 31) | def _lazy_init(self): method _async_crawl (line 44) | async def _async_crawl(self, url: str) -> Document: method crawl_url (line 76) | def crawl_url(self, url: str) -> List[Document]: method _async_crawl_many (line 94) | async def _async_crawl_many(self, urls: List[str]) -> List[Document]: method crawl_urls (line 124) | def crawl_urls(self, urls: List[str], **crawl_kwargs) -> List[Document]: FILE: deepsearcher/loader/web_crawler/docling_crawler.py class DoclingCrawler (line 9) | class DoclingCrawler(BaseCrawler): method __init__ (line 17) | def __init__(self, **kwargs): method crawl_url (line 31) | def crawl_url(self, url: str, **crawl_kwargs) -> List[Document]: method supported_file_types (line 65) | def supported_file_types(self) -> List[str]: FILE: deepsearcher/loader/web_crawler/firecrawl_crawler.py class FireCrawlCrawler (line 10) | class FireCrawlCrawler(BaseCrawler): method __init__ (line 19) | def __init__(self, **kwargs): method crawl_url (line 29) | def crawl_url( FILE: deepsearcher/loader/web_crawler/jina_crawler.py class JinaCrawler (line 10) | class JinaCrawler(BaseCrawler): method __init__ (line 18) | def __init__(self, **kwargs): method crawl_url (line 33) | def crawl_url(self, url: str) -> List[Document]: FILE: deepsearcher/offline_loading.py function load_from_local_files (line 11) | def load_from_local_files( function load_from_website (line 72) | def load_from_website( FILE: deepsearcher/online_query.py function query (line 8) | def query(original_query: str, max_iter: int = 3) -> Tuple[str, List[Ret... function retrieve (line 29) | def retrieve( function naive_retrieve (line 55) | def naive_retrieve(query: str, collection: str = None, top_k=10) -> List... function naive_rag_query (line 75) | def naive_rag_query( FILE: deepsearcher/utils/log.py class ColoredFormatter (line 6) | class ColoredFormatter(logging.Formatter): method format (line 25) | def format(self, record): function set_dev_mode (line 70) | def set_dev_mode(mode: bool): function set_level (line 84) | def set_level(level): function debug (line 94) | def debug(message): function info (line 105) | def info(message): function warning (line 116) | def warning(message): function error (line 127) | def error(message): function critical (line 138) | def critical(message): function color_print (line 152) | def color_print(message, **kwargs): FILE: deepsearcher/vector_db/azure_search.py class AzureSearch (line 7) | class AzureSearch(BaseVectorDB): method __init__ (line 8) | def __init__(self, endpoint, index_name, api_key, vector_field): method init_collection (line 23) | def init_collection(self): method insert_data (line 66) | def insert_data(self, documents: List[dict]): method search_data (line 90) | def search_data( method clear_db (line 204) | def clear_db(self): method get_all_collections (line 223) | def get_all_collections(self) -> List[str]: method get_collection_info (line 237) | def get_collection_info(self, name: str) -> Dict[str, Any]: method collection_exists (line 247) | def collection_exists(self, name: str) -> bool: method list_collections (line 257) | def list_collections(self, *args, **kwargs) -> List[CollectionInfo]: FILE: deepsearcher/vector_db/base.py class RetrievalResult (line 9) | class RetrievalResult: method __init__ (line 24) | def __init__( method __repr__ (line 48) | def __repr__(self): function deduplicate_results (line 58) | def deduplicate_results(results: List[RetrievalResult]) -> List[Retrieva... class CollectionInfo (line 80) | class CollectionInfo: method __init__ (line 91) | def __init__(self, collection_name: str, description: str): class BaseVectorDB (line 103) | class BaseVectorDB(ABC): method __init__ (line 115) | def __init__( method init_collection (line 132) | def init_collection( method insert_data (line 155) | def insert_data(self, collection: str, chunks: List[Chunk], *args, **k... method search_data (line 168) | def search_data( method list_collections (line 185) | def list_collections(self, *args, **kwargs) -> List[CollectionInfo]: method clear_db (line 199) | def clear_db(self, *args, **kwargs): FILE: deepsearcher/vector_db/milvus.py class Milvus (line 11) | class Milvus(BaseVectorDB): method __init__ (line 16) | def __init__( method init_collection (line 48) | def init_collection( method insert_data (line 139) | def insert_data( method search_data (line 182) | def search_data( method list_collections (line 253) | def list_collections(self, *args, **kwargs) -> List[CollectionInfo]: method clear_db (line 291) | def clear_db(self, collection: str = "deepsearcher", *args, **kwargs): FILE: deepsearcher/vector_db/oracle.py class OracleDB (line 12) | class OracleDB(BaseVectorDB): method __init__ (line 17) | def __init__( method numpy_converter_in (line 72) | def numpy_converter_in(self, value): method input_type_handler (line 82) | def input_type_handler(self, cursor, value, arraysize): method numpy_converter_out (line 91) | def numpy_converter_out(self, value): method output_type_handler (line 101) | def output_type_handler(self, cursor, metadata): method query (line 110) | def query(self, sql: str, params: dict = None) -> Union[dict, None]: method execute (line 149) | def execute(self, sql: str, data: Union[list, dict] = None): method has_collection (line 178) | def has_collection(self, collection: str = "deepsearcher"): method check_table (line 199) | def check_table(self): method create_tables (line 217) | def create_tables(self, table_name): method drop_collection (line 235) | def drop_collection(self, collection: str = "deepsearcher"): method insertone (line 257) | def insertone(self, data): method searchone (line 268) | def searchone( method init_collection (line 313) | def init_collection( method insert_data (line 359) | def insert_data( method search_data (line 404) | def search_data( method list_collections (line 451) | def list_collections(self, *args, **kwargs) -> List[CollectionInfo]: method clear_db (line 480) | def clear_db(self, collection: str = "deepsearcher", *args, **kwargs): FILE: deepsearcher/vector_db/qdrant.py class Qdrant (line 17) | class Qdrant(BaseVectorDB): method __init__ (line 20) | def __init__( method init_collection (line 114) | def init_collection( method insert_data (line 163) | def insert_data( method search_data (line 206) | def search_data( method list_collections (line 250) | def list_collections(self, *args, **kwargs) -> List[CollectionInfo]: method clear_db (line 278) | def clear_db(self, collection: Optional[str] = None, *args, **kwargs): FILE: evaluation/evaluate.py function _deepsearch_retrieve_titles (line 34) | def _deepsearch_retrieve_titles( function _naive_retrieve_titles (line 77) | def _naive_retrieve_titles(question: str) -> List[str]: function _calcu_recall (line 94) | def _calcu_recall(sample, retrieved_titles, dataset) -> dict: function _print_recall_line (line 124) | def _print_recall_line(recall: dict, pre_str="", post_str="\n"): function evaluate (line 139) | def evaluate( function main_eval (line 263) | def main_eval(): FILE: examples/basic_watsonx_example.py function main (line 11) | def main(): FILE: examples/load_and_crawl_using_docling.py function main (line 10) | def main(): FILE: examples/load_local_file_using_unstructured.py function main (line 15) | def main(): FILE: examples/load_website_using_firecrawl.py function main (line 15) | def main(): FILE: main.py class ProviderConfigRequest (line 20) | class ProviderConfigRequest(BaseModel): function set_provider_config (line 36) | def set_provider_config(request: ProviderConfigRequest): function load_files (line 62) | def load_files( function load_website (line 112) | def load_website( function perform_query (line 162) | def perform_query( FILE: tests/agent/test_base.py class MockLLM (line 10) | class MockLLM(BaseLLM): method __init__ (line 13) | def __init__(self, predefined_responses=None): method chat (line 24) | def chat(self, messages, **kwargs): method literal_eval (line 37) | def literal_eval(self, text): class MockEmbedding (line 52) | class MockEmbedding(BaseEmbedding): method __init__ (line 55) | def __init__(self, dimension=8): method dimension (line 60) | def dimension(self): method embed_query (line 64) | def embed_query(self, text): method embed_documents (line 68) | def embed_documents(self, documents): class MockVectorDB (line 73) | class MockVectorDB(BaseVectorDB): method __init__ (line 76) | def __init__(self, collections=None): method search_data (line 98) | def search_data(self, collection, vector, top_k=10, **kwargs): method insert_data (line 115) | def insert_data(self, collection, chunks): method init_collection (line 122) | def init_collection(self, dim, collection, **kwargs): method list_collections (line 126) | def list_collections(self, dim=None): method clear_db (line 130) | def clear_db(self, collection): class BaseAgentTest (line 135) | class BaseAgentTest(unittest.TestCase): method setUp (line 138) | def setUp(self): FILE: tests/agent/test_chain_of_rag.py class TestChainOfRAG (line 10) | class TestChainOfRAG(BaseAgentTest): method setUp (line 13) | def setUp(self): method test_init (line 37) | def test_init(self): method test_reflect_get_subquery (line 47) | def test_reflect_get_subquery(self): method test_retrieve_and_answer (line 64) | def test_retrieve_and_answer(self): method test_get_supported_docs (line 87) | def test_get_supported_docs(self): method test_check_has_enough_info (line 110) | def test_check_has_enough_info(self): method test_retrieve (line 129) | def test_retrieve(self): method test_query (line 166) | def test_query(self): method test_format_retrieved_results (line 202) | def test_format_retrieved_results(self): FILE: tests/agent/test_collection_router.py class TestCollectionRouter (line 10) | class TestCollectionRouter(BaseAgentTest): method setUp (line 13) | def setUp(self): method test_init (line 35) | def test_init(self): method test_invoke_with_multiple_collections (line 44) | def test_invoke_with_multiple_collections(self): method test_invoke_with_empty_response (line 69) | def test_invoke_with_empty_response(self): method test_invoke_with_no_collections (line 88) | def test_invoke_with_no_collections(self): method test_invoke_with_single_collection (line 104) | def test_invoke_with_single_collection(self): method test_invoke_with_no_description (line 125) | def test_invoke_with_no_description(self): FILE: tests/agent/test_deep_search.py class TestDeepSearch (line 10) | class TestDeepSearch(BaseAgentTest): method setUp (line 13) | def setUp(self): method test_init (line 34) | def test_init(self): method test_generate_sub_queries (line 43) | def test_generate_sub_queries(self): method test_search_chunks_from_vectordb (line 56) | def test_search_chunks_from_vectordb(self): method test_generate_gap_queries (line 78) | def test_generate_gap_queries(self): method test_retrieve (line 103) | def test_retrieve(self): method test_async_retrieve (line 138) | def test_async_retrieve(self): method test_query (line 173) | def test_query(self): method test_query_no_results (line 203) | def test_query_no_results(self): method test_format_chunk_texts (line 219) | def test_format_chunk_texts(self): FILE: tests/agent/test_naive_rag.py class TestNaiveRAG (line 9) | class TestNaiveRAG(BaseAgentTest): method setUp (line 12) | def setUp(self): method test_init (line 24) | def test_init(self): method test_retrieve (line 33) | def test_retrieve(self): method test_retrieve_without_routing (line 55) | def test_retrieve_without_routing(self): method test_query (line 73) | def test_query(self): method test_with_window_splitter_disabled (line 104) | def test_with_window_splitter_disabled(self): FILE: tests/agent/test_rag_router.py class TestRAGRouter (line 11) | class TestRAGRouter(BaseAgentTest): method setUp (line 14) | def setUp(self): method test_init (line 32) | def test_init(self): method test_route (line 40) | def test_route(self): method test_route_with_non_numeric_response (line 54) | def test_route_with_non_numeric_response(self): method test_retrieve (line 68) | def test_retrieve(self): method test_query (line 95) | def test_query(self): method test_find_last_digit (line 122) | def test_find_last_digit(self): method test_auto_description_fallback (line 132) | def test_auto_description_fallback(self): FILE: tests/embedding/test_base.py class ConcreteEmbedding (line 9) | class ConcreteEmbedding(BaseEmbedding): method __init__ (line 12) | def __init__(self, dimension=768): method embed_query (line 15) | def embed_query(self, text: str) -> List[float]: method dimension (line 20) | def dimension(self) -> int: class TestBaseEmbedding (line 24) | class TestBaseEmbedding(unittest.TestCase): method test_embed_query (line 28) | def test_embed_query(self): method test_embed_documents (line 36) | def test_embed_documents(self): method test_embed_chunks (line 52) | def test_embed_chunks(self, mock_tqdm): method test_dimension_property (line 94) | def test_dimension_property(self): FILE: tests/embedding/test_bedrock_embedding.py class TestBedrockEmbedding (line 18) | class TestBedrockEmbedding(unittest.TestCase): method setUp (line 21) | def setUp(self): method tearDown (line 40) | def tearDown(self): method test_init_default (line 45) | def test_init_default(self): method test_init_with_credentials (line 68) | def test_init_with_credentials(self): method test_init_with_different_models (line 79) | def test_init_with_different_models(self): method test_embed_query (line 90) | def test_embed_query(self): method test_embed_documents (line 109) | def test_embed_documents(self): method test_dimension_property (line 132) | def test_dimension_property(self): FILE: tests/embedding/test_fastembed_embedding.py class TestFastEmbedEmbedding (line 12) | class TestFastEmbedEmbedding(unittest.TestCase): method setUp (line 15) | def setUp(self): method tearDown (line 31) | def tearDown(self): method test_init_default (line 36) | def test_init_default(self): method test_init_with_custom_model (line 50) | def test_init_with_custom_model(self): method test_init_with_kwargs (line 63) | def test_init_with_kwargs(self): method test_embed_query (line 77) | def test_embed_query(self): method test_embed_documents (line 93) | def test_embed_documents(self): method test_dimension_property (line 111) | def test_dimension_property(self): method test_lazy_loading (line 127) | def test_lazy_loading(self): FILE: tests/embedding/test_gemini_embedding.py function _resource_tracker (line 15) | def _resource_tracker(): class TestGeminiEmbedding (line 23) | class TestGeminiEmbedding(unittest.TestCase): method setUp (line 26) | def setUp(self): method tearDown (line 48) | def tearDown(self): method test_init_default (line 53) | def test_init_default(self): method test_init_with_api_key_from_env (line 67) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 73) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 80) | def test_init_with_custom_model(self): method test_init_with_custom_dimension (line 90) | def test_init_with_custom_dimension(self): method test_embed_query_single_char (line 99) | def test_embed_query_single_char(self): method test_embed_query_multi_char (line 120) | def test_embed_query_multi_char(self): method test_embed_documents (line 141) | def test_embed_documents(self): method test_embed_chunks (line 175) | def test_embed_chunks(self): method test_dimension_property_different_models (line 215) | def test_dimension_property_different_models(self): method test_get_dim_method (line 232) | def test_get_dim_method(self): method test_embed_content_method (line 245) | def test_embed_content_method(self): FILE: tests/embedding/test_glm_embedding.py class TestGLMEmbedding (line 8) | class TestGLMEmbedding(unittest.TestCase): method setUp (line 11) | def setUp(self): method tearDown (line 33) | def tearDown(self): method test_init_default (line 38) | def test_init_default(self): method test_init_with_api_key (line 54) | def test_init_with_api_key(self): method test_init_with_base_url (line 66) | def test_init_with_base_url(self): method test_embed_query (line 78) | def test_embed_query(self): method test_embed_documents (line 99) | def test_embed_documents(self): method test_dimension_property (line 133) | def test_dimension_property(self): FILE: tests/embedding/test_jiekouai_embedding.py class TestJiekouAIEmbedding (line 8) | class TestJiekouAIEmbedding(unittest.TestCase): method setUp (line 11) | def setUp(self): method tearDown (line 27) | def tearDown(self): method test_init_default (line 32) | def test_init_default(self): method test_init_with_model (line 43) | def test_init_with_model(self): method test_init_with_model_name (line 53) | def test_init_with_model_name(self): method test_init_with_api_key (line 62) | def test_init_with_api_key(self): method test_init_without_api_key (line 71) | def test_init_without_api_key(self): method test_embed_query (line 77) | def test_embed_query(self): method test_embed_documents (line 106) | def test_embed_documents(self): method test_embed_documents_with_batching (line 145) | def test_embed_documents_with_batching(self): method test_dimension_property (line 180) | def test_dimension_property(self): FILE: tests/embedding/test_milvus_embedding.py class TestMilvusEmbedding (line 8) | class TestMilvusEmbedding(unittest.TestCase): method setUp (line 11) | def setUp(self): method tearDown (line 40) | def tearDown(self): method test_init_default (line 45) | def test_init_default(self): method test_init_with_jina_model (line 54) | def test_init_with_jina_model(self): method test_init_with_bge_model (line 63) | def test_init_with_bge_model(self): method test_init_with_invalid_model (line 72) | def test_init_with_invalid_model(self): method test_embed_query (line 78) | def test_embed_query(self): method test_embed_documents (line 93) | def test_embed_documents(self): method test_dimension_property (line 114) | def test_dimension_property(self): FILE: tests/embedding/test_novita_embedding.py class TestNovitaEmbedding (line 9) | class TestNovitaEmbedding(unittest.TestCase): method setUp (line 12) | def setUp(self): method tearDown (line 28) | def tearDown(self): method test_init_default (line 33) | def test_init_default(self): method test_init_with_model (line 44) | def test_init_with_model(self): method test_init_with_model_name (line 54) | def test_init_with_model_name(self): method test_init_with_api_key (line 63) | def test_init_with_api_key(self): method test_init_without_api_key (line 72) | def test_init_without_api_key(self): method test_embed_query (line 78) | def test_embed_query(self): method test_embed_documents (line 108) | def test_embed_documents(self): method test_embed_documents_with_batching (line 148) | def test_embed_documents_with_batching(self): method test_dimension_property (line 183) | def test_dimension_property(self): FILE: tests/embedding/test_ollama_embedding.py class TestOllamaEmbedding (line 8) | class TestOllamaEmbedding(unittest.TestCase): method setUp (line 11) | def setUp(self): method tearDown (line 31) | def tearDown(self): method test_init_default (line 36) | def test_init_default(self): method test_init_with_base_url (line 50) | def test_init_with_base_url(self): method test_init_with_model_name (line 62) | def test_init_with_model_name(self): method test_init_with_dimension (line 76) | def test_init_with_dimension(self): method test_embed_query (line 88) | def test_embed_query(self): method test_embed_documents_small_batch (line 107) | def test_embed_documents_small_batch(self): method test_embed_documents_large_batch (line 136) | def test_embed_documents_large_batch(self): method test_embed_documents_no_batching (line 177) | def test_embed_documents_no_batching(self): method test_dimension_property (line 215) | def test_dimension_property(self): FILE: tests/embedding/test_openai_embedding.py class TestOpenAIEmbedding (line 9) | class TestOpenAIEmbedding(unittest.TestCase): method setUp (line 12) | def setUp(self): method tearDown (line 33) | def tearDown(self): method test_init_default (line 38) | def test_init_default(self): method test_init_with_model (line 52) | def test_init_with_model(self): method test_init_with_model_name (line 62) | def test_init_with_model_name(self): method test_init_with_dimension (line 71) | def test_init_with_dimension(self): method test_init_with_api_key (line 80) | def test_init_with_api_key(self): method test_init_with_base_url (line 89) | def test_init_with_base_url(self): method test_init_with_azure (line 99) | def test_init_with_azure(self, mock_azure_openai): method test_init_with_azure_deployment (line 127) | def test_init_with_azure_deployment(self, mock_azure_openai): method test_get_dim (line 143) | def test_get_dim(self): method test_embed_query (line 156) | def test_embed_query(self): method test_embed_query_azure (line 178) | def test_embed_query_azure(self): method test_embed_documents (line 219) | def test_embed_documents(self): method test_dimension_property (line 254) | def test_dimension_property(self): FILE: tests/embedding/test_ppio_embedding.py class TestPPIOEmbedding (line 9) | class TestPPIOEmbedding(unittest.TestCase): method setUp (line 12) | def setUp(self): method tearDown (line 28) | def tearDown(self): method test_init_default (line 33) | def test_init_default(self): method test_init_with_model (line 44) | def test_init_with_model(self): method test_init_with_model_name (line 54) | def test_init_with_model_name(self): method test_init_with_api_key (line 63) | def test_init_with_api_key(self): method test_init_without_api_key (line 72) | def test_init_without_api_key(self): method test_embed_query (line 78) | def test_embed_query(self): method test_embed_documents (line 107) | def test_embed_documents(self): method test_embed_documents_with_batching (line 146) | def test_embed_documents_with_batching(self): method test_dimension_property (line 181) | def test_dimension_property(self): FILE: tests/embedding/test_sentence_transformer_embedding.py class TestSentenceTransformerEmbedding (line 12) | class TestSentenceTransformerEmbedding(unittest.TestCase): method setUp (line 15) | def setUp(self): method tearDown (line 37) | def tearDown(self): method test_init (line 42) | def test_init(self): method test_embed_query (line 69) | def test_embed_query(self): method test_embed_documents_small_batch (line 90) | def test_embed_documents_small_batch(self): method test_embed_documents_large_batch (line 120) | def test_embed_documents_large_batch(self): method test_embed_documents_no_batching (line 159) | def test_embed_documents_no_batching(self): method test_dimension_property (line 194) | def test_dimension_property(self): FILE: tests/embedding/test_siliconflow_embedding.py class TestSiliconflowEmbedding (line 9) | class TestSiliconflowEmbedding(unittest.TestCase): method setUp (line 12) | def setUp(self): method tearDown (line 28) | def tearDown(self): method test_init_default (line 33) | def test_init_default(self): method test_init_with_model (line 44) | def test_init_with_model(self): method test_init_with_model_name (line 54) | def test_init_with_model_name(self): method test_init_with_api_key (line 63) | def test_init_with_api_key(self): method test_init_without_api_key (line 72) | def test_init_without_api_key(self): method test_embed_query (line 78) | def test_embed_query(self): method test_embed_documents (line 108) | def test_embed_documents(self): method test_embed_documents_with_batching (line 148) | def test_embed_documents_with_batching(self): method test_dimension_property (line 183) | def test_dimension_property(self): FILE: tests/embedding/test_volcengine_embedding.py class TestVolcengineEmbedding (line 9) | class TestVolcengineEmbedding(unittest.TestCase): method setUp (line 12) | def setUp(self): method tearDown (line 28) | def tearDown(self): method test_init_default (line 33) | def test_init_default(self): method test_init_with_model (line 44) | def test_init_with_model(self): method test_init_with_model_name (line 54) | def test_init_with_model_name(self): method test_init_with_api_key (line 63) | def test_init_with_api_key(self): method test_init_without_api_key (line 72) | def test_init_without_api_key(self): method test_embed_query (line 78) | def test_embed_query(self): method test_embed_documents (line 108) | def test_embed_documents(self): method test_embed_documents_with_batching (line 148) | def test_embed_documents_with_batching(self): method test_dimension_property (line 183) | def test_dimension_property(self): FILE: tests/embedding/test_voyage_embedding.py class TestVoyageEmbedding (line 8) | class TestVoyageEmbedding(unittest.TestCase): method setUp (line 11) | def setUp(self): method tearDown (line 29) | def tearDown(self): method test_init_default (line 34) | def test_init_default(self): method test_init_with_model (line 47) | def test_init_with_model(self): method test_init_with_model_name (line 57) | def test_init_with_model_name(self): method test_init_with_api_key (line 66) | def test_init_with_api_key(self): method test_embed_query (line 75) | def test_embed_query(self): method test_embed_documents (line 97) | def test_embed_documents(self): method test_dimension_property (line 126) | def test_dimension_property(self): FILE: tests/embedding/test_watsonx_embedding.py class TestWatsonXEmbedding (line 5) | class TestWatsonXEmbedding(unittest.TestCase): method setUp (line 8) | def setUp(self): method test_init_with_env_vars (line 31) | def test_init_with_env_vars(self, mock_credentials_class, mock_embeddi... method test_init_with_space_id (line 66) | def test_init_with_space_id(self, mock_credentials_class, mock_embeddi... method test_init_missing_api_key (line 87) | def test_init_missing_api_key(self, mock_credentials_class, mock_embed... method test_init_missing_url (line 102) | def test_init_missing_url(self, mock_credentials_class, mock_embedding... method test_init_missing_project_and_space_id (line 117) | def test_init_missing_project_and_space_id(self, mock_credentials_clas... method test_embed_query (line 133) | def test_embed_query(self, mock_credentials_class, mock_embeddings_cla... method test_embed_documents (line 166) | def test_embed_documents(self, mock_credentials_class, mock_embeddings... method test_dimension_property (line 206) | def test_dimension_property(self, mock_credentials_class, mock_embeddi... method test_embed_query_error_handling (line 235) | def test_embed_query_error_handling(self, mock_credentials_class, mock... method test_embed_documents_error_handling (line 262) | def test_embed_documents_error_handling(self, mock_credentials_class, ... FILE: tests/llm/test_aliyun.py class TestAliyun (line 13) | class TestAliyun(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 85) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 92) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 102) | def test_chat_single_message(self): method test_chat_multiple_messages (line 122) | def test_chat_multiple_messages(self): method test_chat_with_error (line 147) | def test_chat_with_error(self): FILE: tests/llm/test_anthropic.py class ContentItem (line 14) | class ContentItem: method __init__ (line 16) | def __init__(self, text: str): class TestAnthropic (line 20) | class TestAnthropic(unittest.TestCase): method setUp (line 23) | def setUp(self): method tearDown (line 46) | def tearDown(self): method test_init_default (line 50) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model_and_tokens (line 85) | def test_init_with_custom_model_and_tokens(self): method test_init_with_custom_base_url (line 94) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 105) | def test_chat_single_message(self): method test_chat_multiple_messages (line 126) | def test_chat_multiple_messages(self): method test_chat_with_error (line 152) | def test_chat_with_error(self): FILE: tests/llm/test_azure_openai.py class TestAzureOpenAI (line 13) | class TestAzureOpenAI(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 53) | def tearDown(self): method test_init_with_parameters (line 57) | def test_init_with_parameters(self): method test_init_with_env_variables (line 77) | def test_init_with_env_variables(self): method test_chat_single_message (line 93) | def test_chat_single_message(self): method test_chat_multiple_messages (line 118) | def test_chat_multiple_messages(self): method test_chat_with_error (line 148) | def test_chat_with_error(self): FILE: tests/llm/test_base.py class TestBaseLLM (line 6) | class TestBaseLLM(unittest.TestCase): method setUp (line 9) | def setUp(self): method tearDown (line 15) | def tearDown(self): method test_chat_response_init (line 19) | def test_chat_response_init(self): method test_literal_eval_python_code_block (line 32) | def test_literal_eval_python_code_block(self): method test_literal_eval_json_code_block (line 40) | def test_literal_eval_json_code_block(self): method test_literal_eval_str_code_block (line 48) | def test_literal_eval_str_code_block(self): method test_literal_eval_plain_code_block (line 56) | def test_literal_eval_plain_code_block(self): method test_literal_eval_raw_dict (line 64) | def test_literal_eval_raw_dict(self): method test_literal_eval_raw_list (line 70) | def test_literal_eval_raw_list(self): method test_literal_eval_with_whitespace (line 76) | def test_literal_eval_with_whitespace(self): method test_literal_eval_nested_structures (line 86) | def test_literal_eval_nested_structures(self): method test_literal_eval_invalid_format (line 107) | def test_literal_eval_invalid_format(self): method test_remove_think_with_tags (line 119) | def test_remove_think_with_tags(self): method test_remove_think_without_tags (line 129) | def test_remove_think_without_tags(self): method test_remove_think_multiple_tags (line 135) | def test_remove_think_multiple_tags(self): method test_remove_think_empty_tags (line 146) | def test_remove_think_empty_tags(self): FILE: tests/llm/test_bedrock.py class TestBedrock (line 13) | class TestBedrock(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 42) | def tearDown(self): method test_init_default (line 46) | def test_init_default(self): method test_init_with_aws_credentials_from_env (line 64) | def test_init_with_aws_credentials_from_env(self): method test_init_with_aws_credentials_parameters (line 81) | def test_init_with_aws_credentials_parameters(self): method test_init_with_custom_model_and_tokens (line 97) | def test_init_with_custom_model_and_tokens(self): method test_init_with_custom_region (line 104) | def test_init_with_custom_region(self): method test_chat_single_message (line 116) | def test_chat_single_message(self): method test_chat_multiple_messages (line 138) | def test_chat_multiple_messages(self): method test_chat_with_error (line 163) | def test_chat_with_error(self): method test_chat_with_preformatted_messages (line 177) | def test_chat_with_preformatted_messages(self): FILE: tests/llm/test_deepseek.py class TestDeepSeek (line 13) | class TestDeepSeek(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 79) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 89) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 96) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 107) | def test_chat_single_message(self): method test_chat_multiple_messages (line 127) | def test_chat_multiple_messages(self): method test_chat_with_error (line 152) | def test_chat_with_error(self): FILE: tests/llm/test_gemini.py class TestGemini (line 13) | class TestGemini(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 37) | def tearDown(self): method test_init_default (line 41) | def test_init_default(self): method test_init_with_api_key_from_env (line 52) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 59) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 66) | def test_init_with_custom_model(self): method test_chat_single_message (line 73) | def test_chat_single_message(self): method test_chat_multiple_messages (line 93) | def test_chat_multiple_messages(self): method test_chat_with_error (line 119) | def test_chat_with_error(self): FILE: tests/llm/test_glm.py class TestGLM (line 13) | class TestGLM(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 85) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 92) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 103) | def test_chat_single_message(self): method test_chat_multiple_messages (line 123) | def test_chat_multiple_messages(self): method test_chat_with_error (line 148) | def test_chat_with_error(self): FILE: tests/llm/test_jiekouai.py class TestJiekouAI (line 13) | class TestJiekouAI(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 85) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 92) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 103) | def test_chat_single_message(self): method test_chat_multiple_messages (line 123) | def test_chat_multiple_messages(self): method test_chat_with_error (line 148) | def test_chat_with_error(self): FILE: tests/llm/test_novita.py class TestNovita (line 13) | class TestNovita(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 85) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 92) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 103) | def test_chat_single_message(self): method test_chat_multiple_messages (line 123) | def test_chat_multiple_messages(self): method test_chat_with_error (line 148) | def test_chat_with_error(self): FILE: tests/llm/test_ollama.py class TestOllama (line 13) | class TestOllama(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 40) | def tearDown(self): method test_init_default (line 44) | def test_init_default(self): method test_init_with_custom_model (line 57) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 64) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 74) | def test_chat_single_message(self): method test_chat_multiple_messages (line 94) | def test_chat_multiple_messages(self): method test_chat_with_error (line 119) | def test_chat_with_error(self): FILE: tests/llm/test_openai.py class TestOpenAI (line 13) | class TestOpenAI(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 79) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 88) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 94) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 105) | def test_chat_single_message(self): method test_chat_multiple_messages (line 125) | def test_chat_multiple_messages(self): method test_chat_with_error (line 150) | def test_chat_with_error(self): FILE: tests/llm/test_ppio.py class TestPPIO (line 13) | class TestPPIO(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 85) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 92) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 103) | def test_chat_single_message(self): method test_chat_multiple_messages (line 123) | def test_chat_multiple_messages(self): method test_chat_with_error (line 148) | def test_chat_with_error(self): FILE: tests/llm/test_siliconflow.py class TestSiliconFlow (line 13) | class TestSiliconFlow(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 85) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 92) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 103) | def test_chat_single_message(self): method test_chat_multiple_messages (line 123) | def test_chat_multiple_messages(self): method test_chat_with_error (line 148) | def test_chat_with_error(self): FILE: tests/llm/test_together_ai.py class TestTogetherAI (line 13) | class TestTogetherAI(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 64) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 73) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 82) | def test_init_with_custom_model(self): method test_chat_single_message (line 89) | def test_chat_single_message(self): method test_chat_multiple_messages (line 109) | def test_chat_multiple_messages(self): method test_chat_with_error (line 134) | def test_chat_with_error(self): FILE: tests/llm/test_volcengine.py class TestVolcengine (line 13) | class TestVolcengine(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 85) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 92) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 103) | def test_chat_single_message(self): method test_chat_multiple_messages (line 123) | def test_chat_multiple_messages(self): method test_chat_with_error (line 148) | def test_chat_with_error(self): FILE: tests/llm/test_watsonx.py class TestWatsonX (line 5) | class TestWatsonX(unittest.TestCase): method setUp (line 8) | def setUp(self): method test_init_with_env_vars (line 20) | def test_init_with_env_vars(self, mock_gen_text_params_class, mock_cre... method test_init_with_space_id (line 61) | def test_init_with_space_id(self, mock_gen_text_params_class, mock_cre... method test_init_with_custom_model (line 94) | def test_init_with_custom_model(self, mock_gen_text_params_class, mock... method test_init_with_custom_params (line 129) | def test_init_with_custom_params(self, mock_gen_text_params_class, moc... method test_init_missing_api_key (line 164) | def test_init_missing_api_key(self, mock_gen_text_params_class, mock_c... method test_init_missing_url (line 180) | def test_init_missing_url(self, mock_gen_text_params_class, mock_crede... method test_init_missing_project_and_space_id (line 196) | def test_init_missing_project_and_space_id(self, mock_gen_text_params_... method test_chat_simple_message (line 213) | def test_chat_simple_message(self, mock_gen_text_params_class, mock_cr... method test_chat_with_system_message (line 259) | def test_chat_with_system_message(self, mock_gen_text_params_class, mo... method test_chat_conversation_history (line 301) | def test_chat_conversation_history(self, mock_gen_text_params_class, m... method test_chat_error_handling (line 349) | def test_chat_error_handling(self, mock_gen_text_params_class, mock_cr... method test_messages_to_prompt (line 384) | def test_messages_to_prompt(self, mock_gen_text_params_class, mock_cre... FILE: tests/llm/test_xai.py class TestXAI (line 13) | class TestXAI(unittest.TestCase): method setUp (line 16) | def setUp(self): method tearDown (line 47) | def tearDown(self): method test_init_default (line 51) | def test_init_default(self): method test_init_with_api_key_from_env (line 65) | def test_init_with_api_key_from_env(self): method test_init_with_api_key_parameter (line 75) | def test_init_with_api_key_parameter(self): method test_init_with_custom_model (line 85) | def test_init_with_custom_model(self): method test_init_with_custom_base_url (line 92) | def test_init_with_custom_base_url(self): method test_chat_single_message (line 103) | def test_chat_single_message(self): method test_chat_multiple_messages (line 123) | def test_chat_multiple_messages(self): method test_chat_with_error (line 148) | def test_chat_with_error(self): FILE: tests/loader/file_loader/test_base.py class TestBaseLoader (line 10) | class TestBaseLoader(unittest.TestCase): method test_abstract_methods (line 13) | def test_abstract_methods(self): method test_load_directory (line 20) | def test_load_directory(self): FILE: tests/loader/file_loader/test_docling_loader.py class TestDoclingLoader (line 11) | class TestDoclingLoader(unittest.TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 64) | def tearDown(self): method test_init (line 69) | def test_init(self): method test_supported_file_types (line 79) | def test_supported_file_types(self): method test_load_file (line 88) | def test_load_file(self): method test_load_file_not_found (line 124) | def test_load_file_not_found(self): method test_load_unsupported_file_type (line 130) | def test_load_unsupported_file_type(self): method test_load_file_error (line 135) | def test_load_file_error(self): method test_load_directory (line 144) | def test_load_directory(self): method test_load_not_a_directory (line 178) | def test_load_not_a_directory(self): FILE: tests/loader/file_loader/test_json_loader.py class TestJsonFileLoader (line 11) | class TestJsonFileLoader(unittest.TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 62) | def tearDown(self): method test_load_json_file (line 66) | def test_load_json_file(self): method test_load_jsonl_file (line 84) | def test_load_jsonl_file(self): method test_invalid_json_file (line 102) | def test_invalid_json_file(self): method test_invalid_jsonl_file (line 107) | def test_invalid_jsonl_file(self): method test_supported_file_types (line 115) | def test_supported_file_types(self): FILE: tests/loader/file_loader/test_pdf_loader.py class TestPDFLoader (line 11) | class TestPDFLoader(unittest.TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 35) | def tearDown(self): method test_supported_file_types (line 39) | def test_supported_file_types(self): method test_load_text_file (line 47) | def test_load_text_file(self): method test_load_markdown_file (line 61) | def test_load_markdown_file(self): method test_load_pdf_file (line 76) | def test_load_pdf_file(self, mock_pdf_open): method test_load_directory (line 114) | def test_load_directory(self): FILE: tests/loader/file_loader/test_text_loader.py class TestTextLoader (line 8) | class TestTextLoader(unittest.TestCase): method setUp (line 11) | def setUp(self): method tearDown (line 24) | def tearDown(self): method test_supported_file_types (line 28) | def test_supported_file_types(self): method test_load_file (line 35) | def test_load_file(self): method test_load_directory (line 51) | def test_load_directory(self): FILE: tests/loader/file_loader/test_unstructured_loader.py class TestUnstructuredLoader (line 12) | class TestUnstructuredLoader(unittest.TestCase): method setUp (line 15) | def setUp(self): method tearDown (line 75) | def tearDown(self): method test_init (line 84) | def test_init(self): method test_supported_file_types (line 88) | def test_supported_file_types(self): method test_load_file (line 101) | def test_load_file(self, mock_listdir): method test_load_directory (line 123) | def test_load_directory(self, mock_listdir): method test_load_with_api (line 141) | def test_load_with_api(self, mock_listdir): method test_empty_output (line 175) | def test_empty_output(self, mock_listdir): method test_error_reading_json (line 187) | def test_error_reading_json(self, mock_listdir): FILE: tests/loader/test_splitter.py class TestSplitter (line 7) | class TestSplitter(unittest.TestCase): method test_chunk_init (line 10) | def test_chunk_init(self): method test_sentence_window_split (line 28) | def test_sentence_window_split(self): method test_split_docs_to_chunks (line 62) | def test_split_docs_to_chunks(self): FILE: tests/loader/web_crawler/test_base.py class TestBaseCrawler (line 7) | class TestBaseCrawler(unittest.TestCase): method test_abstract_methods (line 10) | def test_abstract_methods(self): method test_crawl_urls (line 16) | def test_crawl_urls(self): FILE: tests/loader/web_crawler/test_crawl4ai_crawler.py class TestCrawl4AICrawler (line 11) | class TestCrawl4AICrawler(unittest.TestCase): method setUp (line 14) | def setUp(self): method tearDown (line 48) | def tearDown(self): method test_init (line 52) | def test_init(self): method test_lazy_init (line 60) | def test_lazy_init(self): method test_crawl_url (line 75) | def test_crawl_url(self, mock_asyncio_run): method test_crawl_url_error (line 99) | def test_crawl_url_error(self, mock_asyncio_run): method test_crawl_urls (line 113) | def test_crawl_urls(self, mock_asyncio_run): method test_crawl_urls_error (line 142) | def test_crawl_urls_error(self, mock_asyncio_run): FILE: tests/loader/web_crawler/test_docling_crawler.py class TestDoclingCrawler (line 9) | class TestDoclingCrawler(unittest.TestCase): method setUp (line 12) | def setUp(self): method tearDown (line 42) | def tearDown(self): method test_init (line 46) | def test_init(self): method test_crawl_url (line 56) | def test_crawl_url(self): method test_crawl_url_error (line 94) | def test_crawl_url_error(self): method test_supported_file_types (line 105) | def test_supported_file_types(self): method test_crawl_urls (line 121) | def test_crawl_urls(self): FILE: tests/loader/web_crawler/test_firecrawl_crawler.py class TestFireCrawlCrawler (line 10) | class TestFireCrawlCrawler(unittest.TestCase): method setUp (line 13) | def setUp(self): method tearDown (line 30) | def tearDown(self): method test_init (line 35) | def test_init(self): method test_crawl_url_single_page (line 39) | def test_crawl_url_single_page(self): method test_crawl_url_multiple_pages (line 67) | def test_crawl_url_multiple_pages(self): method test_crawl_url_with_default_params (line 115) | def test_crawl_url_with_default_params(self): FILE: tests/loader/web_crawler/test_jina_crawler.py class TestJinaCrawler (line 11) | class TestJinaCrawler(unittest.TestCase): method test_init_with_token (line 15) | def test_init_with_token(self): method test_init_with_alternative_key (line 21) | def test_init_with_alternative_key(self): method test_init_without_token (line 27) | def test_init_without_token(self): method test_crawl_url (line 34) | def test_crawl_url(self, mock_get): method test_crawl_url_http_error (line 71) | def test_crawl_url_http_error(self, mock_get): method test_crawl_urls (line 85) | def test_crawl_urls(self, mock_get): FILE: tests/utils/test_log.py class TestColoredFormatter (line 10) | class TestColoredFormatter(unittest.TestCase): method setUp (line 13) | def setUp(self): method test_format_debug (line 17) | def test_format_debug(self): method test_format_info (line 26) | def test_format_info(self): method test_format_warning (line 35) | def test_format_warning(self): method test_format_error (line 44) | def test_format_error(self): method test_format_critical (line 53) | def test_format_critical(self): method test_format_unknown_level (line 62) | def test_format_unknown_level(self): class TestLogFunctions (line 73) | class TestLogFunctions(unittest.TestCase): method setUp (line 76) | def setUp(self): method tearDown (line 91) | def tearDown(self): method test_set_dev_mode (line 96) | def test_set_dev_mode(self): method test_set_level (line 104) | def test_set_level(self): method test_debug_in_dev_mode (line 109) | def test_debug_in_dev_mode(self): method test_debug_not_in_dev_mode (line 115) | def test_debug_not_in_dev_mode(self): method test_info_in_dev_mode (line 121) | def test_info_in_dev_mode(self): method test_info_not_in_dev_mode (line 127) | def test_info_not_in_dev_mode(self): method test_warning_in_dev_mode (line 133) | def test_warning_in_dev_mode(self): method test_warning_not_in_dev_mode (line 139) | def test_warning_not_in_dev_mode(self): method test_error_in_dev_mode (line 145) | def test_error_in_dev_mode(self): method test_error_not_in_dev_mode (line 151) | def test_error_not_in_dev_mode(self): method test_critical (line 157) | def test_critical(self): method test_color_print (line 165) | def test_color_print(self): FILE: tests/vector_db/test_azure_search.py class TestAzureSearch (line 10) | class TestAzureSearch(unittest.TestCase): method setUp (line 13) | def setUp(self): method tearDown (line 60) | def tearDown(self): method test_init (line 64) | def test_init(self): method test_init_collection (line 84) | def test_init_collection(self): method test_insert_data (line 101) | def test_insert_data(self): method test_search_data (line 139) | def test_search_data(self): method test_clear_db (line 185) | def test_clear_db(self): method test_list_collections (line 207) | def test_list_collections(self): FILE: tests/vector_db/test_base.py class TestRetrievalResult (line 14) | class TestRetrievalResult(unittest.TestCase): method setUp (line 17) | def setUp(self): method test_init (line 25) | def test_init(self): method test_init_default_score (line 41) | def test_init_default_score(self): method test_repr (line 51) | def test_repr(self): class TestDeduplicateResults (line 64) | class TestDeduplicateResults(unittest.TestCase): method setUp (line 67) | def setUp(self): method test_no_duplicates (line 76) | def test_no_duplicates(self): method test_with_duplicates (line 86) | def test_with_duplicates(self): method test_empty_list (line 98) | def test_empty_list(self): class TestCollectionInfo (line 105) | class TestCollectionInfo(unittest.TestCase): method test_init (line 108) | def test_init(self): class MockVectorDB (line 118) | class MockVectorDB(BaseVectorDB): method init_collection (line 121) | def init_collection(self, dim, collection, description, force_new_coll... method insert_data (line 124) | def insert_data(self, collection, chunks, *args, **kwargs): method search_data (line 127) | def search_data(self, collection, vector, *args, **kwargs) -> List[Ret... method clear_db (line 130) | def clear_db(self, *args, **kwargs): class TestBaseVectorDB (line 134) | class TestBaseVectorDB(unittest.TestCase): method setUp (line 137) | def setUp(self): method test_init_default (line 141) | def test_init_default(self): method test_init_custom_collection (line 145) | def test_init_custom_collection(self): method test_list_collections_default (line 151) | def test_list_collections_default(self): FILE: tests/vector_db/test_milvus.py class TestMilvus (line 14) | class TestMilvus(unittest.TestCase): method test_init (line 17) | def test_init(self): method test_init_collection (line 30) | def test_init_collection(self): method test_insert_data_with_retrieval_results (line 47) | def test_insert_data_with_retrieval_results(self): method test_search_data (line 81) | def test_search_data(self): method test_clear_collection (line 108) | def test_clear_collection(self): method test_list_collections (line 123) | def test_list_collections(self): FILE: tests/vector_db/test_oracle.py class TestOracleDB (line 12) | class TestOracleDB(unittest.TestCase): method setUp (line 15) | def setUp(self): method tearDown (line 36) | def tearDown(self): method test_init (line 40) | def test_init(self): method test_insert_data (line 62) | def test_insert_data(self): method test_search_data (line 104) | def test_search_data(self): method test_list_collections (line 159) | def test_list_collections(self): method test_clear_db (line 190) | def test_clear_db(self): method test_has_collection (line 214) | def test_has_collection(self): FILE: tests/vector_db/test_qdrant.py class TestQdrant (line 6) | class TestQdrant(unittest.TestCase): method setUp (line 9) | def setUp(self): method tearDown (line 32) | def tearDown(self): method test_init (line 37) | def test_init(self, mock_client_class): method test_init_collection (line 55) | def test_init_collection(self, mock_client_class): method test_insert_data (line 77) | def test_insert_data(self, mock_client_class): method test_search_data (line 116) | def test_search_data(self, mock_client_class): method test_clear_collection (line 172) | def test_clear_collection(self, mock_client_class):