MCPcopy
hub / github.com/666ghj/BettaFish / invoke

Method invoke

InsightEngine/llms/base.py:58–84  ·  view source on GitHub ↗
(self, system_prompt: str, user_prompt: str, **kwargs)

Source from the content-addressed store, hash-verified

56
57 @with_retry(LLM_RETRY_CONFIG)
58 def invoke(self, system_prompt: str, user_prompt: str, **kwargs) -> str:
59 current_time = datetime.now().strftime("%Y年%m月%d日%H时%M分")
60 time_prefix = f"今天的实际时间是{current_time}"
61 if user_prompt:
62 user_prompt = f"{time_prefix}\n{user_prompt}"
63 else:
64 user_prompt = time_prefix
65 messages = [
66 {"role": "system", "content": system_prompt},
67 {"role": "user", "content": user_prompt},
68 ]
69
70 allowed_keys = {"temperature", "top_p", "presence_penalty", "frequency_penalty", "stream"}
71 extra_params = {key: value for key, value in kwargs.items() if key in allowed_keys and value is not None}
72
73 timeout = kwargs.pop("timeout", self.timeout)
74
75 response = self.client.chat.completions.create(
76 model=self.model_name,
77 messages=messages,
78 timeout=timeout,
79 **extra_params,
80 )
81
82 if response.choices and response.choices[0].message:
83 return self.validate_response(response.choices[0].message.content)
84 return ""
85
86 def stream_invoke(self, system_prompt: str, user_prompt: str, **kwargs) -> Generator[str, None, None]:
87 """

Callers

nothing calls this directly

Calls 3

validate_responseMethod · 0.95
popMethod · 0.80
createMethod · 0.80

Tested by

no test coverage detected