alita-sdk 0.3.238__py3-none-any.whl → 0.3.239__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -156,6 +156,20 @@ class AlitaClient:
156
156
  return resp.json()
157
157
  return []
158
158
 
159
+ def get_embeddings(self, embedding_model: str) -> OpenAIEmbeddings:
160
+ """
161
+ Get an instance of OpenAIEmbeddings configured with the project ID and auth token.
162
+
163
+ Returns:
164
+ An instance of OpenAIEmbeddings configured for the project.
165
+ """
166
+ return OpenAIEmbeddings(
167
+ base_url=f"{self.base_url}{self.llm_path}",
168
+ model=embedding_model,
169
+ api_key=self.auth_token,
170
+ openai_organization=str(self.project_id),
171
+ )
172
+
159
173
  def get_llm(self, model_name: str, model_config: dict) -> ChatOpenAI:
160
174
  """
161
175
  Get a ChatOpenAI model instance based on the model name and configuration.
@@ -29,7 +29,6 @@ from langchain.prompts import PromptTemplate # pylint: disable=E0401
29
29
 
30
30
  from langchain.schema import HumanMessage, SystemMessage
31
31
 
32
- from ...clients import AlitaClient
33
32
  from ...llms.preloaded import PreloadedEmbeddings, PreloadedChatModel # pylint: disable=E0401
34
33
  from ..retrievers.AlitaRetriever import AlitaRetriever
35
34
  from ..tools.log import print_log
@@ -60,29 +59,29 @@ def get_model(model_type: str, model_params: dict):
60
59
  raise RuntimeError(f"Unknown model type: {model_type}")
61
60
 
62
61
 
63
- def get_embeddings(elitea_client: AlitaClient, embeddings_model: str, embeddings_params: dict):
62
+ # TODO: review usage of this function
63
+ def get_embeddings(embeddings_model: str, embeddings_params: dict):
64
64
  """ Get *Embeddings """
65
- # if embeddings_model is None:
66
- # return None
67
- # if "." in embeddings_model:
68
- # target_pkg, target_name = embeddings_model.rsplit(".", 1)
69
- # target_cls = getattr(
70
- # importlib.import_module(target_pkg),
71
- # target_name
72
- # )
73
- # return target_cls(**embeddings_params)
74
- # if embeddings_model == "PreloadedEmbeddings":
75
- # return PreloadedEmbeddings(**embeddings_params)
76
- # if embeddings_model == "Chroma":
77
- # from langchain_chroma import Chroma
78
- # return Chroma(**embeddings_params)
79
- # if embeddings_model in embeddings:
80
- # model = getattr(
81
- # __import__("langchain_community.embeddings", fromlist=[embeddings_model]),
82
- # embeddings_model
83
- # )
84
- # return model(**embeddings_params)
85
- elitea_client.get_llm(embeddings_model, embeddings_params)
65
+ if embeddings_model is None:
66
+ return None
67
+ if "." in embeddings_model:
68
+ target_pkg, target_name = embeddings_model.rsplit(".", 1)
69
+ target_cls = getattr(
70
+ importlib.import_module(target_pkg),
71
+ target_name
72
+ )
73
+ return target_cls(**embeddings_params)
74
+ if embeddings_model == "PreloadedEmbeddings":
75
+ return PreloadedEmbeddings(**embeddings_params)
76
+ if embeddings_model == "Chroma":
77
+ from langchain_chroma import Chroma
78
+ return Chroma(**embeddings_params)
79
+ if embeddings_model in embeddings:
80
+ model = getattr(
81
+ __import__("langchain_community.embeddings", fromlist=[embeddings_model]),
82
+ embeddings_model
83
+ )
84
+ return model(**embeddings_params)
86
85
  raise RuntimeError(f"Unknown Embedding type: {embeddings_model}")
87
86
 
88
87
 
@@ -9,7 +9,7 @@ from langchain_core.documents import Document
9
9
  from langchain_core.tools import ToolException
10
10
  from pydantic import BaseModel, create_model, Field, SecretStr
11
11
 
12
- from alita_sdk.runtime.langchain.interfaces.llm_processor import get_embeddings
12
+ # from alita_sdk.runtime.langchain.interfaces.llm_processor import get_embeddings
13
13
  from .chunkers import markdown_chunker
14
14
  from .utils import TOOLKIT_SPLITTER
15
15
  from .vector_adapters.VectorStoreAdapter import VectorStoreAdapterFactory
@@ -222,11 +222,14 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
222
222
  embedding_model_params: Optional[Dict[str, Any]] = {"model_name": "sentence-transformers/all-MiniLM-L6-v2"}
223
223
  vectorstore_type: Optional[str] = "PGVector"
224
224
  _vector_store: Optional[Any] = None
225
+ _embedding: Optional[Any] = None
225
226
  alita: Any = None # Elitea client, if available
226
227
 
227
228
  def __init__(self, **kwargs):
228
229
  super().__init__(**kwargs)
229
230
  self._adapter = VectorStoreAdapterFactory.create_adapter(self.vectorstore_type)
231
+ if self.alita and self.embedding_model:
232
+ self._embedding = self.alita.get_embeddings(self.embedding_model)
230
233
 
231
234
  def _index_tool_params(self, **kwargs) -> dict[str, tuple[type, Field]]:
232
235
  """
