Skip to content

Commit 459aa50

Browse files
baptiste-olivierNicolas Hervé
authored andcommitted
refactor: use kili-formats for common code
1 parent a828c88 commit 459aa50

File tree

25 files changed

+44
-271
lines changed

25 files changed

+44
-271
lines changed

src/kili/adapters/kili_api_gateway/label/annotation_to_json_response.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
from dataclasses import dataclass
55
from typing import Dict, Generator, List, Optional, Tuple, TypeVar, Union, cast, overload
66

7+
from kili_formats.types import JobTool
8+
79
from kili.domain.annotation import (
810
ClassicAnnotation,
911
ClassificationAnnotation,
@@ -18,7 +20,7 @@
1820
VideoTranscriptionAnnotation,
1921
VideoTranscriptionKeyAnnotation,
2022
)
21-
from kili.domain.ontology import JobName, JobTool
23+
from kili.domain.ontology import JobName
2224

2325
ASSET_LEVEL_KEY = "assetLevel"
2426

src/kili/adapters/kili_api_gateway/llm/mappers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
from typing import Dict, List, Optional
44

5+
from kili_formats.types import ChatItemRole, Conversation
6+
57
from kili.domain.llm import (
68
AzureOpenAICredentials,
7-
ChatItemRole,
8-
Conversation,
99
ModelToCreateInput,
1010
ModelToUpdateInput,
1111
ModelType,

src/kili/adapters/kili_api_gateway/llm/operations_mixin.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
from typing import Dict, List, Optional, cast
44

5+
from kili_formats.types import ChatItem, ChatItemRole, Conversation
6+
57
from kili.adapters.kili_api_gateway.base import BaseOperationMixin
68
from kili.adapters.kili_api_gateway.helpers.queries import (
79
PaginatedGraphQLQuery,
@@ -39,9 +41,6 @@
3941
get_update_project_model_mutation,
4042
)
4143
from kili.domain.llm import (
42-
ChatItem,
43-
ChatItemRole,
44-
Conversation,
4544
ModelDict,
4645
ModelToCreateInput,
4746
ModelToUpdateInput,

src/kili/domain/llm.py

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from dataclasses import dataclass
44
from enum import Enum
5-
from typing import Any, Dict, List, Optional, Union
5+
from typing import Any, Dict, Optional, Union
66

77
from typing_extensions import TypedDict
88

@@ -95,14 +95,6 @@ class ProjectModelFilters:
9595
model_id: Optional[str] = None
9696

9797

98-
class ChatItemRole(str, Enum):
99-
"""Enumeration of the supported chat item role."""
100-
101-
ASSISTANT = "ASSISTANT"
102-
USER = "USER"
103-
SYSTEM = "SYSTEM"
104-
105-
10698
class OpenAISDKCredentialsDict(TypedDict):
10799
"""Dict that represents model.Credentials for OpenAI SDK."""
108100

@@ -133,33 +125,3 @@ class ProjectModelDict(TypedDict):
133125
id: str
134126
configuration: Dict[str, Any]
135127
model: ModelDict
136-
137-
138-
class ChatItem(TypedDict):
139-
"""Dict that represents a ChatItem."""
140-
141-
id: str
142-
content: str
143-
createdAt: Optional[str]
144-
externalId: str
145-
modelId: Optional[str]
146-
modelName: Optional[str]
147-
role: ChatItemRole
148-
149-
150-
class ConversationLabel(TypedDict):
151-
"""Dict that represents a ConversationLabel."""
152-
153-
completion: Optional[Dict]
154-
conversation: Optional[Dict]
155-
round: Optional[Dict]
156-
157-
158-
class Conversation(TypedDict):
159-
"""Dict that represents a Conversation."""
160-
161-
chatItems: List[ChatItem]
162-
externalId: Optional[str]
163-
label: Optional[ConversationLabel]
164-
labeler: Optional[str]
165-
metadata: Optional[dict]

src/kili/domain/ontology.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,3 @@ class JobMLTask(str, Enum):
2121
RANKING = "RANKING"
2222
SPEECH_TO_TEXT = "SPEECH_TO_TEXT"
2323
TRANSCRIPTION = "TRANSCRIPTION"
24-
25-
26-
class JobTool(str, Enum):
27-
"""List of tools."""
28-
29-
MARKER = "marker"
30-
POLYGON = "polygon"
31-
POLYLINE = "polyline"
32-
POSE = "pose"
33-
RANGE = "range"
34-
RECTANGLE = "rectangle"
35-
SEMANTIC = "semantic"
36-
VECTOR = "vector"

src/kili/llm/presentation/client/llm.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,13 @@
1010
cast,
1111
)
1212

13+
from kili_formats.types import ChatItem, ChatItemRole, Conversation
14+
1315
from kili.adapters.kili_api_gateway.kili_api_gateway import KiliAPIGateway
1416
from kili.domain.asset import AssetExternalId, AssetFilters, AssetId, AssetStatus
1517
from kili.domain.label import LabelType
1618
from kili.domain.llm import (
1719
AzureOpenAICredentials,
18-
ChatItem,
19-
ChatItemRole,
20-
Conversation,
2120
ModelDict,
2221
ModelToCreateInput,
2322
ModelToUpdateInput,

src/kili/llm/services/export/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22

33
from typing import Dict, List, Optional, Union
44

5+
from kili_formats.types import Conversation
6+
57
from kili.adapters.kili_api_gateway.helpers.queries import QueryOptions
68
from kili.adapters.kili_api_gateway.kili_api_gateway import KiliAPIGateway
79
from kili.domain.asset.asset import AssetFilters
810
from kili.domain.label import LabelType
9-
from kili.domain.llm import Conversation
1011
from kili.domain.project import ProjectId
1112

1213
from .export_llm_rlhf import LLMRLHFExporter

src/kili/llm/services/export/export_llm_static_or_dynamic.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from typing import Dict, List, Optional, cast
22

33
from kili_formats import convert_from_kili_to_llm_static_or_dynamic_format
4+
from kili_formats.types import ChatItem, Conversation, JobLevel
45

56
from kili.adapters.kili_api_gateway.kili_api_gateway import KiliAPIGateway
6-
from kili.domain.llm import ChatItem, Conversation
77

88
CHAT_ITEMS_NEEDED_FIELDS = [
99
"id",
@@ -29,12 +29,6 @@
2929
]
3030

3131

32-
class JobLevel:
33-
ROUND = "round"
34-
CONVERSATION = "conversation"
35-
COMPLETION = "completion"
36-
37-
3832
DEFAULT_JOB_LEVEL = JobLevel.ROUND
3933

4034

src/kili/services/export/format/base.py

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
from abc import ABC, abstractmethod
88
from datetime import datetime
99
from pathlib import Path
10-
from typing import TYPE_CHECKING, Dict, List, Literal, NamedTuple, Optional, Tuple, TypedDict, Union
10+
from typing import TYPE_CHECKING, Dict, List, Literal, NamedTuple, Optional, Tuple, Union
11+
12+
from kili_formats.types import Job
1113

1214
from kili.domain.asset import AssetId
1315
from kili.domain.project import ProjectId
@@ -25,7 +27,6 @@
2527
LabelFormat,
2628
SplitOption,
2729
)
28-
from kili.services.types import Job
2930
from kili.utils.tempfile import TemporaryDirectory
3031

3132
if TYPE_CHECKING:
@@ -34,17 +35,6 @@
3435
InputType = Literal["IMAGE", "LLM_INSTR_FOLLOWING", "LLM_RLHF", "PDF", "TEXT", "VIDEO"]
3536

3637

37-
class ProjectDict(TypedDict):
38-
"""Project dictionary."""
39-
40-
description: str
41-
id: str
42-
inputType: InputType
43-
jsonInterface: Optional[Dict]
44-
organizationId: str
45-
title: str
46-
47-
4838
class ExportParams(NamedTuple):
4939
"""Contains all parameters that change the result of the export."""
5040

src/kili/services/export/format/coco/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
from typing import Dict, List, Optional
55

66
from kili_formats import convert_from_kili_to_coco_format
7+
from kili_formats.types import Job, JobTool
78

8-
from kili.domain.ontology import JobMLTask, JobTool
9+
from kili.domain.ontology import JobMLTask
910
from kili.services.export.exceptions import (
1011
NoCompatibleJobError,
1112
NotCompatibleInputType,
1213
NotCompatibleOptions,
1314
)
1415
from kili.services.export.format.base import AbstractExporter
1516
from kili.services.export.types import CocoAnnotationModifier
16-
from kili.services.types import Job
1717

1818
DATA_SUBDIR = "data"
1919

0 commit comments

Comments
 (0)