mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-08 05:39:13 +00:00
Increase user visibility into more errors during image generation
Catch OpenAI connection error and errors during better image prompt generation
This commit is contained in:
@@ -467,16 +467,15 @@ async def text_to_image(
|
|||||||
elif chat["by"] == "khoj" and "text-to-image" in chat["intent"].get("type"):
|
elif chat["by"] == "khoj" and "text-to-image" in chat["intent"].get("type"):
|
||||||
chat_history += f"Q: {chat['intent']['query']}\n"
|
chat_history += f"Q: {chat['intent']['query']}\n"
|
||||||
chat_history += f"A: [generated image redacted by admin]. Enhanced image prompt: {chat['intent']['inferred-queries'][0]}\n"
|
chat_history += f"A: [generated image redacted by admin]. Enhanced image prompt: {chat['intent']['inferred-queries'][0]}\n"
|
||||||
|
|
||||||
with timer("Improve the original user query", logger):
|
|
||||||
improved_image_prompt = await generate_better_image_prompt(
|
|
||||||
message,
|
|
||||||
chat_history,
|
|
||||||
location_data=location_data,
|
|
||||||
note_references=references,
|
|
||||||
online_results=online_results,
|
|
||||||
)
|
|
||||||
try:
|
try:
|
||||||
|
with timer("Improve the original user query", logger):
|
||||||
|
improved_image_prompt = await generate_better_image_prompt(
|
||||||
|
message,
|
||||||
|
chat_history,
|
||||||
|
location_data=location_data,
|
||||||
|
note_references=references,
|
||||||
|
online_results=online_results,
|
||||||
|
)
|
||||||
with timer("Generate image with OpenAI", logger):
|
with timer("Generate image with OpenAI", logger):
|
||||||
response = state.openai_client.images.generate(
|
response = state.openai_client.images.generate(
|
||||||
prompt=improved_image_prompt, model=text2image_model, response_format="b64_json"
|
prompt=improved_image_prompt, model=text2image_model, response_format="b64_json"
|
||||||
@@ -486,7 +485,7 @@ async def text_to_image(
|
|||||||
with timer("Upload image to S3", logger):
|
with timer("Upload image to S3", logger):
|
||||||
image_url = upload_image(image, user.uuid)
|
image_url = upload_image(image, user.uuid)
|
||||||
return image, status_code, improved_image_prompt, image_url
|
return image, status_code, improved_image_prompt, image_url
|
||||||
except openai.OpenAIError or openai.BadRequestError as e:
|
except openai.OpenAIError or openai.BadRequestError or openai.APIConnectionError as e:
|
||||||
if "content_policy_violation" in e.message:
|
if "content_policy_violation" in e.message:
|
||||||
logger.error(f"Image Generation blocked by OpenAI: {e}")
|
logger.error(f"Image Generation blocked by OpenAI: {e}")
|
||||||
status_code = e.status_code # type: ignore
|
status_code = e.status_code # type: ignore
|
||||||
|
|||||||
Reference in New Issue
Block a user