Coverage for intelligence_toolkit/helpers/classes.py: 100%
17 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-16 13:41 -0300
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-16 13:41 -0300
1# Copyright (c) 2024 Microsoft Corporation. All rights reserved.
2# Licensed under the MIT license. See LICENSE file in the project.
3#
5from intelligence_toolkit.AI.local_embedder import LocalEmbedder
6from intelligence_toolkit.AI.openai_configuration import OpenAIConfiguration
7from intelligence_toolkit.AI.openai_embedder import OpenAIEmbedder
10class IntelligenceWorkflow:
11 embedder = None
12 cache_embeddings = True
14 # Base class for all AI workflows
15 def __init__(self, ai_configuration: OpenAIConfiguration | None = None) -> None:
16 self.ai_configuration = ai_configuration
18 def set_ai_configuration(self, ai_configuration: OpenAIConfiguration) -> None:
19 self.ai_configuration = ai_configuration
20 if not self.embedder:
21 self.set_embedder()
23 def set_embedder(
24 self, local_embedding: bool = False, cache_embeddings: bool = True
25 ):
26 if local_embedding:
27 self.embedder = LocalEmbedder()
28 else:
29 self.embedder = OpenAIEmbedder(self.ai_configuration)
30 self.cache_embeddings = cache_embeddings