main.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import numpy as np
  2. import gradio as gr
  3. # 生成一个文生图的gradio界面
  4. def mock_img(text: str):
  5. return [
  6. {
  7. "caption": "科学家们使用克隆技术",
  8. "url": "https://image.limaogushi.com/file/picture-books/image/f2/d8/7ae32095-6e8c-4328-a218-6fe57e49bbc2.jpg",
  9. },
  10. {
  11. "caption": "克隆羊多利的诞生",
  12. "url": "https://image.limaogushi.com/file/picture-books/image/97/98/75cf0a7b-cb27-44b3-beae-7ab24488ff8c.jpg",
  13. },
  14. ]
  15. def mock_story(query: str):
  16. return """小朋友,你听说过“克隆”这个词吗?让我来给你讲一个有趣的故事吧!
  17. 有一天,科学家们想出了一个非常神奇的方法,可以让一个生命体“复制”出另一个一模一样的生命体,这个方法就叫做“克隆”。你可以把“克隆”想象成是一台神奇的复印机,但是这台复印机不是复印纸张,而是复印生命哦!
  18. 1997年的时候,科学家们用这种方法成功地“复印”出了一只名叫多利的绵羊。你知道吗,多利羊并没有爸爸,它是由一只母羊的细胞复制而来的。这就像是我们从电脑上复制一个文件一样,只不过这次我们复制的是一个活生生的羊!
  19. 克隆羊多利的诞生,就像是打开了一扇新的大门,让人们看到了生命的奇妙和科学的无限可能。从此以后,人们开始更加关注和研究克隆技术,希望用它来帮助我们解决更多的问题。
  20. 所以,克隆羊就是通过克隆技术创造出来的一只羊,它没有父亲,只有母亲,是科学家们用神奇的“生命复印机”复制出来的哦!"""
  21. def generate_image(text):
  22. """ """
  23. res = mock_img(text)
  24. md = ""
  25. # 改为markdown
  26. for i in range(len(res)):
  27. md += f"{res[i]['caption']}\n![{res[i]['caption']}]({res[i]['url']})\n\n"
  28. return md
  29. def generate_story(query):
  30. """ """
  31. return mock_story(query)
  32. def generate_story_and_image(query):
  33. """ """
  34. story = generate_story(query)
  35. image = generate_image(query)
  36. return story, image
  37. # 生成一个gradio界面
  38. demo = gr.Interface(
  39. fn=generate_story_and_image,
  40. inputs=gr.Textbox(lines=5, label="问题"),
  41. outputs=[
  42. gr.Textbox(lines=15, label="故事"),
  43. gr.Markdown(label="绘本"),
  44. ],
  45. title="绘本生成器",
  46. description="输入一个问题,生成一个故事和绘本图片",
  47. theme="compact",
  48. )
  49. if __name__ == "__main__":
  50. demo.launch()