MCPcopy Index your code
hub / github.com/KnowledgeXLab/LeanRAG / generate_text

Method generate_text

tools/utils.py:178–222  ·  view source on GitHub ↗

发送请求到选择的实例

(self, prompt,system_prompt=None, history_messages=[], **kwargs)

Source from the content-addressed store, hash-verified

176 return instance["port"] # 返回端口
177
178 def generate_text(self, prompt,system_prompt=None, history_messages=[], **kwargs):
179 """发送请求到选择的实例"""
180 port = self.get_available_instance()
181 base_url = f"{self.base_url}:{port}/v1"
182 messages = []
183 if system_prompt:
184 messages.append({"role": "system", "content": system_prompt})
185
186 # Get the cached response if having-------------------
187
188 if len(history_messages)>1:
189 history_messages[0]['content'] = truncate_text(history_messages[0]['content'], max_tokens=3000)
190 history_messages[1]['content'] = truncate_text(history_messages[1]['content'], max_tokens=25000)
191 messages.extend(history_messages)
192 messages.append({"role": "user", "content": prompt})
193 try:
194 cur_token_cost = len(tokenizer.encode(messages[0]['content']))
195 if cur_token_cost>31000:
196 cur_token_cost = 31000
197 messages[0]['content'] = truncate_text(messages[0]['content'], max_tokens=31000)
198
199 # logging api call cost
200 self.TOTAL_API_CALL_COST += 1
201 response = requests.post(
202 f"{base_url}/chat/completions",
203 json={
204 "model": self.generate_model,
205 "messages": messages,
206 **kwargs,
207 "chat_template_kwargs": {"enable_thinking": False}
208 },
209 timeout=240
210 )
211 response.raise_for_status()
212 res=json.loads(response.content)
213 self.TOTAL_TOKEN_COST += res["usage"]["prompt_tokens"]
214 response_message = res["choices"][0]["message"]['content']#对结果进行后处理
215 except Exception as e:
216 print(f"Retry for Error: {e}")
217 response = ""
218 response_message=""
219
220
221
222 return response_message
223 async def generate_text_asy(self, prompt,system_prompt=None, history_messages=[], **kwargs):
224 """发送请求到选择的实例"""
225 port = self.get_available_instance()

Callers

nothing calls this directly

Calls 2

truncate_textFunction · 0.70

Tested by

no test coverage detected