Skip to content

Commit 71a4d1d

Browse files
authored
Merge pull request #1034 from Kiln-AI/leonard/kil-410-refactor-rename-gepa-into-prompt-optimization
refactor: rename gepa into prompt optimization
2 parents 85d3b18 + 0ef7d19 commit 71a4d1d

28 files changed

+1172
-942
lines changed

app/desktop/desktop_server.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
from app.desktop.studio_server.dev_tools import connect_dev_tools
2020
from app.desktop.studio_server.eval_api import connect_evals_api
2121
from app.desktop.studio_server.finetune_api import connect_fine_tune_api
22-
from app.desktop.studio_server.gepa_job_api import connect_gepa_job_api
22+
from app.desktop.studio_server.prompt_optimization_job_api import (
23+
connect_prompt_optimization_job_api,
24+
)
2325
from app.desktop.studio_server.import_api import connect_import_api
2426
from app.desktop.studio_server.prompt_api import connect_prompt_api
2527
from app.desktop.studio_server.provider_api import connect_provider_api
@@ -66,7 +68,7 @@ def make_app(tk_root: tk.Tk | None = None):
6668
connect_evals_api(app)
6769
connect_import_api(app, tk_root=tk_root)
6870
connect_tool_servers_api(app)
69-
connect_gepa_job_api(app)
71+
connect_prompt_optimization_job_api(app)
7072
connect_copilot_api(app)
7173
connect_dev_tools(app)
7274

