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

Function create_response

examples/server/server.py:16087–16171  ·  view source on GitHub ↗
(  # pyright: ignore[reportUnusedFunction]
        http_request: Request,
        body: CreateResponseRequest,
    )

Source from the content-addressed store, hash-verified

16085
16086 @app.post("/v1/responses")
16087 async def create_response( # pyright: ignore[reportUnusedFunction]
16088 http_request: Request,
16089 body: CreateResponseRequest,
16090 ):
16091 service: CompletionService = app.state.service
16092 formatter = service.formatter
16093 try:
16094 chat_parts = formatter.response_request_to_chat_parts(body)
16095 parts = formatter.completion_request_from_response_chat_parts(chat_parts)
16096 except CompletionRequestValidationError as exc:
16097 raise bad_request(exc) from exc
16098 response_tools = chat_parts.tools
16099 try:
16100 request = service.request_from_prepared(
16101 payload=parts.payload,
16102 prompt_text=parts.prompt_text,
16103 prompt_plan=parts.prompt_plan,
16104 grammar_text=parts.grammar_text,
16105 chat_tool_name=parts.tool_name,
16106 )
16107 stream, cancel = service.submit_request(request)
16108 except CompletionRequestValidationError as exc:
16109 raise bad_request(exc) from exc
16110 if body.stream:
16111 started_indices: set[int] = set()
16112 parsed_states: Dict[int, ResponseParser] = {}
16113 stream_state = OpenAIFormatter.ResponsesStream(
16114 body=body,
16115 response_id="resp_" + request.id,
16116 created_at=float(request.created),
16117 model=service.scheduler.model.model_path,
16118 )
16119
16120 def response_chunk_payloads(
16121 completion_chunk: CompletionChunk,
16122 ) -> Iterable[BaseModel | Dict[str, Any]]:
16123 chat_chunks = formatter.convert_completion_chunk_to_chat_chunks(
16124 completion_chunk,
16125 started_indices,
16126 parts.tool_name,
16127 tools=response_tools,
16128 parsed_states=parsed_states,
16129 generation_prompt=parts.generation_prompt,
16130 )
16131 payloads: List[BaseModel | Dict[str, Any]] = []
16132 for chat_chunk in chat_chunks:
16133 payloads.extend(
16134 formatter.convert_chat_chunk_to_response_events(
16135 chat_chunk,
16136 stream_state,
16137 )
16138 )
16139 return payloads
16140
16141 return StreamingResponse(
16142 stream_sse_outputs(
16143 formatter,
16144 http_request,

Callers

nothing calls this directly

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…