mirror of
https://github.com/theroyallab/tabbyAPI.git
synced 2026-04-27 17:51:36 +00:00
OAI: Refactor embeddings
Move files and rewrite routes to adhere to Tabby's code style. Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
from fastapi import APIRouter, Depends, HTTPException, Request
|
from fastapi import APIRouter, Depends, HTTPException, Request
|
||||||
from fastapi.responses import JSONResponse
|
|
||||||
from sse_starlette import EventSourceResponse
|
from sse_starlette import EventSourceResponse
|
||||||
from sys import maxsize
|
from sys import maxsize
|
||||||
|
|
||||||
@@ -9,7 +8,6 @@ from common.auth import check_api_key
|
|||||||
from common.model import check_model_container
|
from common.model import check_model_container
|
||||||
from common.networking import handle_request_error, run_with_request_disconnect
|
from common.networking import handle_request_error, run_with_request_disconnect
|
||||||
from common.utils import unwrap
|
from common.utils import unwrap
|
||||||
import endpoints.OAI.embeddings as OAIembeddings
|
|
||||||
from endpoints.OAI.types.completion import CompletionRequest, CompletionResponse
|
from endpoints.OAI.types.completion import CompletionRequest, CompletionResponse
|
||||||
from endpoints.OAI.types.chat_completion import (
|
from endpoints.OAI.types.chat_completion import (
|
||||||
ChatCompletionRequest,
|
ChatCompletionRequest,
|
||||||
@@ -25,6 +23,7 @@ from endpoints.OAI.utils.completion import (
|
|||||||
generate_completion,
|
generate_completion,
|
||||||
stream_generate_completion,
|
stream_generate_completion,
|
||||||
)
|
)
|
||||||
|
from endpoints.OAI.utils.embeddings import embeddings
|
||||||
|
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
@@ -134,14 +133,8 @@ async def chat_completion_request(
|
|||||||
@router.post(
|
@router.post(
|
||||||
"/v1/embeddings",
|
"/v1/embeddings",
|
||||||
dependencies=[Depends(check_api_key), Depends(check_model_container)],
|
dependencies=[Depends(check_api_key), Depends(check_model_container)],
|
||||||
response_model=EmbeddingsResponse,
|
|
||||||
)
|
)
|
||||||
async def handle_embeddings(request: EmbeddingsRequest):
|
async def handle_embeddings(data: EmbeddingsRequest) -> EmbeddingsResponse:
|
||||||
input = request.input
|
response = await embeddings(data.input, data.encoding_format, data.model)
|
||||||
if not input:
|
|
||||||
raise JSONResponse(
|
return response
|
||||||
status_code=400, content={"error": "Missing required argument input"}
|
|
||||||
)
|
|
||||||
model = request.model if request.model else None
|
|
||||||
response = await OAIembeddings.embeddings(input, request.encoding_format, model)
|
|
||||||
return JSONResponse(response)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user