uncertainty-engine-types 0.0.7__py3-none-any.whl → 0.0.9__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.
@@ -1,6 +1,8 @@
1
+ from . import utils
1
2
  from .context import Context
2
3
  from .conversation import Conversation
3
- from .document import Document, FileLocation, FileType
4
+ from .dataset import CSVDataset
5
+ from .embeddings import TextEmbeddingsConfig, TextEmbeddingsProvider
4
6
  from .execution_error import ExecutionError
5
7
  from .file import (
6
8
  PDF,
@@ -24,7 +26,6 @@ from .model import MachineLearningModel
24
26
  from .node_info import NodeInfo, NodeInputInfo, NodeOutputInfo
25
27
  from .sensor_designer import SensorDesigner
26
28
  from .sql import SQLConfig, SQLKind
27
- from .tabular_data import TabularData
28
29
  from .token import Token
29
30
  from .vector_store import VectorStoreConfig, VectorStoreProvider
30
31
  from .version import __version__
@@ -33,13 +34,11 @@ __all__ = [
33
34
  "__version__",
34
35
  "Context",
35
36
  "Conversation",
36
- "Document",
37
+ "CSVDataset",
37
38
  "Document",
38
39
  "ExecutionError",
39
40
  "File",
40
41
  "FileLocation",
41
- "FileLocation",
42
- "FileType",
43
42
  "Graph",
44
43
  "Handle",
45
44
  "Image",
@@ -64,9 +63,11 @@ __all__ = [
64
63
  "SQLKind",
65
64
  "SQLTable",
66
65
  "TabularData",
67
- "TabularData",
68
66
  "TargetHandle",
67
+ "TextEmbeddingsConfig",
68
+ "TextEmbeddingsProvider",
69
69
  "Token",
70
+ "utils",
70
71
  "VectorStoreConfig",
71
72
  "VectorStoreProvider",
72
73
  "WebPage",
@@ -1,5 +1,5 @@
1
1
  from pydantic import BaseModel
2
2
 
3
3
 
4
- class TabularData(BaseModel):
4
+ class CSVDataset(BaseModel):
5
5
  csv: str
@@ -0,0 +1,32 @@
1
+ from enum import StrEnum
2
+ from typing import Optional
3
+
4
+ from pydantic import BaseModel, model_validator
5
+
6
+
7
+ class TextEmbeddingsProvider(StrEnum):
8
+ OPENAI = "openai"
9
+ OLLAMA = "ollama"
10
+
11
+
12
+ class TextEmbeddingsConfig(BaseModel):
13
+ """
14
+ Connection configuration for text embedding models.
15
+ """
16
+
17
+ provider: str
18
+ model: Optional[str] = None
19
+ ollama_url: Optional[str] = None
20
+ openai_api_key: Optional[str] = None
21
+
22
+ @model_validator(mode="before")
23
+ @classmethod
24
+ def check_provider(cls, values):
25
+ provider = values.get("provider")
26
+ if provider == TextEmbeddingsProvider.OLLAMA and not values.get("ollama_url"):
27
+ raise ValueError("ollama_url must be provided for 'ollama' provider.")
28
+ if provider == TextEmbeddingsProvider.OPENAI and not values.get(
29
+ "openai_api_key"
30
+ ):
31
+ raise ValueError("openai_api_key must be provided for 'openai' provider.")
32
+ return values
@@ -1,10 +1,10 @@
1
- from enum import Enum
1
+ from enum import StrEnum
2
2
  from typing import Optional
3
3
 
4
- from pydantic import BaseModel
4
+ from pydantic import BaseModel, model_validator
5
5
 
6
6
 
7
- class LLMProvider(Enum):
7
+ class LLMProvider(StrEnum):
8
8
  OPENAI = "openai"
9
9
  OLLAMA = "ollama"
10
10
 
@@ -19,3 +19,13 @@ class LLMConfig(BaseModel):
19
19
  temperature: float = 0.0
20
20
  ollama_url: Optional[str] = None
21
21
  openai_api_key: Optional[str] = None
22
+
23
+ @model_validator(mode="before")
24
+ @classmethod
25
+ def check_provider(cls, values):
26
+ provider = values.get("provider")
27
+ if provider == LLMProvider.OLLAMA and not values.get("ollama_url"):
28
+ raise ValueError("ollama_url must be provided for 'ollama' provider.")
29
+ if provider == LLMProvider.OPENAI and not values.get("openai_api_key"):
30
+ raise ValueError("openai_api_key must be provided for 'openai' provider.")
31
+ return values
@@ -0,0 +1,9 @@
1
+ from pydantic import ValidationError
2
+
3
+
4
+ def format_pydantic_errors(e: ValidationError) -> str:
5
+ msgs = []
6
+ for error in e.errors():
7
+ loc = " -> ".join(map(str, error["loc"]))
8
+ msgs.append(f"Error at '{loc}': {error['msg']}")
9
+ return "\n".join(msgs)
@@ -1 +1 @@
1
- __version__ = "0.0.7"
1
+ __version__ = "0.0.9"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: uncertainty-engine-types
3
- Version: 0.0.7
3
+ Version: 0.0.9
4
4
  Summary: Common type definitions for the Uncertainty Engine
5
5
  Author: Freddy Wordingham
6
6
  Author-email: freddy@digilab.ai
@@ -1,22 +1,23 @@
1
- uncertainty_engine_types/__init__.py,sha256=-zZvzfCbTO7xnXVT7lBnnoDtRbYqGhXoiq6lKNxSS6I,1610
1
+ uncertainty_engine_types/__init__.py,sha256=G8H0XonAfxXoXlgeQK7FsxuMRgXosOZfm-jp6P5aHu0,1656
2
2
  uncertainty_engine_types/context.py,sha256=k9rlArn-L2x1P5vWy5khfuqJW5tJOqr3NlhubZCbyG4,209
3
3
  uncertainty_engine_types/conversation.py,sha256=uDHTr4uPzjkcflhyFAanfiQ1KbEIs4C9jogrwzOEt_s,122
4
- uncertainty_engine_types/document.py,sha256=Htpiq_Z1r1-pUAgeperFN8CQ4syBAAQibd_u-ITY1mo,449
4
+ uncertainty_engine_types/dataset.py,sha256=sDpQu5X3KxJ1lNkZOwhppJ2SY0Cv19cbcYfGpp_hyUQ,75
5
+ uncertainty_engine_types/embeddings.py,sha256=PmbaT7A7IuQ1UbGVNIg4usNnDbEgWiXM87gQPOeaff8,954
5
6
  uncertainty_engine_types/execution_error.py,sha256=tvIBuZPM8UhFUERHCEqoW8blAYYuBq1ZqidO0i_BCGs,105
6
7
  uncertainty_engine_types/file.py,sha256=J202bhOIVnvvvAG54sXyYF8fwjZGTUP3097ARnRnb3Q,579
7
8
  uncertainty_engine_types/graph.py,sha256=ii2YT2jxoRB7UhcceI2k_ArKmlUXEwBCRBpsEUjL2Qg,265
8
9
  uncertainty_engine_types/handle.py,sha256=buX_xEdBwT7vZRs5uCEPB6VCbSWIFbCE-NYIL4fZSjg,942
9
10
  uncertainty_engine_types/job.py,sha256=eYDe-MW4s-kXGL1Ke1VxdwoduW66orJAa0L1XwGdYi0,347
10
- uncertainty_engine_types/llm.py,sha256=oivoY3aDv5Rsk8FWA-vOPEFfK9a6-SqSyu01AlEuO7o,406
11
+ uncertainty_engine_types/llm.py,sha256=kuhTlkTIgE8oIYLofr7MOcz6S5qiN0w5FxfNcT05-E4,910
11
12
  uncertainty_engine_types/message.py,sha256=KncFJQHL_ko8nfOuso_eh7i2gB0y4nXI6gBW9U8lAEY,971
12
13
  uncertainty_engine_types/model.py,sha256=O9E_7DE9AKEc1o2VnhpUyl3Quh4sGdV43gqDJwk-y68,196
13
14
  uncertainty_engine_types/node_info.py,sha256=2p87fCdX_CrdT2ZODtGJ-mR1Mvg46WhaE1GMddaEVak,800
14
15
  uncertainty_engine_types/sensor_designer.py,sha256=hr3ek4_dRjRK0-78uaT6h8-bGUCm7Mfs6mxJSWxE64c,80
15
16
  uncertainty_engine_types/sql.py,sha256=SBzmgMEZ-sa-OBRoZbmKiOqddop4zJixgxx-JCus9fY,298
16
- uncertainty_engine_types/tabular_data.py,sha256=i_1LfgQqxDanPRWuDkP3Hd8-9eVet6FbPIlPZlAi1n0,76
17
17
  uncertainty_engine_types/token.py,sha256=4tQQkvl-zsYoVk8ZEx0cB2JiU0VDRJ6uUe76XBXEpBY,178
18
+ uncertainty_engine_types/utils.py,sha256=72QVig8Kb5uIR-e1nofm-3x9CouebdQJIruDbq-aIn0,271
18
19
  uncertainty_engine_types/vector_store.py,sha256=9fYPJ04jWcy2DruyUSjiKQAgmqq-wgeAi5dBIrAOm30,392
19
- uncertainty_engine_types/version.py,sha256=R9xOYoYrWKcfO5zvTeGC3m_eDNOvxMd8CocQs2tLufo,22
20
- uncertainty_engine_types-0.0.7.dist-info/METADATA,sha256=-aXHfv64fSzVlzn0JBTdmy_0Q-JC5pNWZwvSzz97alI,2815
21
- uncertainty_engine_types-0.0.7.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
22
- uncertainty_engine_types-0.0.7.dist-info/RECORD,,
20
+ uncertainty_engine_types/version.py,sha256=46Yjk3fz9o8aTN8E95McnzpJcjGzVJmHmQqUZ5mXzfc,22
21
+ uncertainty_engine_types-0.0.9.dist-info/METADATA,sha256=nAO5QC9gAFMHlvPhlPUR5jGij0OSIYic8VZ7R5eiITA,2815
22
+ uncertainty_engine_types-0.0.9.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
23
+ uncertainty_engine_types-0.0.9.dist-info/RECORD,,
@@ -1,29 +0,0 @@
1
- from enum import StrEnum
2
- from typing import Optional
3
-
4
- from pydantic import BaseModel
5
-
6
-
7
- class FileLocation(StrEnum):
8
- LOCAL = "local"
9
- S3 = "s3"
10
- SQL = "sql"
11
- WWW = "www"
12
-
13
-
14
- class FileType(StrEnum):
15
- CSV = "csv"
16
- DOCX = "docx"
17
- PDF = "pdf"
18
- TXT = "txt"
19
-
20
-
21
- class Document(BaseModel):
22
- """
23
- Document identification.
24
- """
25
-
26
- location: FileLocation
27
- file_type: FileType
28
- path: str
29
- excerpt: Optional[str] = None