app/desktop/studio_server/api_client/kiln_ai_server_client/api/jobs/check_model_supported_v1_jobs_gepa_job_check_model_supported_get.py renamed to app/desktop/studio_server/api_client/kiln_ai_server_client/api/jobs/check_prompt_optimization_model_supported_v1_jobs_prompt_optimization_job_check_model_supported_get.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def _get_kwargs(
2626

2727
_kwargs: dict[str, Any] = {
2828
"method": "get",
29-
"url": "/v1/jobs/gepa_job/check_model_supported",
29+
"url": "/v1/jobs/prompt_optimization_job/check_model_supported",
3030
"params": params,
3131
}
3232

@@ -69,7 +69,7 @@ def sync_detailed(
6969
model_name: str,
7070
model_provider_name: str,
7171
) -> Response[CheckModelSupportedResponse | HTTPValidationError]:
72-
"""Check Model Supported
72+
"""Check Prompt Optimization Model Supported
7373
7474
Args:
7575
model_name (str):
@@ -101,7 +101,7 @@ def sync(
101101
model_name: str,
102102
model_provider_name: str,
103103
) -> CheckModelSupportedResponse | HTTPValidationError | None:
104-
"""Check Model Supported
104+
"""Check Prompt Optimization Model Supported
105105
106106
Args:
107107
model_name (str):
@@ -128,7 +128,7 @@ async def asyncio_detailed(
128128
model_name: str,
129129
model_provider_name: str,
130130
) -> Response[CheckModelSupportedResponse | HTTPValidationError]:
131-
"""Check Model Supported
131+
"""Check Prompt Optimization Model Supported
132132
133133
Args:
134134
model_name (str):
@@ -158,7 +158,7 @@ async def asyncio(
158158
model_name: str,
159159
model_provider_name: str,
160160
) -> CheckModelSupportedResponse | HTTPValidationError | None:
161-
"""Check Model Supported
161+
"""Check Prompt Optimization Model Supported
162162
163163
Args:
164164
model_name (str):

app/desktop/studio_server/api_client/kiln_ai_server_client/api/jobs/get_gepa_job_result_v1_jobs_gepa_job_job_id_result_get.py renamed to app/desktop/studio_server/api_client/kiln_ai_server_client/api/jobs/get_prompt_optimization_job_result_v1_jobs_prompt_optimization_job_job_id_result_get.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
from ... import errors
88
from ...client import AuthenticatedClient, Client
9-
from ...models.gepa_job_result_response import GEPAJobResultResponse
109
from ...models.http_validation_error import HTTPValidationError
10+
from ...models.prompt_optimization_job_result_response import PromptOptimizationJobResultResponse
1111
from ...types import Response
1212

1313

@@ -17,7 +17,7 @@ def _get_kwargs(
1717

1818
_kwargs: dict[str, Any] = {
1919
"method": "get",
20-
"url": "/v1/jobs/gepa_job/{job_id}/result".format(
20+
"url": "/v1/jobs/prompt_optimization_job/{job_id}/result".format(
2121
job_id=quote(str(job_id), safe=""),
2222
),
2323
}
@@ -27,9 +27,9 @@ def _get_kwargs(
2727

2828
def _parse_response(
2929
*, client: AuthenticatedClient | Client, response: httpx.Response
30-
) -> GEPAJobResultResponse | HTTPValidationError | None:
30+
) -> HTTPValidationError | PromptOptimizationJobResultResponse | None:
3131
if response.status_code == 200:
32-
response_200 = GEPAJobResultResponse.from_dict(response.json())
32+
response_200 = PromptOptimizationJobResultResponse.from_dict(response.json())
3333

3434
return response_200
3535

@@ -46,7 +46,7 @@ def _parse_response(
4646

4747
def _build_response(
4848
*, client: AuthenticatedClient | Client, response: httpx.Response
49-
) -> Response[GEPAJobResultResponse | HTTPValidationError]:
49+
) -> Response[HTTPValidationError | PromptOptimizationJobResultResponse]:
5050
return Response(
5151
status_code=HTTPStatus(response.status_code),
5252
content=response.content,
@@ -59,8 +59,8 @@ def sync_detailed(
5959
job_id: str,
6060
*,
6161
client: AuthenticatedClient,
62-
) -> Response[GEPAJobResultResponse | HTTPValidationError]:
63-
"""Get Gepa Job Result
62+
) -> Response[HTTPValidationError | PromptOptimizationJobResultResponse]:
63+
"""Get Prompt Optimization Job Result
6464
6565
Args:
6666
job_id (str):
@@ -70,7 +70,7 @@ def sync_detailed(
7070
httpx.TimeoutException: If the request takes longer than Client.timeout.
7171
7272
Returns:
73-
Response[GEPAJobResultResponse | HTTPValidationError]
73+
Response[HTTPValidationError | PromptOptimizationJobResultResponse]
7474
"""
7575

7676
kwargs = _get_kwargs(
@@ -88,8 +88,8 @@ def sync(
8888
job_id: str,
8989
*,
9090
client: AuthenticatedClient,
91-
) -> GEPAJobResultResponse | HTTPValidationError | None:
92-
"""Get Gepa Job Result
91+
) -> HTTPValidationError | PromptOptimizationJobResultResponse | None:
92+
"""Get Prompt Optimization Job Result
9393
9494
Args:
9595
job_id (str):
@@ -99,7 +99,7 @@ def sync(
9999
httpx.TimeoutException: If the request takes longer than Client.timeout.
100100
101101
Returns:
102-
GEPAJobResultResponse | HTTPValidationError
102+
HTTPValidationError | PromptOptimizationJobResultResponse
103103
"""
104104

105105
return sync_detailed(
@@ -112,8 +112,8 @@ async def asyncio_detailed(
112112
job_id: str,
113113
*,
114114
client: AuthenticatedClient,
115-
) -> Response[GEPAJobResultResponse | HTTPValidationError]:
116-
"""Get Gepa Job Result
115+
) -> Response[HTTPValidationError | PromptOptimizationJobResultResponse]:
116+
"""Get Prompt Optimization Job Result
117117
118118
Args:
119119
job_id (str):
@@ -123,7 +123,7 @@ async def asyncio_detailed(
123123
httpx.TimeoutException: If the request takes longer than Client.timeout.
124124
125125
Returns:
126-
Response[GEPAJobResultResponse | HTTPValidationError]
126+
Response[HTTPValidationError | PromptOptimizationJobResultResponse]
127127
"""
128128

129129
kwargs = _get_kwargs(
@@ -139,8 +139,8 @@ async def asyncio(
139139
job_id: str,
140140
*,
141141
client: AuthenticatedClient,
142-
) -> GEPAJobResultResponse | HTTPValidationError | None:
143-
"""Get Gepa Job Result
142+
) -> HTTPValidationError | PromptOptimizationJobResultResponse | None:
143+
"""Get Prompt Optimization Job Result
144144
145145
Args:
146146
job_id (str):
@@ -150,7 +150,7 @@ async def asyncio(
150150
httpx.TimeoutException: If the request takes longer than Client.timeout.
151151
152152
Returns:
153-
GEPAJobResultResponse | HTTPValidationError
153+
HTTPValidationError | PromptOptimizationJobResultResponse
154154
"""
155155

156156
return (

app/desktop/studio_server/api_client/kiln_ai_server_client/api/jobs/start_gepa_job_v1_jobs_gepa_job_start_post.py renamed to app/desktop/studio_server/api_client/kiln_ai_server_client/api/jobs/start_prompt_optimization_job_v1_jobs_prompt_optimization_job_start_post.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,23 @@
55

66
from ... import errors
77
from ...client import AuthenticatedClient, Client
8-
from ...models.body_start_gepa_job_v1_jobs_gepa_job_start_post import BodyStartGepaJobV1JobsGepaJobStartPost
8+
from ...models.body_start_prompt_optimization_job_v1_jobs_prompt_optimization_job_start_post import (
9+
BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost,
10+
)
911
from ...models.http_validation_error import HTTPValidationError
1012
from ...models.job_start_response import JobStartResponse
1113
from ...types import Response
1214

1315

1416
def _get_kwargs(
1517
*,
16-
body: BodyStartGepaJobV1JobsGepaJobStartPost,
18+
body: BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost,
1719
) -> dict[str, Any]:
1820
headers: dict[str, Any] = {}
1921

2022
_kwargs: dict[str, Any] = {
2123
"method": "post",
22-
"url": "/v1/jobs/gepa_job/start",
24+
"url": "/v1/jobs/prompt_optimization_job/start",
2325
}
2426

2527
_kwargs["files"] = body.to_multipart()
@@ -61,12 +63,12 @@ def _build_response(
6163
def sync_detailed(
6264
*,
6365
client: AuthenticatedClient,
64-
body: BodyStartGepaJobV1JobsGepaJobStartPost,
66+
body: BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost,
6567
) -> Response[HTTPValidationError | JobStartResponse]:
66-
"""Start Gepa Job
68+
"""Start Prompt Optimization Job
6769
6870
Args:
69-
body (BodyStartGepaJobV1JobsGepaJobStartPost):
71+
body (BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost):
7072
7173
Raises:
7274
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -90,12 +92,12 @@ def sync_detailed(
9092
def sync(
9193
*,
9294
client: AuthenticatedClient,
93-
body: BodyStartGepaJobV1JobsGepaJobStartPost,
95+
body: BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost,
9496
) -> HTTPValidationError | JobStartResponse | None:
95-
"""Start Gepa Job
97+
"""Start Prompt Optimization Job
9698
9799
Args:
98-
body (BodyStartGepaJobV1JobsGepaJobStartPost):
100+
body (BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost):
99101
100102
Raises:
101103
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -114,12 +116,12 @@ def sync(
114116
async def asyncio_detailed(
115117
*,
116118
client: AuthenticatedClient,
117-
body: BodyStartGepaJobV1JobsGepaJobStartPost,
119+
body: BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost,
118120
) -> Response[HTTPValidationError | JobStartResponse]:
119-
"""Start Gepa Job
121+
"""Start Prompt Optimization Job
120122
121123
Args:
122-
body (BodyStartGepaJobV1JobsGepaJobStartPost):
124+
body (BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost):
123125
124126
Raises:
125127
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -141,12 +143,12 @@ async def asyncio_detailed(
141143
async def asyncio(
142144
*,
143145
client: AuthenticatedClient,
144-
body: BodyStartGepaJobV1JobsGepaJobStartPost,
146+
body: BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost,
145147
) -> HTTPValidationError | JobStartResponse | None:
146-
"""Start Gepa Job
148+
"""Start Prompt Optimization Job
147149
148150
Args:
149-
body (BodyStartGepaJobV1JobsGepaJobStartPost):
151+
body (BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost):
150152
151153
Raises:
152154
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.

app/desktop/studio_server/api_client/kiln_ai_server_client/models/__init__.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
from .answer_option import AnswerOption
44
from .answer_option_with_selection import AnswerOptionWithSelection
55
from .api_key_verification_result import ApiKeyVerificationResult
6-
from .body_start_gepa_job_v1_jobs_gepa_job_start_post import BodyStartGepaJobV1JobsGepaJobStartPost
6+
from .body_start_prompt_optimization_job_v1_jobs_prompt_optimization_job_start_post import (
7+
BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost,
8+
)
79
from .body_start_sample_job_v1_jobs_sample_job_start_post import BodyStartSampleJobV1JobsSampleJobStartPost
810
from .check_entitlements_v1_check_entitlements_get_response_check_entitlements_v1_check_entitlements_get import (
911
CheckEntitlementsV1CheckEntitlementsGetResponseCheckEntitlementsV1CheckEntitlementsGet,
@@ -16,8 +18,6 @@
1618
from .generate_batch_input import GenerateBatchInput
1719
from .generate_batch_output import GenerateBatchOutput
1820
from .generate_batch_output_data_by_topic import GenerateBatchOutputDataByTopic
19-
from .gepa_job_output import GEPAJobOutput
20-
from .gepa_job_result_response import GEPAJobResultResponse
2121
from .health_health_get_response_health_health_get import HealthHealthGetResponseHealthHealthGet
2222
from .http_validation_error import HTTPValidationError
2323
from .job_start_response import JobStartResponse
@@ -27,6 +27,8 @@
2727
from .model_provider_name import ModelProviderName
2828
from .new_proposed_spec_edit_api import NewProposedSpecEditApi
2929
from .output_file_info import OutputFileInfo
30+
from .prompt_optimization_job_output import PromptOptimizationJobOutput
31+
from .prompt_optimization_job_result_response import PromptOptimizationJobResultResponse
3032
from .question import Question
3133
from .question_set import QuestionSet
3234
from .question_with_answer import QuestionWithAnswer
@@ -55,7 +57,7 @@
5557
"AnswerOption",
5658
"AnswerOptionWithSelection",
5759
"ApiKeyVerificationResult",
58-
"BodyStartGepaJobV1JobsGepaJobStartPost",
60+
"BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost",
5961
"BodyStartSampleJobV1JobsSampleJobStartPost",
6062
"CheckEntitlementsV1CheckEntitlementsGetResponseCheckEntitlementsV1CheckEntitlementsGet",
6163
"CheckModelSupportedResponse",
@@ -66,8 +68,6 @@
6668
"GenerateBatchInput",
6769
"GenerateBatchOutput",
6870
"GenerateBatchOutputDataByTopic",
69-
"GEPAJobOutput",
70-
"GEPAJobResultResponse",
7171
"HealthHealthGetResponseHealthHealthGet",
7272
"HTTPValidationError",
7373
"JobStartResponse",
@@ -77,6 +77,8 @@
7777
"ModelProviderName",
7878
"NewProposedSpecEditApi",
7979
"OutputFileInfo",
80+
"PromptOptimizationJobOutput",
81+
"PromptOptimizationJobResultResponse",
8082
"Question",
8183
"QuestionSet",
8284
"QuestionWithAnswer",

app/desktop/studio_server/api_client/kiln_ai_server_client/models/body_start_gepa_job_v1_jobs_gepa_job_start_post.py renamed to app/desktop/studio_server/api_client/kiln_ai_server_client/models/body_start_prompt_optimization_job_v1_jobs_prompt_optimization_job_start_post.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
from .. import types
1111
from ..types import File
1212

13-
T = TypeVar("T", bound="BodyStartGepaJobV1JobsGepaJobStartPost")
13+
T = TypeVar("T", bound="BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost")
1414

1515

1616
@_attrs_define
17-
class BodyStartGepaJobV1JobsGepaJobStartPost:
17+
class BodyStartPromptOptimizationJobV1JobsPromptOptimizationJobStartPost:
1818
"""
1919
Attributes:
2020
task_id (str): The task ID
@@ -79,15 +79,15 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
7979

8080
project_zip = File(payload=BytesIO(d.pop("project_zip")))
8181

82-
body_start_gepa_job_v1_jobs_gepa_job_start_post = cls(
82+
body_start_prompt_optimization_job_v1_jobs_prompt_optimization_job_start_post = cls(
8383
task_id=task_id,
8484
target_run_config_id=target_run_config_id,
8585
eval_ids=eval_ids,
8686
project_zip=project_zip,
8787
)
8888

89-
body_start_gepa_job_v1_jobs_gepa_job_start_post.additional_properties = d
90-
return body_start_gepa_job_v1_jobs_gepa_job_start_post
89+
body_start_prompt_optimization_job_v1_jobs_prompt_optimization_job_start_post.additional_properties = d
90+
return body_start_prompt_optimization_job_v1_jobs_prompt_optimization_job_start_post
9191

9292
@property
9393
def additional_keys(self) -> list[str]:

app/desktop/studio_server/api_client/kiln_ai_server_client/models/gepa_job_output.py renamed to app/desktop/studio_server/api_client/kiln_ai_server_client/models/prompt_optimization_job_output.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
from attrs import define as _attrs_define
77
from attrs import field as _attrs_field
88

9-
T = TypeVar("T", bound="GEPAJobOutput")
9+
T = TypeVar("T", bound="PromptOptimizationJobOutput")
1010

1111

1212
@_attrs_define
13-
class GEPAJobOutput:
14-
"""Output from the GEPA job.
13+
class PromptOptimizationJobOutput:
14+
"""Output from the prompt optimization job.
1515
1616
Attributes:
1717
optimized_prompt (str):
@@ -38,12 +38,12 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
3838
d = dict(src_dict)
3939
optimized_prompt = d.pop("optimized_prompt")
4040

41-
gepa_job_output = cls(
41+
prompt_optimization_job_output = cls(
4242
optimized_prompt=optimized_prompt,
4343
)
4444

45-
gepa_job_output.additional_properties = d
46-
return gepa_job_output
45+
prompt_optimization_job_output.additional_properties = d
46+
return prompt_optimization_job_output
4747

4848
@property
4949
def additional_keys(self) -> list[str]:

0 commit comments

Comments
 (0)