Commit 205d063e
Changed files (5)
openai
openai/api_resources/__init__.py
@@ -1,8 +1,9 @@
+from openai.api_resources.answer import Answer # noqa: F401
+from openai.api_resources.classification import Classification # noqa: F401
from openai.api_resources.completion import Completion # noqa: F401
from openai.api_resources.engine import Engine # noqa: F401
from openai.api_resources.error_object import ErrorObject # noqa: F401
from openai.api_resources.file import File # noqa: F401
-from openai.api_resources.answer import Answer # noqa: F401
-from openai.api_resources.classification import Classification # noqa: F401
-from openai.api_resources.model import Model # 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.search import Search # noqa: F401
openai/api_resources/search.py
@@ -0,0 +1,15 @@
+from openai.api_resources.abstract.api_resource import APIResource
+
+
+class Search(APIResource):
+ api_prefix = "v1"
+ OBJECT_NAME = "search_indices"
+
+ @classmethod
+ def class_url(cls):
+ return "/%s/%s" % (cls.api_prefix, cls.OBJECT_NAME)
+
+ @classmethod
+ def create_alpha(cls, **params):
+ instance = cls()
+ return instance.request("post", f"{cls.class_url()}/search", params)
openai/__init__.py
@@ -34,6 +34,6 @@ from openai.api_resources import ( # noqa: E402,F401
File,
FineTune,
Model,
+ Search,
)
-
-from openai.error import OpenAIError, APIError, InvalidRequestError # noqa: E402,F401
+from openai.error import APIError, InvalidRequestError, OpenAIError # noqa: E402,F401
openai/cli.py
@@ -3,16 +3,16 @@ import os
import signal
import sys
import warnings
+
+import openai
from openai.validators import (
- write_out_file,
apply_necessary_remediation,
apply_optional_remediation,
- read_any_format,
get_validators,
+ read_any_format,
+ write_out_file,
)
-import openai
-
class bcolors:
HEADER = "\033[95m"
@@ -102,7 +102,6 @@ class Engine:
@classmethod
def search(cls, args):
- # Will soon be deprecated and replaced by a Search.create
params = {
"query": args.query,
"max_rerank": args.max_rerank,
@@ -113,6 +112,9 @@ class Engine:
if args.file:
params["file"] = args.file
+ if args.version:
+ params["version"] = args.version
+
resp = openai.Engine(id=args.id).search(**params)
scores = [
(search_result["score"], search_result["document"])
@@ -221,6 +223,17 @@ class File:
print(file)
+class Search:
+ @classmethod
+ def create_alpha(cls, args):
+ resp = openai.Search.create_alpha(
+ query=[args.query],
+ max_documents=args.max_documents,
+ file_id=args.file,
+ )
+ print(resp)
+
+
class FineTune:
@classmethod
def list(cls, args):
@@ -589,6 +602,11 @@ Mutually exclusive with `top_p`.""",
type=bool,
default=False,
)
+ sub.add_argument(
+ "--version",
+ help="The version of the search routing to use",
+ )
+
sub.add_argument("-q", "--query", required=True, help="Search query")
sub.set_defaults(func=Engine.search)
@@ -688,6 +706,30 @@ Mutually exclusive with `top_p`.""",
sub = subparsers.add_parser("files.list")
sub.set_defaults(func=File.list)
+ # Search
+ sub = subparsers.add_parser("search.create_alpha")
+
+ sub.add_argument(
+ "-f",
+ "--file",
+ required=True,
+ help="ID for previously uploaded file that contains the documents you want to search",
+ )
+ sub.add_argument(
+ "-m",
+ "--max_documents",
+ help="The maximum number of documents to return",
+ type=int,
+ default=200,
+ )
+ sub.add_argument(
+ "-q",
+ "--query",
+ required=True,
+ help="Search query",
+ )
+ sub.set_defaults(func=Search.create_alpha)
+
# Finetune
sub = subparsers.add_parser("fine_tunes.list")
sub.set_defaults(func=FineTune.list)
openai/version.py
@@ -1,1 +1,1 @@
-VERSION = "0.10.3"
+VERSION = "0.10.4"