MCPcopy Create free account
hub / github.com/abetlen/llama-cpp-python / create_app

Function create_app

examples/server/server.py:15737–16346  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

15735
15736
15737def create_app() -> FastAPI:
15738 app = FastAPI()
15739 app.state.service = None
15740 app.add_middleware(
15741 CORSMiddleware,
15742 allow_origins=["*"],
15743 allow_credentials=True,
15744 allow_methods=["*"],
15745 allow_headers=["*"],
15746 )
15747
15748 async def watch_http_disconnect(
15749 http_request: Request,
15750 cancel: Callable[[], None],
15751 ) -> None:
15752 while True:
15753 message = await http_request.receive()
15754 if message["type"] == "http.disconnect":
15755 cancel()
15756 return
15757
15758 async def disconnected_cancelled_response_or_raise(
15759 http_request: Request,
15760 exc: BaseException,
15761 ) -> Response:
15762 if isinstance(exc, CompletionRequestCancelledError):
15763 if await http_request.is_disconnected():
15764 return Response(status_code=204)
15765 raise exc
15766
15767 def bad_request(exc: CompletionRequestValidationError) -> HTTPException:
15768 return HTTPException(status_code=400, detail=str(exc))
15769
15770 async def collect_completion_result(
15771 formatter: OpenAIFormatter,
15772 http_request: Request,
15773 stream: CompletionStream,
15774 cancel: Callable[[], None],
15775 ) -> OpenAICompletion | Response:
15776 disconnect_task = asyncio.create_task(
15777 watch_http_disconnect(http_request, cancel)
15778 )
15779 try:
15780 return await asyncio.to_thread(formatter.collect_completion, stream)
15781 except asyncio.CancelledError:
15782 cancel()
15783 raise
15784 except BaseException as exc:
15785 return await disconnected_cancelled_response_or_raise(http_request, exc)
15786 finally:
15787 disconnect_task.cancel()
15788 stream.close()
15789
15790 async def collect_completion_results(
15791 formatter: OpenAIFormatter,
15792 http_request: Request,
15793 submissions: Sequence[
15794 Tuple[

Callers 1

server.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…