Skip to content

Commit 90ea4f5

Browse files
committed
Merge branch 'litellm-support' of https://github.com/guardrails-ai/guardrails-api-client into litellm-support
2 parents 0c76068 + 066f837 commit 90ea4f5

File tree

4 files changed

+82
-32
lines changed

4 files changed

+82
-32
lines changed

guardrails-api-client/guardrails_api_client/models/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
from .schema_element import SchemaElement
3434
from .status import Status
3535
from .validate_payload import ValidatePayload
36-
from .validate_payload_llm_api import ValidatePayloadLlmApi
3736
from .validate_payload_prompt_params import ValidatePayloadPromptParams
3837
from .validation_output import ValidationOutput
3938
from .validator_metrics import ValidatorMetrics
@@ -75,7 +74,6 @@
7574
"SchemaElement",
7675
"Status",
7776
"ValidatePayload",
78-
"ValidatePayloadLlmApi",
7977
"ValidatePayloadPromptParams",
8078
"ValidationOutput",
8179
"ValidatorMetrics",

guardrails-api-client/guardrails_api_client/models/validate_payload.py

Lines changed: 62 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
1+
from typing import TYPE_CHECKING, Any, Dict, List, Literal, Type, TypeVar, Union, cast
22

33
from attrs import define as _attrs_define
44
from attrs import field as _attrs_field
55

6-
from ..models.validate_payload_llm_api import ValidatePayloadLlmApi
76
from ..types import UNSET, Unset
87

