semantic-kernel 0.2.4.dev0__py3-none-any.whl → 0.2.5.dev0__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.
Files changed (42) hide show
  1. semantic_kernel/{ai → connectors/ai}/chat_completion_client_base.py +1 -1
  2. semantic_kernel/connectors/ai/hugging_face/__init__.py +10 -0
  3. semantic_kernel/connectors/ai/hugging_face/services/hf_text_completion.py +95 -0
  4. semantic_kernel/connectors/ai/hugging_face/services/hf_text_embedding.py +63 -0
  5. semantic_kernel/connectors/ai/open_ai/__init__.py +29 -0
  6. semantic_kernel/{ai → connectors/ai}/open_ai/services/azure_chat_completion.py +2 -2
  7. semantic_kernel/{ai → connectors/ai}/open_ai/services/azure_text_completion.py +2 -2
  8. semantic_kernel/{ai → connectors/ai}/open_ai/services/azure_text_embedding.py +2 -2
  9. semantic_kernel/{ai → connectors/ai}/open_ai/services/open_ai_chat_completion.py +36 -4
  10. semantic_kernel/{ai → connectors/ai}/open_ai/services/open_ai_text_completion.py +10 -6
  11. semantic_kernel/{ai → connectors/ai}/open_ai/services/open_ai_text_embedding.py +2 -2
  12. semantic_kernel/{ai → connectors/ai}/text_completion_client_base.py +4 -2
  13. semantic_kernel/core_skills/time_skill.py +11 -1
  14. semantic_kernel/kernel.py +23 -17
  15. semantic_kernel/kernel_config.py +118 -109
  16. semantic_kernel/kernel_exception.py +4 -4
  17. semantic_kernel/kernel_extensions/import_skills.py +21 -21
  18. semantic_kernel/kernel_extensions/memory_configuration.py +10 -12
  19. semantic_kernel/memory/memory_query_result.py +36 -6
  20. semantic_kernel/memory/memory_record.py +52 -11
  21. semantic_kernel/memory/memory_store_base.py +74 -5
  22. semantic_kernel/memory/semantic_text_memory.py +92 -10
  23. semantic_kernel/memory/semantic_text_memory_base.py +1 -2
  24. semantic_kernel/memory/volatile_memory_store.py +251 -25
  25. semantic_kernel/orchestration/sk_function.py +32 -30
  26. semantic_kernel/orchestration/sk_function_base.py +11 -9
  27. semantic_kernel/semantic_functions/prompt_template_config.py +2 -2
  28. semantic_kernel/text/__init__.py +17 -0
  29. semantic_kernel/text/function_extension.py +23 -0
  30. semantic_kernel/text/text_chunker.py +250 -0
  31. {semantic_kernel-0.2.4.dev0.dist-info → semantic_kernel-0.2.5.dev0.dist-info}/METADATA +9 -6
  32. {semantic_kernel-0.2.4.dev0.dist-info → semantic_kernel-0.2.5.dev0.dist-info}/RECORD +37 -35
  33. semantic_kernel/ai/embeddings/embedding_index_base.py +0 -20
  34. semantic_kernel/ai/open_ai/__init__.py +0 -27
  35. semantic_kernel/memory/storage/data_entry.py +0 -36
  36. semantic_kernel/memory/storage/data_store_base.py +0 -36
  37. semantic_kernel/memory/storage/volatile_data_store.py +0 -62
  38. /semantic_kernel/{ai → connectors/ai}/ai_exception.py +0 -0
  39. /semantic_kernel/{ai → connectors/ai}/chat_request_settings.py +0 -0
  40. /semantic_kernel/{ai → connectors/ai}/complete_request_settings.py +0 -0
  41. /semantic_kernel/{ai → connectors/ai}/embeddings/embedding_generator_base.py +0 -0
  42. {semantic_kernel-0.2.4.dev0.dist-info → semantic_kernel-0.2.5.dev0.dist-info}/WHEEL +0 -0
