bugfix
This commit is contained in:
parent
f4665237e8
commit
841fa347f4
@ -164,12 +164,12 @@ async def write_llmusage(id, llm, userid, usage, params_kw, outdata, sor):
|
|||||||
}
|
}
|
||||||
await sor.C('llmusage', d)
|
await sor.C('llmusage', d)
|
||||||
|
|
||||||
async def uapi_request(request, llm, sor, params_kw=None):
|
async def uapi_request(request, llm, sor, callerid, callerorgid, params_kw=None):
|
||||||
env = request._run_ns.copy()
|
env = request._run_ns.copy()
|
||||||
if not params_kw:
|
if not params_kw:
|
||||||
params_kw = env.params_kw
|
params_kw = env.params_kw
|
||||||
callerorgid = await env.get_userorgid()
|
# callerorgid = await env.get_userorgid()
|
||||||
callerid = await env.get_user()
|
# callerid = await env.get_user()
|
||||||
uapi = UAPI(request, sor=sor)
|
uapi = UAPI(request, sor=sor)
|
||||||
userid = await get_owner_userid(sor, llm)
|
userid = await get_owner_userid(sor, llm)
|
||||||
outlines = []
|
outlines = []
|
||||||
@ -236,12 +236,12 @@ async def uapi_request(request, llm, sor, params_kw=None):
|
|||||||
await write_llmusage(luid, llm, callerid, None, params_kw, outlines, sor)
|
await write_llmusage(luid, llm, callerid, None, params_kw, outlines, sor)
|
||||||
return
|
return
|
||||||
|
|
||||||
async def sync_uapi_request(request, llm, sor, params_kw=None):
|
async def sync_uapi_request(request, llm, sor, callerid, callerorgid, params_kw=None):
|
||||||
env = request._run_ns.copy()
|
env = request._run_ns.copy()
|
||||||
if not params_kw:
|
if not params_kw:
|
||||||
params_kw = env.params_kw
|
params_kw = env.params_kw
|
||||||
callerid = await env.get_user()
|
# callerid = await env.get_user()
|
||||||
callerorgid = await env.get_userorgid()
|
# callerorgid = await env.get_userorgid()
|
||||||
uapi = UAPI(request, sor=sor)
|
uapi = UAPI(request, sor=sor)
|
||||||
userid = await get_owner_userid(sor, llm)
|
userid = await get_owner_userid(sor, llm)
|
||||||
outlines = []
|
outlines = []
|
||||||
@ -281,12 +281,12 @@ async def sync_uapi_request(request, llm, sor, params_kw=None):
|
|||||||
debug(f'{usage=},{llm.ownerid=},{callerorgid=}')
|
debug(f'{usage=},{llm.ownerid=},{callerorgid=}')
|
||||||
await llm_accounting(request, llm.id, usage, callerorgid, callerid)
|
await llm_accounting(request, llm.id, usage, callerorgid, callerid)
|
||||||
|
|
||||||
async def async_uapi_request(request, llm, sor, params_kw=None):
|
async def async_uapi_request(request, llm, sor, callerid, callerorgid, params_kw=None):
|
||||||
env = request._run_ns.copy()
|
env = request._run_ns.copy()
|
||||||
if not params_kw:
|
if not params_kw:
|
||||||
params_kw = env.params_kw
|
params_kw = env.params_kw
|
||||||
callerorgid = await env.get_userorgid()
|
# callerorgid = await env.get_userorgid()
|
||||||
callerid = await env.get_user()
|
# callerid = await env.get_user()
|
||||||
uapi = UAPI(request, sor=sor)
|
uapi = UAPI(request, sor=sor)
|
||||||
userid = await get_owner_userid(sor, llm)
|
userid = await get_owner_userid(sor, llm)
|
||||||
outlines = []
|
outlines = []
|
||||||
@ -381,6 +381,14 @@ def b64media2url(request, mediafile):
|
|||||||
|
|
||||||
async def inference_generator(request, *args, params_kw=None, **kw):
|
async def inference_generator(request, *args, params_kw=None, **kw):
|
||||||
env = request._run_ns.copy()
|
env = request._run_ns.copy()
|
||||||
|
callerorgid = await env.get_userorgid()
|
||||||
|
callerid = await env.get_user()
|
||||||
|
async for d in _inference_generator(request, callerid,
|
||||||
|
callerorgid, params_kw=params_kw, **kw):
|
||||||
|
yield d
|
||||||
|
|
||||||
|
async def _inference_generator(request, callerid, callerorgid,
|
||||||
|
params_kw=params_kw, **kw):
|
||||||
if not params_kw:
|
if not params_kw:
|
||||||
params_kw = env.params_kw
|
params_kw = env.params_kw
|
||||||
if not params_kw.transno:
|
if not params_kw.transno:
|
||||||
@ -401,13 +409,13 @@ async def inference_generator(request, *args, params_kw=None, **kw):
|
|||||||
if params_kw.nostream and llm.stream == 'stream':
|
if params_kw.nostream and llm.stream == 'stream':
|
||||||
llm.stream = 'sync'
|
llm.stream = 'sync'
|
||||||
if llm.stream == 'async':
|
if llm.stream == 'async':
|
||||||
f = partial(async_uapi_request, request, llm, sor, params_kw=params_kw)
|
f = partial(async_uapi_request, request, llm, sor, callerid, callerorgid, params_kw=params_kw)
|
||||||
elif llm.stream == 'sync':
|
elif llm.stream == 'sync':
|
||||||
f = partial(sync_uapi_request, request, llm, sor, params_kw=params_kw)
|
f = partial(sync_uapi_request, request, llm, sor, callerid, callerorgid, params_kw=params_kw)
|
||||||
# env.update(llm)
|
# env.update(llm)
|
||||||
else:
|
else:
|
||||||
uapi = UAPI(request, sor=sor)
|
uapi = UAPI(request, sor=sor)
|
||||||
f = partial(uapi_request, request, llm, sor, params_kw=params_kw)
|
f = partial(uapi_request, request, llm, sor, callerid, callerorgid, params_kw=params_kw)
|
||||||
async for d in f():
|
async for d in f():
|
||||||
yield d
|
yield d
|
||||||
|
|
||||||
|
|||||||
23
wwwroot/openai/index.dspy
Normal file
23
wwwroot/openai/index.dspy
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
"""
|
||||||
|
params_kw has:
|
||||||
|
model: name of model
|
||||||
|
messages:
|
||||||
|
"""
|
||||||
|
if params_kw.model is None:
|
||||||
|
return json_response(
|
||||||
|
{"error": {"message": "Missing required parameter: model", "type": "invalid_request_error"}},
|
||||||
|
status=400
|
||||||
|
)
|
||||||
|
if params_kw.messages is None:
|
||||||
|
return json_response(
|
||||||
|
{
|
||||||
|
"error": {
|
||||||
|
"message": "Messages array cannot be empty",
|
||||||
|
"type": "invalid_request_error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
status=400
|
||||||
|
)
|
||||||
|
try:
|
||||||
|
async with get_sor_context(request._run_ns, 'llmage') as sor:
|
||||||
|
recs = await sor.R('llm', {'model': params_kw.model})
|
||||||
Loading…
x
Reference in New Issue
Block a user