Coverage report: 66%

Files Functions Classes

coverage.py v7.11.0, created at 2025-11-08 13:51 -0700

File function statements missing excluded coverage
src/dataknobs_llm/conversations/flow/adapter.py FlowExecutionState.increment_loop_count 3 3 0 0%
src/dataknobs_llm/conversations/flow/adapter.py FlowExecutionState.add_to_history 1 1 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter.__init__ 5 5 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter.to_fsm_config 14 14 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter._create_state_transform_function 4 4 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter._create_state_transform_function.transform_func 27 27 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter._register_condition_function 4 4 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter._register_condition_function.condition_func 10 10 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter.execute 11 11 0 0%
src/dataknobs_llm/conversations/flow/adapter.py ConversationFlowAdapter.get_execution_summary 1 1 0 0%
src/dataknobs_llm/conversations/flow/adapter.py (no function) 23 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py AlwaysCondition.evaluate 1 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py AlwaysCondition.to_fsm_function 1 1 0 0%
src/dataknobs_llm/conversations/flow/conditions.py KeywordCondition.evaluate 10 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py KeywordCondition.to_fsm_function 1 1 0 0%
src/dataknobs_llm/conversations/flow/conditions.py RegexCondition.__post_init__ 1 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py RegexCondition.evaluate 1 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py RegexCondition.to_fsm_function 1 1 0 0%
src/dataknobs_llm/conversations/flow/conditions.py LLMClassifierCondition.evaluate 11 11 0 0%
src/dataknobs_llm/conversations/flow/conditions.py LLMClassifierCondition.to_fsm_function 1 1 0 0%
src/dataknobs_llm/conversations/flow/conditions.py ContextCondition.evaluate 1 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py ContextCondition.to_fsm_function 1 1 0 0%
src/dataknobs_llm/conversations/flow/conditions.py CompositeCondition.__post_init__ 2 1 0 50%
src/dataknobs_llm/conversations/flow/conditions.py CompositeCondition.evaluate 4 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py CompositeCondition.to_fsm_function 1 1 0 0%
src/dataknobs_llm/conversations/flow/conditions.py SentimentCondition.__post_init__ 3 1 0 67%
src/dataknobs_llm/conversations/flow/conditions.py SentimentCondition.evaluate 18 2 0 89%
src/dataknobs_llm/conversations/flow/conditions.py SentimentCondition.to_fsm_function 1 1 0 0%
src/dataknobs_llm/conversations/flow/conditions.py keyword_condition 1 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py regex_condition 1 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py always 1 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py context_condition 1 0 0 100%
src/dataknobs_llm/conversations/flow/conditions.py (no function) 53 0 0 100%
src/dataknobs_llm/conversations/flow/flow.py TransitionCondition.evaluate 0 0 10 100%
src/dataknobs_llm/conversations/flow/flow.py TransitionCondition.to_fsm_function 0 0 6 100%
src/dataknobs_llm/conversations/flow/flow.py FlowState.__post_init__ 5 1 0 80%
src/dataknobs_llm/conversations/flow/flow.py ConversationFlow.__post_init__ 12 3 0 75%
src/dataknobs_llm/conversations/flow/flow.py ConversationFlow.get_state 3 0 0 100%
src/dataknobs_llm/conversations/flow/flow.py ConversationFlow.get_reachable_states 2 0 0 100%
src/dataknobs_llm/conversations/flow/flow.py ConversationFlow.validate_flow 16 0 0 100%
src/dataknobs_llm/conversations/flow/flow.py (no function) 30 0 8 100%
src/dataknobs_llm/conversations/manager.py ConversationManager.__init__ 8 0 0 100%
src/dataknobs_llm/conversations/manager.py ConversationManager.create 4 0 0 100%
src/dataknobs_llm/conversations/manager.py ConversationManager.resume 5 0 0 100%
src/dataknobs_llm/conversations/manager.py ConversationManager.add_message 36 2 0 94%
src/dataknobs_llm/conversations/manager.py ConversationManager.complete 23 1 0 96%
src/dataknobs_llm/conversations/manager.py ConversationManager.stream_complete 28 2 0 93%
src/dataknobs_llm/conversations/manager.py ConversationManager.switch_to_node 8 1 0 88%
src/dataknobs_llm/conversations/manager.py ConversationManager.execute_flow 23 23 0 0%
src/dataknobs_llm/conversations/manager.py ConversationManager.get_history 3 1 0 67%
src/dataknobs_llm/conversations/manager.py ConversationManager.get_branches 12 3 0 75%
src/dataknobs_llm/conversations/manager.py ConversationManager.add_metadata 5 1 0 80%
src/dataknobs_llm/conversations/manager.py ConversationManager._find_cached_rag 42 5 0 88%
src/dataknobs_llm/conversations/manager.py ConversationManager.get_rag_metadata 8 1 0 88%
src/dataknobs_llm/conversations/manager.py ConversationManager._save_state 2 0 0 100%
src/dataknobs_llm/conversations/manager.py ConversationManager.conversation_id 1 0 0 100%
src/dataknobs_llm/conversations/manager.py ConversationManager.current_node_id 1 0 0 100%
src/dataknobs_llm/conversations/manager.py ConversationManager.get_metadata 5 5 0 0%
src/dataknobs_llm/conversations/manager.py ConversationManager.set_metadata 2 2 0 0%
src/dataknobs_llm/conversations/manager.py ConversationManager.update_metadata 2 2 0 0%
src/dataknobs_llm/conversations/manager.py ConversationManager.remove_metadata 2 2 0 0%
src/dataknobs_llm/conversations/manager.py ConversationManager.get_total_cost 6 6 0 0%
src/dataknobs_llm/conversations/manager.py ConversationManager.get_total_cost.walk_tree 6 6 0 0%
src/dataknobs_llm/conversations/manager.py ConversationManager.get_cost_by_branch 16 16 0 0%
src/dataknobs_llm/conversations/manager.py ConversationManager._calculate_and_track_cost 14 9 0 36%
src/dataknobs_llm/conversations/manager.py (no function) 37 0 0 100%
src/dataknobs_llm/conversations/middleware.py ConversationMiddleware.process_request 0 0 20 100%
src/dataknobs_llm/conversations/middleware.py ConversationMiddleware.process_response 0 0 19 100%
src/dataknobs_llm/conversations/middleware.py LoggingMiddleware.__init__ 1 0 0 100%
src/dataknobs_llm/conversations/middleware.py LoggingMiddleware.process_request 3 0 0 100%
src/dataknobs_llm/conversations/middleware.py LoggingMiddleware.process_response 5 0 0 100%
src/dataknobs_llm/conversations/middleware.py ContentFilterMiddleware.__init__ 3 0 0 100%
src/dataknobs_llm/conversations/middleware.py ContentFilterMiddleware.process_request 1 0 0 100%
src/dataknobs_llm/conversations/middleware.py ContentFilterMiddleware.process_response 13 0 0 100%
src/dataknobs_llm/conversations/middleware.py ValidationMiddleware.__init__ 5 0 0 100%
src/dataknobs_llm/conversations/middleware.py ValidationMiddleware.process_request 1 0 0 100%
src/dataknobs_llm/conversations/middleware.py ValidationMiddleware.process_response 13 1 0 92%
src/dataknobs_llm/conversations/middleware.py ValidationMiddleware._check_validity 1 0 0 100%
src/dataknobs_llm/conversations/middleware.py MetadataMiddleware.__init__ 4 0 0 100%
src/dataknobs_llm/conversations/middleware.py MetadataMiddleware.process_request 10 2 0 80%
src/dataknobs_llm/conversations/middleware.py MetadataMiddleware.process_response 9 0 0 100%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware.__init__ 5 5 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware._get_rate_limit_key 5 5 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware._clean_old_requests 3 3 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware._check_rate_limit 6 6 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware._record_request 3 3 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware.process_request 19 19 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware.process_response 9 9 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware.get_rate_limit_status 9 9 0 0%
src/dataknobs_llm/conversations/middleware.py RateLimitMiddleware.reset 4 4 0 0%
src/dataknobs_llm/conversations/middleware.py (no function) 37 0 12 100%
src/dataknobs_llm/conversations/storage.py ConversationNode.to_dict 1 0 0 100%
src/dataknobs_llm/conversations/storage.py ConversationNode.from_dict 2 0 0 100%
src/dataknobs_llm/conversations/storage.py calculate_node_id 9 0 0 100%
src/dataknobs_llm/conversations/storage.py get_node_by_id 12 0 0 100%
src/dataknobs_llm/conversations/storage.py get_messages_for_llm 9 1 0 89%
src/dataknobs_llm/conversations/storage.py ConversationState.get_current_node 1 0 0 100%
src/dataknobs_llm/conversations/storage.py ConversationState.get_current_messages 1 0 0 100%
src/dataknobs_llm/conversations/storage.py ConversationState.to_dict 11 0 0 100%
src/dataknobs_llm/conversations/storage.py ConversationState.from_dict 25 6 0 76%
src/dataknobs_llm/conversations/storage.py ConversationState._migrate_schema 13 1 0 92%
src/dataknobs_llm/conversations/storage.py ConversationStorage.save_conversation 0 0 6 100%
src/dataknobs_llm/conversations/storage.py ConversationStorage.load_conversation 0 0 9 100%
src/dataknobs_llm/conversations/storage.py ConversationStorage.delete_conversation 0 0 9 100%
src/dataknobs_llm/conversations/storage.py ConversationStorage.list_conversations 0 0 11 100%
src/dataknobs_llm/conversations/storage.py DataknobsConversationStorage.__init__ 1 0 0 100%
src/dataknobs_llm/conversations/storage.py DataknobsConversationStorage._state_to_record 6 2 0 67%
src/dataknobs_llm/conversations/storage.py DataknobsConversationStorage._record_to_state 4 0 0 100%
src/dataknobs_llm/conversations/storage.py DataknobsConversationStorage.save_conversation 5 2 0 60%
src/dataknobs_llm/conversations/storage.py DataknobsConversationStorage.load_conversation 7 2 0 71%
src/dataknobs_llm/conversations/storage.py DataknobsConversationStorage.delete_conversation 4 2 0 50%
src/dataknobs_llm/conversations/storage.py DataknobsConversationStorage.list_conversations 14 4 0 71%
src/dataknobs_llm/conversations/storage.py (no function) 52 0 16 100%
src/dataknobs_llm/fsm_integration/functions.py PromptBuilder.__init__ 4 4 0 0%
src/dataknobs_llm/fsm_integration/functions.py PromptBuilder.transform 26 26 0 0%
src/dataknobs_llm/fsm_integration/functions.py PromptBuilder.get_transform_description 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py LLMCaller.__init__ 6 6 0 0%
src/dataknobs_llm/fsm_integration/functions.py LLMCaller.transform 14 14 0 0%
src/dataknobs_llm/fsm_integration/functions.py LLMCaller.get_transform_description 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py ResponseValidator.__init__ 6 6 0 0%
src/dataknobs_llm/fsm_integration/functions.py ResponseValidator.validate 26 26 0 0%
src/dataknobs_llm/fsm_integration/functions.py ResponseValidator.get_validation_rules 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py FunctionCaller.__init__ 3 3 0 0%
src/dataknobs_llm/fsm_integration/functions.py FunctionCaller.transform 22 22 0 0%
src/dataknobs_llm/fsm_integration/functions.py FunctionCaller.get_transform_description 2 2 0 0%
src/dataknobs_llm/fsm_integration/functions.py ConversationManager.__init__ 4 4 0 0%
src/dataknobs_llm/fsm_integration/functions.py ConversationManager.transform 12 12 0 0%
src/dataknobs_llm/fsm_integration/functions.py ConversationManager.get_transform_description 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py EmbeddingGenerator.__init__ 5 5 0 0%
src/dataknobs_llm/fsm_integration/functions.py EmbeddingGenerator.transform 17 17 0 0%
src/dataknobs_llm/fsm_integration/functions.py EmbeddingGenerator.get_transform_description 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py build_prompt 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py call_llm 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py validate_response 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py call_function 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py manage_conversation 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py generate_embeddings 1 1 0 0%
src/dataknobs_llm/fsm_integration/functions.py (no function) 35 0 0 100%
src/dataknobs_llm/fsm_integration/resources.py LLMSession.check_rate_limits 14 14 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMSession.record_usage 6 6 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource.__init__ 14 14 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._get_default_endpoint 2 2 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._initialize_client 20 20 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource.acquire 17 17 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource.release 8 8 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource.validate 6 6 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource.health_check 30 30 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource.complete 21 21 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._ollama_complete 7 7 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._huggingface_complete 10 10 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._openai_complete 14 14 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._anthropic_complete 14 14 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._custom_complete 0 0 1 100%
src/dataknobs_llm/fsm_integration/resources.py LLMResource.embed 18 18 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._ollama_embed 9 9 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._huggingface_embed 16 16 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource._openai_embed 13 13 0 0%
src/dataknobs_llm/fsm_integration/resources.py LLMResource.get_usage_stats 6 6 0 0%
src/dataknobs_llm/fsm_integration/resources.py (no function) 56 0 0 100%
src/dataknobs_llm/fsm_integration/workflows.py VectorRetriever.__init__ 3 3 0 0%
src/dataknobs_llm/fsm_integration/workflows.py VectorRetriever.index_documents 15 15 0 0%
src/dataknobs_llm/fsm_integration/workflows.py VectorRetriever._normalize_embedding 5 5 0 0%
src/dataknobs_llm/fsm_integration/workflows.py VectorRetriever._generate_mock_embeddings 14 14 0 0%
src/dataknobs_llm/fsm_integration/workflows.py VectorRetriever.retrieve 22 22 0 0%
src/dataknobs_llm/fsm_integration/workflows.py VectorRetriever._cosine_similarity 6 6 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow.__init__ 8 8 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow._build_fsm 25 25 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow._get_provider 6 6 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow._execute_step 48 48 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow._execute_rag 10 10 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow._execute_cot 12 12 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow.execute 33 33 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow.index_documents 3 3 0 0%
src/dataknobs_llm/fsm_integration/workflows.py LLMWorkflow.close 2 2 0 0%
src/dataknobs_llm/fsm_integration/workflows.py create_simple_llm_workflow 3 3 0 0%
src/dataknobs_llm/fsm_integration/workflows.py create_rag_workflow 2 2 0 0%
src/dataknobs_llm/fsm_integration/workflows.py create_chain_workflow 5 5 0 0%
src/dataknobs_llm/fsm_integration/workflows.py (no function) 98 0 0 100%
src/dataknobs_llm/llm/base.py LLMConfig.from_dict 6 0 0 100%
src/dataknobs_llm/llm/base.py LLMConfig.to_dict 12 1 0 92%
src/dataknobs_llm/llm/base.py LLMConfig.clone 2 0 0 100%
src/dataknobs_llm/llm/base.py normalize_llm_config 14 8 0 43%
src/dataknobs_llm/llm/base.py LLMProvider.__init__ 4 0 0 100%
src/dataknobs_llm/llm/base.py LLMProvider._validate_prompt_builder 4 0 0 100%
src/dataknobs_llm/llm/base.py LLMProvider._validate_render_params 2 0 0 100%
src/dataknobs_llm/llm/base.py LLMProvider.initialize 0 0 2 100%
src/dataknobs_llm/llm/base.py LLMProvider.close 0 0 2 100%
src/dataknobs_llm/llm/base.py LLMProvider.validate_model 0 0 2 100%
src/dataknobs_llm/llm/base.py LLMProvider.get_capabilities 0 0 2 100%
src/dataknobs_llm/llm/base.py LLMProvider.is_initialized 1 0 0 100%
src/dataknobs_llm/llm/base.py LLMProvider.__enter__ 2 2 0 0%
src/dataknobs_llm/llm/base.py LLMProvider.__exit__ 1 1 0 0%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.complete 0 0 63 100%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.render_and_complete 5 0 0 100%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.render_and_stream 6 0 0 100%
src/dataknobs_llm/llm/base.py AsyncLLMProvider._render_messages 11 0 0 100%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.stream_complete 0 0 63 100%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.embed 0 0 69 100%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.function_call 0 0 108 100%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.initialize 1 1 0 0%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.close 1 1 0 0%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.__aenter__ 2 0 0 100%
src/dataknobs_llm/llm/base.py AsyncLLMProvider.__aexit__ 1 0 0 100%
src/dataknobs_llm/llm/base.py SyncLLMProvider.complete 0 0 10 100%
src/dataknobs_llm/llm/base.py SyncLLMProvider.render_and_complete 5 5 0 0%
src/dataknobs_llm/llm/base.py SyncLLMProvider.render_and_stream 6 6 0 0%
src/dataknobs_llm/llm/base.py SyncLLMProvider._render_messages 11 11 0 0%
src/dataknobs_llm/llm/base.py SyncLLMProvider.stream_complete 0 0 10 100%
src/dataknobs_llm/llm/base.py SyncLLMProvider.embed 0 0 10 100%
src/dataknobs_llm/llm/base.py SyncLLMProvider.function_call 0 0 11 100%
src/dataknobs_llm/llm/base.py SyncLLMProvider.initialize 1 1 0 0%
src/dataknobs_llm/llm/base.py SyncLLMProvider.close 1 1 0 0%
src/dataknobs_llm/llm/base.py LLMAdapter.adapt_messages 0 0 9 100%
src/dataknobs_llm/llm/base.py LLMAdapter.adapt_response 0 0 9 100%
src/dataknobs_llm/llm/base.py LLMAdapter.adapt_config 0 0 9 100%
src/dataknobs_llm/llm/base.py LLMMiddleware.process_request 1 1 0 0%
src/dataknobs_llm/llm/base.py LLMMiddleware.process_response 1 1 0 0%
src/dataknobs_llm/llm/base.py (no function) 105 0 73 100%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.__init__ 2 0 0 100%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.initialize 9 9 0 0%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.close 3 3 0 0%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.validate_model 2 2 0 0%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.get_capabilities 4 4 0 0%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.complete 15 15 0 0%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.stream_complete 11 11 0 0%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.embed 0 0 1 100%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider.function_call 38 38 0 0%
src/dataknobs_llm/llm/providers/anthropic.py AnthropicProvider._build_prompt 10 10 0 0%
src/dataknobs_llm/llm/providers/anthropic.py (no function) 16 0 2 100%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.__init__ 1 0 0 100%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.initialize 7 0 0 100%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.close 7 3 0 57%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.complete 7 3 0 57%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.stream 15 3 0 80%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.stream._stream 2 0 0 100%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.embed 7 3 0 57%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.function_call 7 3 0 57%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.validate_model 7 3 0 57%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.get_capabilities 1 0 0 100%
src/dataknobs_llm/llm/providers/base.py SyncProviderAdapter.is_initialized 1 0 0 100%
src/dataknobs_llm/llm/providers/base.py (no function) 14 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.__init__ 6 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider._generate_embedding 11 1 0 91%
src/dataknobs_llm/llm/providers/echo.py EchoProvider._count_tokens 1 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.initialize 1 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.close 1 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.validate_model 1 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.get_capabilities 1 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.complete 13 0 0 100%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.stream_complete 9 2 0 78%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.embed 5 1 0 80%
src/dataknobs_llm/llm/providers/echo.py EchoProvider.function_call 30 2 0 93%
src/dataknobs_llm/llm/providers/echo.py (no function) 16 0 2 100%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.__init__ 3 3 0 0%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.initialize 9 9 0 0%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.close 3 3 0 0%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.validate_model 6 6 0 0%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.get_capabilities 1 1 0 0%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.complete 14 14 0 0%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.stream_complete 2 2 0 0%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.embed 12 12 0 0%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider.function_call 0 0 1 100%
src/dataknobs_llm/llm/providers/huggingface.py HuggingFaceProvider._build_prompt 9 9 0 0%
src/dataknobs_llm/llm/providers/huggingface.py (no function) 15 0 2 100%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.__init__ 6 1 0 83%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider._build_options 12 12 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider._messages_to_ollama 7 7 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider._adapt_tools 4 4 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.initialize 28 28 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.close 3 3 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.validate_model 14 14 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.get_capabilities 8 8 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.complete 20 20 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.stream_complete 12 12 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.embed 14 14 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider.function_call 33 33 0 0%
src/dataknobs_llm/llm/providers/ollama.py OllamaProvider._build_prompt 9 9 0 0%
src/dataknobs_llm/llm/providers/ollama.py (no function) 19 0 2 100%
src/dataknobs_llm/llm/providers/openai.py OpenAIAdapter.adapt_messages 9 9 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIAdapter.adapt_response 3 3 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIAdapter.adapt_config 18 18 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.__init__ 3 0 0 100%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.initialize 9 9 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.close 3 3 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.validate_model 6 6 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.get_capabilities 8 8 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.complete 11 11 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.stream_complete 14 14 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.embed 9 9 0 0%
src/dataknobs_llm/llm/providers/openai.py OpenAIProvider.function_call 11 11 0 0%
src/dataknobs_llm/llm/providers/openai.py (no function) 18 0 2 100%
src/dataknobs_llm/llm/utils.py MessageTemplate.__post_init__ 12 0 0 100%
src/dataknobs_llm/llm/utils.py MessageTemplate.format 8 1 0 88%
src/dataknobs_llm/llm/utils.py MessageTemplate.partial 18 1 0 94%
src/dataknobs_llm/llm/utils.py MessageTemplate.from_conditional 1 0 0 100%
src/dataknobs_llm/llm/utils.py MessageBuilder.__init__ 1 0 0 100%
src/dataknobs_llm/llm/utils.py MessageBuilder.system 2 0 0 100%
src/dataknobs_llm/llm/utils.py MessageBuilder.user 2 0 0 100%
src/dataknobs_llm/llm/utils.py MessageBuilder.assistant 2 0 0 100%
src/dataknobs_llm/llm/utils.py MessageBuilder.function 2 0 0 100%
src/dataknobs_llm/llm/utils.py MessageBuilder.from_template 3 0 0 100%
src/dataknobs_llm/llm/utils.py MessageBuilder.build 1 0 0 100%
src/dataknobs_llm/llm/utils.py MessageBuilder.clear 2 0 0 100%
src/dataknobs_llm/llm/utils.py ResponseParser.extract_json 13 2 0 85%
src/dataknobs_llm/llm/utils.py ResponseParser.extract_code 6 0 0 100%
src/dataknobs_llm/llm/utils.py ResponseParser.extract_list 6 0 0 100%
src/dataknobs_llm/llm/utils.py ResponseParser.extract_sections 15 0 0 100%
src/dataknobs_llm/llm/utils.py TokenCounter.estimate_tokens 6 0 0 100%
src/dataknobs_llm/llm/utils.py TokenCounter.estimate_messages_tokens 7 1 0 86%
src/dataknobs_llm/llm/utils.py TokenCounter.fits_in_context 2 0 0 100%
src/dataknobs_llm/llm/utils.py CostCalculator.calculate_cost 13 0 0 100%
src/dataknobs_llm/llm/utils.py CostCalculator.estimate_cost 11 1 0 91%
src/dataknobs_llm/llm/utils.py chain_prompts 14 0 0 100%
src/dataknobs_llm/llm/utils.py create_few_shot_prompt 10 0 0 100%
src/dataknobs_llm/llm/utils.py (no function) 50 0 0 100%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py DataknobsBackendAdapter.__init__ 4 0 0 100%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py DataknobsBackendAdapter.get_value 15 2 0 87%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py DataknobsBackendAdapter.search 29 4 0 86%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py AsyncDataknobsBackendAdapter.__init__ 4 0 0 100%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py AsyncDataknobsBackendAdapter.get_value 15 2 0 87%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py AsyncDataknobsBackendAdapter.search 29 8 0 72%
src/dataknobs_llm/prompts/adapters/dataknobs_backend_adapter.py (no function) 10 0 2 100%
src/dataknobs_llm/prompts/adapters/dict_adapter.py DictResourceAdapter.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/adapters/dict_adapter.py DictResourceAdapter.get_value 9 0 0 100%
src/dataknobs_llm/prompts/adapters/dict_adapter.py DictResourceAdapter.search 20 1 0 95%
src/dataknobs_llm/prompts/adapters/dict_adapter.py DictResourceAdapter._flatten_dict 7 0 0 100%
src/dataknobs_llm/prompts/adapters/dict_adapter.py AsyncDictResourceAdapter.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/adapters/dict_adapter.py AsyncDictResourceAdapter.get_value 9 1 0 89%
src/dataknobs_llm/prompts/adapters/dict_adapter.py AsyncDictResourceAdapter.search 20 3 0 85%
src/dataknobs_llm/prompts/adapters/dict_adapter.py AsyncDictResourceAdapter._flatten_dict 7 1 0 86%
src/dataknobs_llm/prompts/adapters/dict_adapter.py (no function) 12 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapterBase.__init__ 4 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapterBase.reset 1 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapterBase._get_value_impl 1 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapterBase._search_impl 9 1 0 89%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapter.__init__ 1 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapter.get_value 1 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAdapter.search 1 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAsyncAdapter.__init__ 1 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAsyncAdapter.get_value 1 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py InMemoryAsyncAdapter.search 1 0 0 100%
src/dataknobs_llm/prompts/adapters/inmemory_adapter.py (no function) 15 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapterBase.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapterBase.name 1 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapterBase.is_async 1 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapterBase.get_metadata 1 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapterBase.__repr__ 0 0 3 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapter.get_value 0 0 11 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapter.search 0 0 12 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py ResourceAdapter.batch_get_values 1 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py AsyncResourceAdapter.get_value 0 0 11 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py AsyncResourceAdapter.search 0 0 12 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py AsyncResourceAdapter.batch_get_values 4 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py BaseSearchLogic.format_search_result 12 1 0 92%
src/dataknobs_llm/prompts/adapters/resource_adapter.py BaseSearchLogic.filter_results 7 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py BaseSearchLogic.deduplicate_results 8 0 0 100%
src/dataknobs_llm/prompts/adapters/resource_adapter.py (no function) 21 0 31 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.get_system_prompt 0 0 10 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.list_system_prompts 0 0 6 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.get_user_prompt 0 0 10 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.list_user_prompts 0 0 6 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.get_message_index 0 0 10 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.list_message_indexes 0 0 6 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.get_rag_config 0 0 12 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.get_prompt_rag_configs 0 0 13 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.get_metadata 0 0 6 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.reload 0 0 6 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.validate 1 1 0 0%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py AbstractPromptLibrary.__repr__ 0 0 3 100%
src/dataknobs_llm/prompts/base/abstract_prompt_library.py (no function) 5 0 42 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.__init__ 7 0 0 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.clear_cache 6 6 0 0%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.reload 3 3 0 0%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.get_metadata 1 0 0 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._get_cached_system_prompt 3 1 0 67%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._cache_system_prompt 2 0 0 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._get_cached_user_prompt 3 1 0 67%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._cache_user_prompt 2 0 0 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._get_cached_message_index 3 1 0 67%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._cache_message_index 2 0 0 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._get_cached_rag_config 3 1 0 67%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._cache_rag_config 2 0 0 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._get_cached_prompt_rag_configs 3 3 0 0%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._cache_prompt_rag_configs 2 2 0 0%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._parse_validation_config 14 1 0 93%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._parse_rag_config 12 0 0 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary._parse_prompt_template 43 5 0 88%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.get_system_prompt 0 0 1 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.list_system_prompts 0 0 1 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.get_user_prompt 0 0 1 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.list_user_prompts 0 0 1 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.get_message_index 0 0 1 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.list_message_indexes 0 0 1 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.get_rag_config 0 0 1 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py BasePromptLibrary.get_prompt_rag_configs 0 0 1 100%
src/dataknobs_llm/prompts/base/base_prompt_library.py (no function) 31 0 0 100%
src/dataknobs_llm/prompts/base/types.py TemplateMode.from_string 4 2 0 50%
src/dataknobs_llm/prompts/base/types.py ValidationConfig.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/base/types.py (no function) 52 0 0 100%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder.__init__ 2 0 0 100%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder._validate_adapters 3 0 0 100%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder.render_system_prompt 5 0 0 100%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder.render_user_prompt 5 0 0 100%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder._render_prompt_impl 17 0 0 100%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder._execute_rag_searches_impl 35 8 0 77%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder._execute_single_rag_search_safe 1 0 0 100%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder._execute_single_rag_search 13 1 0 92%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py AsyncPromptBuilder._execute_single_rag_with_metadata 16 2 0 88%
src/dataknobs_llm/prompts/builders/async_prompt_builder.py (no function) 17 0 0 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder.__init__ 4 0 0 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._extract_formatted_content_from_cache 4 0 0 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._compute_rag_query_hash 3 0 0 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._render_rag_query 2 0 0 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._format_rag_results 11 1 0 91%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._merge_params_with_defaults 2 0 0 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._prepare_validation_config 6 1 0 83%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder.get_required_parameters 9 1 0 89%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder.__repr__ 0 0 7 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._validate_adapters 0 0 6 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._render_prompt_impl 0 0 22 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py BasePromptBuilder._execute_rag_searches_impl 0 0 18 100%
src/dataknobs_llm/prompts/builders/base_prompt_builder.py (no function) 15 0 27 100%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder.__init__ 2 0 0 100%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder._validate_adapters 3 0 0 100%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder.render_system_prompt 5 0 0 100%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder.render_user_prompt 5 0 0 100%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder._render_prompt_impl 17 0 0 100%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder._execute_rag_searches_impl 25 2 0 92%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder._execute_single_rag_search 13 1 0 92%
src/dataknobs_llm/prompts/builders/prompt_builder.py PromptBuilder._execute_single_rag_with_metadata 16 2 0 88%
src/dataknobs_llm/prompts/builders/prompt_builder.py (no function) 15 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.__init__ 4 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.add_library 8 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.remove_library 9 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.get_system_prompt 7 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.get_user_prompt 7 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.get_message_index 7 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.get_rag_config 7 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.get_prompt_rag_configs 7 7 0 0%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.list_system_prompts 4 4 0 0%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.list_user_prompts 4 4 0 0%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.list_message_indexes 4 4 0 0%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.get_metadata 1 1 0 0%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.reload 2 2 0 0%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.libraries 1 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.library_names 1 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py CompositePromptLibrary.get_library_by_name 5 0 0 100%
src/dataknobs_llm/prompts/implementations/composite_library.py (no function) 23 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary._load_from_config 4 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary._load_system_prompts 8 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary._load_user_prompts 8 2 0 75%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary._load_message_indexes 8 2 0 75%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary._load_rag_configs 8 2 0 75%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary._parse_message_index 6 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.get_system_prompt 1 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.get_user_prompt 1 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.get_message_index 1 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.get_rag_config 1 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.get_prompt_rag_configs 15 1 0 93%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.add_system_prompt 2 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.add_user_prompt 2 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.add_message_index 2 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.add_rag_config 2 0 0 100%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.list_system_prompts 1 1 0 0%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.list_user_prompts 1 1 0 0%
src/dataknobs_llm/prompts/implementations/config_library.py ConfigPromptLibrary.list_message_indexes 1 1 0 0%
src/dataknobs_llm/prompts/implementations/config_library.py (no function) 24 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.__init__ 9 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.load_all 4 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary._load_system_prompts 13 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary._load_user_prompts 13 2 0 85%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary._load_message_indexes 13 2 0 85%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary._load_rag_configs 13 2 0 85%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary._load_prompt_template 2 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary._load_message_index 7 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary._load_rag_config 2 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary._load_file 10 1 0 90%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.get_system_prompt 1 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.get_user_prompt 1 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.get_message_index 1 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.get_rag_config 1 0 0 100%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.get_prompt_rag_configs 15 7 0 53%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.list_system_prompts 1 1 0 0%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.list_user_prompts 1 1 0 0%
src/dataknobs_llm/prompts/implementations/filesystem_library.py FileSystemPromptLibrary.list_message_indexes 1 1 0 0%
src/dataknobs_llm/prompts/implementations/filesystem_library.py (no function) 26 0 0 100%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.__init__ 6 6 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.create_version 3 3 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_version 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.list_versions 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.tag_version 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.create_experiment 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_variant_for_user 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_random_variant 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_experiment 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.list_experiments 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.record_usage 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_metrics 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.compare_variants 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_system_prompt 12 12 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_user_prompt 12 12 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.list_system_prompts 14 14 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.list_user_prompts 8 8 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_message_index 3 3 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.list_message_indexes 3 3 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_rag_config 3 3 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_prompt_rag_configs 3 3 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary.get_metadata 1 1 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py VersionedPromptLibrary._version_to_template 8 8 0 0%
src/dataknobs_llm/prompts/implementations/versioned_library.py (no function) 27 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py PreserveUndefined.__str__ 1 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py PreserveUndefined.__repr__ 0 0 2 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateSyntaxError.__str__ 1 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer.__init__ 4 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer.render 31 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer.render_prompt_template 11 1 0 91%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer.batch_render 1 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer._extract_variables 4 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer._validate_no_jinja_in_conditionals 7 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer._register_custom_filters 4 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer._register_custom_filters.count_tokens 1 1 0 0%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer._register_custom_filters.format_code 1 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer.add_custom_filter 1 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer._get_line_col 4 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer._get_snippet 8 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer.validate_template_syntax_detailed 37 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py TemplateRenderer.validate_template_syntax 2 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py render_template 3 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py render_template_strict 4 0 0 100%
src/dataknobs_llm/prompts/rendering/template_renderer.py (no function) 38 0 1 100%
src/dataknobs_llm/prompts/utils/template_composition.py TemplateComposer.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/utils/template_composition.py TemplateComposer.compose_template 15 0 0 100%
src/dataknobs_llm/prompts/utils/template_composition.py TemplateComposer.get_sections_for_prompt 2 0 0 100%
src/dataknobs_llm/prompts/utils/template_composition.py TemplateComposer._get_sections_recursive 23 4 0 83%
src/dataknobs_llm/prompts/utils/template_composition.py TemplateComposer.merge_prompt_configs 39 5 0 87%
src/dataknobs_llm/prompts/utils/template_composition.py TemplateComposer.resolve_inheritance 36 6 0 83%
src/dataknobs_llm/prompts/utils/template_composition.py TemplateComposer.clear_cache 2 0 0 100%
src/dataknobs_llm/prompts/utils/template_composition.py (no function) 11 0 0 100%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.create_experiment 12 1 0 92%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.get_experiment 1 0 0 100%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.list_experiments 8 1 0 88%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.get_random_variant 8 1 0 88%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.get_variant_for_user 17 5 0 71%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.update_experiment_status 11 3 0 73%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.get_user_assignment 3 1 0 67%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.get_experiment_assignments 1 0 0 100%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.delete_experiment 8 2 0 75%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager._hash_based_assignment 10 1 0 90%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager._persist_experiment 3 3 0 0%
src/dataknobs_llm/prompts/versioning/ab_testing.py ABTestManager.get_variant_distribution 9 1 0 89%
src/dataknobs_llm/prompts/versioning/ab_testing.py (no function) 20 0 0 100%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.record_event 10 1 0 90%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.get_metrics 3 0 0 100%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.get_events 9 1 0 89%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.compare_variants 4 0 0 100%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.get_experiment_metrics 1 1 0 0%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.reset_metrics 9 1 0 89%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.get_summary 5 0 0 100%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector._update_metrics 16 1 0 94%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector._persist_event 3 3 0 0%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector._persist_metrics 3 3 0 0%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.get_top_versions 8 0 0 100%
src/dataknobs_llm/prompts/versioning/metrics.py MetricsCollector.get_version_performance_over_time 21 21 0 0%
src/dataknobs_llm/prompts/versioning/metrics.py (no function) 17 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptVersion.to_dict 1 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptVersion.from_dict 6 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptVariant.__post_init__ 2 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptVariant.to_dict 1 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptVariant.from_dict 1 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptExperiment.__post_init__ 3 1 0 67%
src/dataknobs_llm/prompts/versioning/types.py PromptExperiment.to_dict 1 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptExperiment.from_dict 8 1 0 88%
src/dataknobs_llm/prompts/versioning/types.py PromptMetrics.success_rate 3 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptMetrics.avg_response_time 3 1 0 67%
src/dataknobs_llm/prompts/versioning/types.py PromptMetrics.avg_tokens 3 1 0 67%
src/dataknobs_llm/prompts/versioning/types.py PromptMetrics.avg_rating 3 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptMetrics.to_dict 1 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py PromptMetrics.from_dict 6 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py MetricEvent.to_dict 1 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py MetricEvent.from_dict 4 0 0 100%
src/dataknobs_llm/prompts/versioning/types.py (no function) 90 0 0 100%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.__init__ 3 0 0 100%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.create_version 21 1 0 95%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.get_version 11 2 0 82%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.list_versions 8 0 0 100%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.tag_version 8 1 0 88%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.untag_version 8 2 0 75%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.update_status 7 2 0 71%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.delete_version 10 1 0 90%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager._make_key 1 0 0 100%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager._parse_version 4 1 0 75%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager._get_latest_version 7 1 0 86%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager._auto_increment_version 8 1 0 88%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager._persist_version 3 3 0 0%
src/dataknobs_llm/prompts/versioning/version_manager.py VersionManager.get_version_history 2 0 0 100%
src/dataknobs_llm/prompts/versioning/version_manager.py (no function) 21 0 0 100%
src/dataknobs_llm/template_utils.py render_conditional_template 6 0 0 100%
src/dataknobs_llm/template_utils.py render_conditional_template.replace_variable 3 0 0 100%
src/dataknobs_llm/template_utils.py render_conditional_template.replace_variable.replace_var 17 1 0 94%
src/dataknobs_llm/template_utils.py render_conditional_template.find_all_variables 5 0 0 100%
src/dataknobs_llm/template_utils.py render_conditional_template.process_conditionals 56 0 0 100%
src/dataknobs_llm/template_utils.py (no function) 7 0 0 100%
src/dataknobs_llm/tools/base.py Tool.__init__ 3 0 0 100%
src/dataknobs_llm/tools/base.py Tool.schema 0 0 28 100%
src/dataknobs_llm/tools/base.py Tool.execute 0 0 15 100%
src/dataknobs_llm/tools/base.py Tool.to_function_definition 1 0 0 100%
src/dataknobs_llm/tools/base.py Tool.to_anthropic_tool_definition 1 0 0 100%
src/dataknobs_llm/tools/base.py Tool.validate_parameters 2 0 0 100%
src/dataknobs_llm/tools/base.py Tool.__repr__ 0 0 2 100%
src/dataknobs_llm/tools/base.py Tool.__str__ 1 1 0 0%
src/dataknobs_llm/tools/base.py (no function) 8 0 6 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.__init__ 1 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.register_tool 4 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.register_many 5 1 0 80%
src/dataknobs_llm/tools/registry.py ToolRegistry.get_tool 4 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.has_tool 1 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.list_tools 1 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.get_tool_names 1 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.to_function_definitions 8 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.to_anthropic_tool_definitions 8 8 0 0%
src/dataknobs_llm/tools/registry.py ToolRegistry.execute_tool 2 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.filter_by_metadata 10 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.clone 4 0 0 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.__repr__ 0 0 2 100%
src/dataknobs_llm/tools/registry.py ToolRegistry.__str__ 4 0 0 100%
src/dataknobs_llm/tools/registry.py (no function) 17 0 1 100%
Total   5001 1696 948 66%

No items found using the specified filter.