@@ -1,20 +0,0 @@
1
- # Copyright (c) Microsoft. All rights reserved.
2
-
3
- from abc import ABC, abstractmethod
4
- from typing import List, Tuple
5
-
6
- from numpy import ndarray
7
-
8
- from semantic_kernel.memory.memory_record import MemoryRecord
9
-
10
-
11
- class EmbeddingIndexBase(ABC):
12
- @abstractmethod
13
- async def get_nearest_matches_async(
14
- self,
15
- collection: str,
16
- embedding: ndarray,
17
- limit: int,
18
- min_relevance_score: float,
19
- ) -> List[Tuple[MemoryRecord, float]]:
20
- pass
@@ -1,27 +0,0 @@
1
- # Copyright (c) Microsoft. All rights reserved.
2
-
3
- from semantic_kernel.ai.open_ai.services.azure_chat_completion import (
4
- AzureChatCompletion,
5
- )
6
- from semantic_kernel.ai.open_ai.services.azure_text_completion import (
7
- AzureTextCompletion,
8
- )
9
- from semantic_kernel.ai.open_ai.services.azure_text_embedding import AzureTextEmbedding
10
- from semantic_kernel.ai.open_ai.services.open_ai_chat_completion import (
11
- OpenAIChatCompletion,
12
- )
13
- from semantic_kernel.ai.open_ai.services.open_ai_text_completion import (
14
- OpenAITextCompletion,
15
- )
16
- from semantic_kernel.ai.open_ai.services.open_ai_text_embedding import (
17
- OpenAITextEmbedding,
18
- )
19
-
20
- __all__ = [
21
- "OpenAITextCompletion",
22
- "OpenAIChatCompletion",
23
- "OpenAITextEmbedding",
24
- "AzureTextCompletion",
25
- "AzureChatCompletion",
26
- "AzureTextEmbedding",
27
- ]
@@ -1,36 +0,0 @@
1
- # Copyright (c) Microsoft. All rights reserved.
2
-
3
- from datetime import datetime
4
-
5
- from semantic_kernel.memory.memory_record import MemoryRecord
6
-
7
-
8
- class DataEntry:
9
- _key: str
10
- _value: MemoryRecord
11
- _timestamp: datetime
12
-
13
- def __init__(self, key: str, value: MemoryRecord, timestamp: datetime) -> None:
14
- self._key = key
15
- self._value = value
16
- self._timestamp = timestamp
17
-
18
- @property
19
- def key(self) -> str:
20
- return self._key
21
-
22
- @property
23
- def value(self) -> MemoryRecord:
24
- return self._value
25
-
26
- @value.setter
27
- def value(self, value: MemoryRecord) -> None:
28
- self._value = value
29
-
30
- @property
31
- def timestamp(self) -> datetime:
32
- return self._timestamp
33
-
34
- @timestamp.setter
35
- def timestamp(self, timestamp: datetime) -> None:
36
- self._timestamp = timestamp
@@ -1,36 +0,0 @@
1
- # Copyright (c) Microsoft. All rights reserved.
2
-
3
- from abc import ABC, abstractmethod
4
- from typing import Any, List, Optional
5
-
6
- from semantic_kernel.memory.storage.data_entry import DataEntry
7
-
8
-
9
- class DataStoreBase(ABC):
10
- @abstractmethod
11
- async def get_collections_async(self) -> List[str]:
12
- pass
13
-
14
- @abstractmethod
15
- async def get_all_async(self, collection: str) -> List[Any]:
16
- pass
17
-
18
- @abstractmethod
19
- async def get_async(self, collection: str, key: str) -> Optional[DataEntry]:
20
- pass
21
-
22
- @abstractmethod
23
- async def put_async(self, collection: str, value: Any) -> DataEntry:
24
- pass
25
-
26
- @abstractmethod
27
- async def remove_async(self, collection: str, key: str) -> None:
28
- pass
29
-
30
- @abstractmethod
31
- async def get_value_async(self, collection: str, key: str) -> Any:
32
- pass
33
-
34
- @abstractmethod
35
- async def put_value_async(self, collection: str, key: str, value: Any) -> None:
36
- pass
@@ -1,62 +0,0 @@
1
- # Copyright (c) Microsoft. All rights reserved.
2
-
3
- from datetime import datetime
4
- from typing import Dict, List, Optional
5
-
6
- from semantic_kernel.memory.memory_record import MemoryRecord
7
- from semantic_kernel.memory.storage.data_entry import DataEntry
8
- from semantic_kernel.memory.storage.data_store_base import DataStoreBase
9
-
10
-
11
- class VolatileDataStore(DataStoreBase):
12
- _store: Dict[str, Dict[str, DataEntry]]
13
-
14
- def __init__(self) -> None:
15
- self._store = {}
16
-
17
- async def get_collections_async(self) -> List[str]:
18
- return list(self._store.keys())
19
-
20
- async def get_all_async(self, collection: str) -> List[DataEntry]:
21
- if collection not in self._store:
22
- return []
23
-
24
- return list(self._store[collection].values())
25
-
26
- async def get_async(self, collection: str, key: str) -> Optional[DataEntry]:
27
- if collection not in self._store:
28
- return None
29
- if key not in self._store[collection]:
30
- return None
31
-
32
- return self._store[collection][key]
33
-
34
- async def put_async(self, collection: str, value: DataEntry) -> DataEntry:
35
- if collection not in self._store:
36
- self._store[collection] = {}
37
-
38
- self._store[collection][value.key] = value
39
-
40
- return value
41
-
42
- async def remove_async(self, collection: str, key: str) -> None:
43
- if collection not in self._store:
44
- return
45
- if key not in self._store[collection]:
46
- return
47
-
48
- del self._store[collection][key]
49
-
50
- async def get_value_async(self, collection: str, key: str) -> MemoryRecord:
51
- entry = await self.get_async(collection, key)
52
-
53
- if entry is None:
54
- # TODO: equivalent here?
55
- raise Exception(f"Key '{key}' not found in collection '{collection}'")
56
-
57
- return entry.value
58
-
59
- async def put_value_async(
60
- self, collection: str, key: str, value: MemoryRecord
61
- ) -> None:
62
- await self.put_async(collection, DataEntry(key, value, datetime.now()))
File without changes