@@ -239,9 +242,7 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
239
242
  return markdown_chunker
240
243
 
241
244
  def _get_dependencies_chunker_config(self, document: Optional[Document] = None):
242
- embedding = get_embeddings(self.embedding_model, self.embedding_model_params)
243
- #
244
- return {'embedding': embedding, 'llm': self.llm}
245
+ return {'embedding': self._embedding, 'llm': self.llm}
245
246
 
246
247
  def _base_loader(self, **kwargs) -> Generator[Document, None, None]:
247
248
  """ Loads documents from a source, processes them,
@@ -275,7 +276,6 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
275
276
  def index_data(self, **kwargs):
276
277
  from alita_sdk.tools.chunkers import __confluence_chunkers__ as chunkers, __confluence_models__ as models
277
278
  docs = self._base_loader(**kwargs)
278
- embedding = get_embeddings(self.alita, self.embedding_model, self.embedding_model_params)
279
279
  chunking_tool = kwargs.get("chunking_tool")
280
280
  if chunking_tool:
281
281
  # Resolve chunker from the provided chunking_tool name
@@ -284,7 +284,7 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
284
284
  base_chunking_config = kwargs.get("chunking_config", {})
285
285
  config_model = models.get(chunking_tool)
286
286
  # Set required fields that should come from the instance (and Fallback for chunkers without models)
287
- base_chunking_config['embedding'] = embedding
287
+ base_chunking_config['embedding'] = self._embedding
288
288
  base_chunking_config['llm'] = self.llm
289
289
  #
290
290
  if config_model:
@@ -301,7 +301,7 @@ class BaseVectorStoreToolApiWrapper(BaseToolApiWrapper):
301
301
  collection_suffix = kwargs.get("collection_suffix")
302
302
  progress_step = kwargs.get("progress_step")
303
303
  clean_index = kwargs.get("clean_index")
304
- vs = self._init_vector_store(embeddings=embedding)
304
+ vs = self._init_vector_store(embeddings=self._embedding)
305
305
  #
306
306
  return vs.index_documents(docs, collection_suffix=collection_suffix, progress_step=progress_step, clean_index=clean_index)
307
307
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alita_sdk
3
- Version: 0.3.238
3
+ Version: 0.3.239
4
4
  Summary: SDK for building langchain agents using resources from Alita
5
5
  Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedjik@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -23,7 +23,7 @@ alita_sdk/configurations/zephyr.py,sha256=9P6DfbUP_azFxzccCiC7WbBsf4MFQ2xb5-Azb9
23
23
  alita_sdk/runtime/__init__.py,sha256=4W0UF-nl3QF2bvET5lnah4o24CoTwSoKXhuN0YnwvEE,828
24
24
  alita_sdk/runtime/clients/__init__.py,sha256=BdehU5GBztN1Qi1Wul0cqlU46FxUfMnI6Vq2Zd_oq1M,296
25
25
  alita_sdk/runtime/clients/artifact.py,sha256=H3pJAh5G-zWVyJ6YbqHGk4jA8U6HfacQduiTivpJZ3Y,3210
26
- alita_sdk/runtime/clients/client.py,sha256=UdHz17Y89IhFTCJYMuQmRa_1w8SeukIVsG8R3ZYB0RM,42684
26
+ alita_sdk/runtime/clients/client.py,sha256=HO5mSrrque9HaHdBmQVR639leBNTI1TFA0HYmXdfqLA,43187
27
27
  alita_sdk/runtime/clients/datasource.py,sha256=HAZovoQN9jBg0_-lIlGBQzb4FJdczPhkHehAiVG3Wx0,1020
28
28
  alita_sdk/runtime/clients/prompt.py,sha256=li1RG9eBwgNK_Qf0qUaZ8QNTmsncFrAL2pv3kbxZRZg,1447
29
29
  alita_sdk/runtime/langchain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -57,7 +57,7 @@ alita_sdk/runtime/langchain/document_loaders/constants.py,sha256=Zu_TSxZzcsrJjLE
57
57
  alita_sdk/runtime/langchain/document_loaders/utils.py,sha256=9xghESf3axBbwxATyVuS0Yu-TWe8zWZnXgCD1ZVyNW0,2414
58
58
  alita_sdk/runtime/langchain/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
59
  alita_sdk/runtime/langchain/interfaces/kwextractor.py,sha256=kSJA9L8g8UArmHu7Bd9dIO0Rrq86JPUb8RYNlnN68FQ,3072
60
- alita_sdk/runtime/langchain/interfaces/llm_processor.py,sha256=yQOrAF9ccFMY_swHGOuKfkt3FzJbx0Qmw6Cfyi6lOPE,8833
60
+ alita_sdk/runtime/langchain/interfaces/llm_processor.py,sha256=qjEFe-QC2whhGauNCJ94aS2GiG4aSPJwDOKI0zVO5mM,8705
61
61
  alita_sdk/runtime/langchain/interfaces/loaders.py,sha256=li-O2dubiDNYn-qfVcDsuD4LqP_IZ61cV2vHUZAqeXc,3337
62
62
  alita_sdk/runtime/langchain/interfaces/splitters.py,sha256=tW65-Ejj9VYyxXFZNgPts_CKILQ18bWp_1bZ-24FKGc,3630
63
63
  alita_sdk/runtime/langchain/retrievers/AlitaRetriever.py,sha256=osChtJxUlfpsFESpJSE5mnJAkxTXnzgFZnC6l5mUlbo,6148
@@ -114,7 +114,7 @@ alita_sdk/runtime/utils/toolkit_runtime.py,sha256=MU63Fpxj0b5_r1IUUc0Q3-PN9VwL7r
114
114
  alita_sdk/runtime/utils/toolkit_utils.py,sha256=I9QFqnaqfVgN26LUr6s3XlBlG6y0CoHURnCzG7XcwVs,5311
115
115
  alita_sdk/runtime/utils/utils.py,sha256=CpEl3LCeLbhzQySz08lkKPm7Auac6IiLF7WB8wmArMI,589
116
116
  alita_sdk/tools/__init__.py,sha256=ko5TToGYZFmBrho26DRAVvrkHWxQ2sfs8gVAASinYp8,10611
117
- alita_sdk/tools/elitea_base.py,sha256=NU2mumxBewSwbKwCeLTfbQ_jrw6pYMaRhxq8vv0bvLQ,30368
117
+ alita_sdk/tools/elitea_base.py,sha256=lWvCQyJVeiAqIsZEOHqTygw0rCc11IUAEiAhkFy6wi0,30357
118
118
  alita_sdk/tools/ado/__init__.py,sha256=j4lt6MLWlpkIIVkHmAyVG3i_qQeQ3ZmL_g8BfMhVhVI,1289
119
119
  alita_sdk/tools/ado/utils.py,sha256=PTCludvaQmPLakF2EbCGy66Mro4-rjDtavVP-xcB2Wc,1252
120
120
  alita_sdk/tools/ado/repos/__init__.py,sha256=mZqU0-9Yyw7HOt61980ndl3yPJ00Ihw2UlvWawheONU,5987
@@ -327,8 +327,8 @@ alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=JAeWf-RXohsxheUpT0iMDClc_izj-
327
327
  alita_sdk/tools/zephyr_squad/__init__.py,sha256=0AI_j27xVO5Gk5HQMFrqPTd4uvuVTpiZUicBrdfEpKg,2796
328
328
  alita_sdk/tools/zephyr_squad/api_wrapper.py,sha256=kmw_xol8YIYFplBLWTqP_VKPRhL_1ItDD0_vXTe_UuI,14906
329
329
  alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py,sha256=R371waHsms4sllHCbijKYs90C-9Yu0sSR3N4SUfQOgU,5066
330
- alita_sdk-0.3.238.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
331
- alita_sdk-0.3.238.dist-info/METADATA,sha256=S1gdkE0ujwYLFy3P98VKkutVBl8VdfC1Bnd1p_UgLnA,18896
332
- alita_sdk-0.3.238.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
333
- alita_sdk-0.3.238.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
334
- alita_sdk-0.3.238.dist-info/RECORD,,
330
+ alita_sdk-0.3.239.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
331
+ alita_sdk-0.3.239.dist-info/METADATA,sha256=m1jFw5o-vxwPxIGVQV11R4oev9FJIbtQMgERBku7OFU,18896
332
+ alita_sdk-0.3.239.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
333
+ alita_sdk-0.3.239.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
334
+ alita_sdk-0.3.239.dist-info/RECORD,,