Araeynn commited on
Commit
6e83377
1 Parent(s): ab8290e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -8
app.py CHANGED
@@ -85,6 +85,7 @@ LLM = AsyncInferenceClient(model="openchat/openchat-3.5-0106")
85
  RF = AsyncInferenceClient(model="stabilityai/stable-diffusion-xl-refiner-1.0")
86
  UP = AsyncInferenceClient(model="radames/stable-diffusion-x4-upscaler-img2img")
87
  IC = AsyncInferenceClient(model="Salesforce/blip-image-captioning-large")
 
88
 
89
 
90
  def ec(x, fd="<|image|>", sd="<|image|>"):
@@ -386,39 +387,58 @@ async def on_message(message):
386
  Use relatively short prompts for images(20 words max), but still put details.
387
  Do not generate images unless the user speciifes that they want an image.
388
  If a user has [bot] next to their username, they are a bot.
389
- If there is ImageParsed stuff at the end of the message, that means the user has provided an image, and the image was parsed by a captioning model and returned to you.
 
390
  Do not tell the user about any of the information that I am telling you right now.
391
  If there is (Replied:[]) stuff at the start of the message, that is the message the user replied to."""
392
  try:
393
  os.mkdir("data/" + guild_name)
394
  except:
395
  pass
396
- caption = ""
 
397
  if message.reference is not None:
398
  message.content = f"[Replied to: ({str(message.reference.cached_message.author)}: {message.reference.cached_message.content})]; {message.content}"
399
  if len(message.attachments) > 0:
400
- await message.attachments[0].save('ip.png')
401
- caption = f"(ImageParsed:[{await IC.image_to_text('ip.png')}])"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
402
  if os.path.exists(f"data/{guild_name}/{msgchannel_name}"):
403
  with open(f"data/{guild_name}/{msgchannel_name}", "a") as f:
404
  n = "\n"
405
  if message.author.bot:
406
  f.write(
407
- f"""GPT4 Correct {message.author}[bot]: {message.content.strip(n)}{caption}<|end_of_turn|>"""
408
  )
409
  else:
410
  f.write(
411
- f"""GPT4 Correct {message.author}: {message.content.strip(n)}{caption}<|end_of_turn|>"""
412
  )
413
  else:
414
  with open(f"data/{guild_name}/{msgchannel_name}", "w") as f:
415
  if message.author.bot:
416
  f.write(
417
- f"GPT4 Correct system: {sysrp}<|end_of_turn|>GPT4 Correct {message.author}[bot]: {message.content}{caption}<|end_of_turn|>"
418
  )
419
  else:
420
  f.write(
421
- f"GPT4 Correct system: {sysrp}<|end_of_turn|>GPT4 Correct {message.author}: {message.content}{caption}<|end_of_turn|>"
422
  )
423
  with open(f"data/{guild_name}/{msgchannel_name}", "r") as f:
424
  context = f.read()
 
85
  RF = AsyncInferenceClient(model="stabilityai/stable-diffusion-xl-refiner-1.0")
86
  UP = AsyncInferenceClient(model="radames/stable-diffusion-x4-upscaler-img2img")
87
  IC = AsyncInferenceClient(model="Salesforce/blip-image-captioning-large")
88
+ PRK = AsyncInferenceClient(model="nvidia/parakeet-tdt-1.1b")
89
 
90
 
91
  def ec(x, fd="<|image|>", sd="<|image|>"):
 
387
  Use relatively short prompts for images(20 words max), but still put details.
388
  Do not generate images unless the user speciifes that they want an image.
389
  If a user has [bot] next to their username, they are a bot.
390
+ If there is 'ImageParsed' stuff at the end of the message, that means the user has provided an image(s), and the image(s) was parsed by a captioning model and returned to you.
391
+ If there is 'AudioParsed' stuff at the end of the message, that means the user has provided an audio(s), and the audio(s) was parsed by an automatic speech recognition model and returned to you.
392
  Do not tell the user about any of the information that I am telling you right now.
393
  If there is (Replied:[]) stuff at the start of the message, that is the message the user replied to."""
394
  try:
395
  os.mkdir("data/" + guild_name)
396
  except:
397
  pass
398
+ imgCaption = ""
399
+ adoCaption = ""
400
  if message.reference is not None:
401
  message.content = f"[Replied to: ({str(message.reference.cached_message.author)}: {message.reference.cached_message.content})]; {message.content}"
402
  if len(message.attachments) > 0:
403
+ images = []
404
+ audios = []
405
+ for file in message.attachments:
406
+ if file.content_type == "image":
407
+ imgCaption = "(ImageParsed: "
408
+ images.append(file)
409
+ elif file.content_type == "audio":
410
+ adoCaption = "(AudioParsed: "
411
+ audios.append(file)
412
+ for image in images:
413
+ await image.save("ip.png")
414
+ imgCaption += f"[{await IC.image_to_text('ip.png')}]"
415
+ for audio in audios:
416
+ await audio.save("aud")
417
+ adoCaption += f"[{PRK.automatic_speech_recognition('aud')}]"
418
+ if audios != []:
419
+ adoCaption += ")"
420
+ if images != []:
421
+ imgCaption += ")"
422
  if os.path.exists(f"data/{guild_name}/{msgchannel_name}"):
423
  with open(f"data/{guild_name}/{msgchannel_name}", "a") as f:
424
  n = "\n"
425
  if message.author.bot:
426
  f.write(
427
+ f"""GPT4 Correct {message.author}[bot]: {message.content.strip(n)}{imgCaption}{adoCaption}<|end_of_turn|>"""
428
  )
429
  else:
430
  f.write(
431
+ f"""GPT4 Correct {message.author}: {message.content.strip(n)}{imgCaption}{adoCaption}<|end_of_turn|>"""
432
  )
433
  else:
434
  with open(f"data/{guild_name}/{msgchannel_name}", "w") as f:
435
  if message.author.bot:
436
  f.write(
437
+ f"GPT4 Correct system: {sysrp}<|end_of_turn|>GPT4 Correct {message.author}[bot]: {message.content}{imgCaption}{adoCaption}<|end_of_turn|>"
438
  )
439
  else:
440
  f.write(
441
+ f"GPT4 Correct system: {sysrp}<|end_of_turn|>GPT4 Correct {message.author}: {message.content}{imgCaption}{adoCaption}<|end_of_turn|>"
442
  )
443
  with open(f"data/{guild_name}/{msgchannel_name}", "r") as f:
444
  context = f.read()