98
if TYPE_CHECKING:
@@ -21,13 +20,26 @@ class ValidatePayload:
2120
output.
2221
num_reasks (Union[Unset, int]): An override for the number of re-asks to perform
2322
prompt_params (Union[Unset, ValidatePayloadPromptParams]): additional params for llm prompts
24-
llm_api (Union[Unset, ValidatePayloadLlmApi]):
23+
llm_api (Union[Literal['litellm.acompletion'], Literal['litellm.completion'],
24+
Literal['openai.ChatCompletion.acreate'], Literal['openai.ChatCompletion.create'],
25+
Literal['openai.Completion.acreate'], Literal['openai.Completion.create'],
26+
Literal['openai.chat.completions.create'], Literal['openai.completions.create'], Unset]):
2527
"""
2628

2729
llm_output: Union[Unset, str] = UNSET
2830
num_reasks: Union[Unset, int] = UNSET
2931
prompt_params: Union[Unset, "ValidatePayloadPromptParams"] = UNSET
30-
llm_api: Union[Unset, ValidatePayloadLlmApi] = UNSET
32+
llm_api: Union[
33+
Literal["litellm.acompletion"],
34+
Literal["litellm.completion"],
35+
Literal["openai.ChatCompletion.acreate"],
36+
Literal["openai.ChatCompletion.create"],
37+
Literal["openai.Completion.acreate"],
38+
Literal["openai.Completion.create"],
39+
Literal["openai.chat.completions.create"],
40+
Literal["openai.completions.create"],
41+
Unset,
42+
] = UNSET
3143
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
3244

3345
def to_dict(self) -> Dict[str, Any]:
@@ -39,9 +51,21 @@ def to_dict(self) -> Dict[str, Any]:
3951
if not isinstance(self.prompt_params, Unset):
4052
prompt_params = self.prompt_params.to_dict()
4153

42-
llm_api: Union[Unset, str] = UNSET
43-
if not isinstance(self.llm_api, Unset):
44-
llm_api = self.llm_api.value
54+
llm_api: Union[
55+
Literal["litellm.acompletion"],
56+
Literal["litellm.completion"],
57+
Literal["openai.ChatCompletion.acreate"],
58+
Literal["openai.ChatCompletion.create"],
59+
Literal["openai.Completion.acreate"],
60+
Literal["openai.Completion.create"],
61+
Literal["openai.chat.completions.create"],
62+
Literal["openai.completions.create"],
63+
Unset,
64+
]
65+
if isinstance(self.llm_api, Unset):
66+
llm_api = UNSET
67+
else:
68+
llm_api = self.llm_api
4569

4670
field_dict: Dict[str, Any] = {}
4771
field_dict.update(self.additional_properties)
@@ -73,12 +97,37 @@ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
7397
else:
7498
prompt_params = ValidatePayloadPromptParams.from_dict(_prompt_params)
7599

76-
_llm_api = d.pop("llmApi", UNSET)
77-
llm_api: Union[Unset, ValidatePayloadLlmApi]
78-
if isinstance(_llm_api, Unset):
79-
llm_api = UNSET
80-
else:
81-
llm_api = ValidatePayloadLlmApi(_llm_api)
100+
def _parse_llm_api(
101+
data: object,
102+
) -> Union[
103+
Literal["litellm.acompletion"],
104+
Literal["litellm.completion"],
105+
Literal["openai.ChatCompletion.acreate"],
106+
Literal["openai.ChatCompletion.create"],
107+
Literal["openai.Completion.acreate"],
108+
Literal["openai.Completion.create"],
109+
Literal["openai.chat.completions.create"],
110+
Literal["openai.completions.create"],
111+
Unset,
112+
]:
113+
if isinstance(data, Unset):
114+
return data
115+
return cast(
116+
Union[
117+
Literal["litellm.acompletion"],
118+
Literal["litellm.completion"],
119+
Literal["openai.ChatCompletion.acreate"],
120+
Literal["openai.ChatCompletion.create"],
121+
Literal["openai.Completion.acreate"],
122+
Literal["openai.Completion.create"],
123+
Literal["openai.chat.completions.create"],
124+
Literal["openai.completions.create"],
125+
Unset,
126+
],
127+
data,
128+
)
129+
130+
llm_api = _parse_llm_api(d.pop("llmApi", UNSET))
82131

83132
validate_payload = cls(
84133
llm_output=llm_output,

guardrails-api-client/guardrails_api_client/models/validate_payload_llm_api.py

Lines changed: 0 additions & 15 deletions
This file was deleted.

open-api-spec.yml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,25 @@ components:
763763
oneOf:
764764
- $ref: "#/components/schemas/AnyObject"
765765
- $ref: "#/components/schemas/AnyPrimitive"
766+
LlmApi:
767+
type: string
768+
oneOf:
769+
- title: OPENAI_V0_COMPLETION_CREATE
770+
const: openai.Completion.create
771+
- title: OPENAI_V1_COMPLETION_CREATE
772+
const: openai.completions.create
773+
- title: OPENAI_V0_CHAT_COMPLETION_CREATE
774+
const: openai.ChatCompletion.create
775+
- title: OPENAI_V1_CHAT_COMPLETION_CREATE
776+
const: openai.chat.completions.create
777+
- title: OPENAI_V0_COMPLETION_ASYNC_CREATE
778+
const: openai.Completion.acreate
779+
- title: OPENAI_V0_CHAT_COMPLETION_ASYNC_CREATE
780+
const: openai.ChatCompletion.acreate
781+
- title: LITELLM_COMPLETION
782+
const: litellm.completion
783+
- title: LITELLM_ASYNC_COMPLETION
784+
const: litellm.acompletion
766785
ValidatePayload:
767786
type: object
768787
properties:
@@ -779,8 +798,7 @@ components:
779798
properties: {}
780799
additionalProperties: {}
781800
llmApi:
782-
type: string
783-
enum: ["openai.Completion.create", "openai.completions.create", "openai.ChatCompletion.create", "openai.chat.completions.create", "openai.Completion.acreate", "openai.ChatCompletion.acreate", "litellm.completion", "litellm.acompletion"]
801+
$ref: "#/components/schemas/LlmApi"
784802
additionalProperties: {}
785803
Ingestion:
786804
type: object

0 commit comments

Comments
 (0)