好耶,我也贴一段
async def generate_content(
contents: list[genai.types.ContentType], uid: int = 0
) -> str:
response = None
result = ""
session, forgot = get_chat_session(uid)
try:
if has_image(contents):
vsession = vision_model.start_chat(history=[])
response = await vsession.send_message_async(contents)
result = unmark(response.text)
fake_content: glm.Content = genai.types.content_types.to_content( # type: ignore
"<Send a image>"
)
fake_content.role = "user"
session.history.append(fake_content)
session.history.append(vsession.history[-1])
else:
response = await session.send_message_async(contents)
result = unmark(response.text)
except genai.types.BlockedPromptException as e:
logger.warning(f"Blocked prompt: {e}")
return REFUSED_REPLY
except Exception as e:
if response:
logger.warning(
f"Exception: {e}, prompt_feedback: {response.prompt_feedback}"
)
else:
logger.warning(f"Unknown Exception: {e}")
return REFUSED_REPLY
if forgot:
result += "\n(forgot something...)"
return result
async def generate_content(
contents: list[genai.types.ContentType], uid: int = 0
) -> str:
response = None
result = ""
session, forgot = get_chat_session(uid)
try:
if has_image(contents):
vsession = vision_model.start_chat(history=[])
response = await vsession.send_message_async(contents)
result = unmark(response.text)
fake_content: glm.Content = genai.types.content_types.to_content( # type: ignore
"<Send a image>"
)
fake_content.role = "user"
session.history.append(fake_content)
session.history.append(vsession.history[-1])
else:
response = await session.send_message_async(contents)
result = unmark(response.text)
except genai.types.BlockedPromptException as e:
logger.warning(f"Blocked prompt: {e}")
return REFUSED_REPLY
except Exception as e:
if response:
logger.warning(
f"Exception: {e}, prompt_feedback: {response.prompt_feedback}"
)
else:
logger.warning(f"Unknown Exception: {e}")
return REFUSED_REPLY
if forgot:
result += "\n(forgot something...)"
return result