MCPcopy Create free account
hub / github.com/Open-Bee/DataStudio / generate_inner

Method generate_inner

datastudio/models/openai_api.py:567–626  ·  view source on GitHub ↗

Sync version of generate for single request (BaseAPI compatibility). Args: inputs: Preprocessed message list (OpenAI format). **kwargs: Additional parameters. Returns: Tuple of (ret_code, answer, response).

(self, inputs, **kwargs)

Source from the content-addressed store, hash-verified

565 return final
566
567 def generate_inner(self, inputs, **kwargs):
568 """Sync version of generate for single request (BaseAPI compatibility).
569
570 Args:
571 inputs: Preprocessed message list (OpenAI format).
572 **kwargs: Additional parameters.
573
574 Returns:
575 Tuple of (ret_code, answer, response).
576 """
577
578 temperature = kwargs.get("temperature", self.temperature)
579 max_tokens = kwargs.get("max_tokens", self.max_tokens)
580 top_p = kwargs.get("top_p", self.top_p)
581 top_k = kwargs.get("top_k", self.top_k)
582 min_p = kwargs.get("min_p", self.min_p)
583 presence_penalty = kwargs.get("presence_penalty", self.presence_penalty)
584 repetition_penalty = kwargs.get("repetition_penalty", self.repetition_penalty)
585
586 headers = self._build_openai_headers()
587
588 extra_kwargs = {
589 k: v for k, v in kwargs.items() if k not in self._SAMPLING_PARAM_KEYS
590 }
591
592 payload = {
593 "model": self.model,
594 "messages": inputs,
595 "max_tokens": max_tokens,
596 "temperature": temperature,
597 "top_p": top_p,
598 "top_k": top_k,
599 "min_p": min_p,
600 "presence_penalty": presence_penalty,
601 "repetition_penalty": repetition_penalty,
602 **extra_kwargs,
603 }
604
605 if self.return_dict:
606 payload["response_format"] = {"type": "json_object"}
607
608 # Add thinking mode config (for vLLM/SGLang with Qwen3 etc.)
609 if "chat_template_kwargs" not in payload:
610 payload["chat_template_kwargs"] = {}
611 if "enable_thinking" not in payload["chat_template_kwargs"]:
612 payload["chat_template_kwargs"]["enable_thinking"] = self.enable_thinking
613
614 response = requests.post(
615 self.api_base,
616 headers=headers,
617 json=payload,
618 timeout=self.timeout,
619 )
620
621 try:
622 answer = self._parse_openai_response(response.json())
623 except Exception as e:
624 return 1, e, response

Callers 1

generate_innerMethod · 0.95

Calls 3

_build_openai_headersMethod · 0.95
getMethod · 0.45

Tested by

no test coverage detected