Commit 3852e25d
Changed files (4)
openai
openai/api_resources/__init__.py
@@ -10,4 +10,5 @@ from openai.api_resources.error_object import ErrorObject # noqa: F401
from openai.api_resources.file import File # noqa: F401
from openai.api_resources.fine_tune import FineTune # noqa: F401
from openai.api_resources.model import Model # noqa: F401
+from openai.api_resources.moderation import Moderation # noqa: F401
from openai.api_resources.search import Search # noqa: F401
openai/api_resources/moderation.py
@@ -0,0 +1,22 @@
+from typing import List, Optional, Union
+
+from openai.openai_object import OpenAIObject
+
+
+class Moderation(OpenAIObject):
+ VALID_MODEL_NAMES: List[str] = ["text-moderation-stable", "text-moderation-latest"]
+
+ @classmethod
+ def get_url(self):
+ return "/moderations"
+
+ @classmethod
+ def create(cls, input: Union[str, List[str]], model: Optional[str] = None):
+ if model not in cls.VALID_MODEL_NAMES:
+ raise ValueError(
+ f"The parameter model should be chosen from {cls.VALID_MODEL_NAMES} "
+ f"and it is default to be None."
+ )
+
+ instance = cls()
+ return instance.request("post", cls.get_url(), {"input": input, "model": model})
openai/__init__.py
@@ -18,6 +18,7 @@ from openai.api_resources import (
File,
FineTune,
Model,
+ Moderation,
Search,
)
from openai.error import APIError, InvalidRequestError, OpenAIError
@@ -55,6 +56,7 @@ __all__ = [
"FineTune",
"InvalidRequestError",
"Model",
+ "Moderation",
"OpenAIError",
"Search",
"api_base",
openai/version.py
@@ -1,1 +1,1 @@
-VERSION = "0.19.0"
+VERSION = "0.20.0"