kopia lustrzana https://github.com/gd3kr/BlenderGPT
51 wiersze
1.6 KiB
Python
51 wiersze
1.6 KiB
Python
import time
|
|
import warnings
|
|
|
|
from openai import util
|
|
from openai.api_resources.abstract import ListableAPIResource, UpdateableAPIResource
|
|
from openai.error import TryAgain
|
|
|
|
|
|
class Engine(ListableAPIResource, UpdateableAPIResource):
|
|
OBJECT_NAME = "engines"
|
|
|
|
def generate(self, timeout=None, **params):
|
|
start = time.time()
|
|
while True:
|
|
try:
|
|
return self.request(
|
|
"post",
|
|
self.instance_url() + "/generate",
|
|
params,
|
|
stream=params.get("stream"),
|
|
plain_old_data=True,
|
|
)
|
|
except TryAgain as e:
|
|
if timeout is not None and time.time() > start + timeout:
|
|
raise
|
|
|
|
util.log_info("Waiting for model to warm up", error=e)
|
|
|
|
async def agenerate(self, timeout=None, **params):
|
|
start = time.time()
|
|
while True:
|
|
try:
|
|
return await self.arequest(
|
|
"post",
|
|
self.instance_url() + "/generate",
|
|
params,
|
|
stream=params.get("stream"),
|
|
plain_old_data=True,
|
|
)
|
|
except TryAgain as e:
|
|
if timeout is not None and time.time() > start + timeout:
|
|
raise
|
|
|
|
util.log_info("Waiting for model to warm up", error=e)
|
|
|
|
def embeddings(self, **params):
|
|
warnings.warn(
|
|
"Engine.embeddings is deprecated, use Embedding.create", DeprecationWarning
|
|
)
|
|
return self.request("post", self.instance_url() + "/embeddings", params)
|