abdelrhman-mahmoud commited on
Commit
884ed67
1 Parent(s): ffc3dd0

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -0
app.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import streamlit as st
3
+ from transformers import pipeline
4
+ from PIL import Image
5
+ import requests
6
+ import torch
7
+ from diffusers import DiffusionPipeline
8
+
9
+
10
+ def generate_text(prompt, text_generator):
11
+ generated_text = text_generator(prompt, max_length=200, num_return_sequences=1, temperature=0.7)[0]['generated_text']
12
+ return generated_text
13
+
14
+ def generate_image(prompt, img_gen):
15
+ generated_image = img_gen(prompt)[0]
16
+ return generated_image
17
+
18
+ def generate_blog_post(keywords, text_generator, img_gen):
19
+ # Text generation
20
+ generated_text = generate_text(f"Write about {keywords}", text_generator)
21
+
22
+ # Image generation
23
+ generated_image = generate_image(keywords, img_gen)
24
+
25
+ return f"# {keywords}\n\n## Introduction\n{generated_text}\n\n## Body\n{generated_text}\n\n## Conclusion\n{generated_text}\n\nGenerated Image: {generated_image}"
26
+
27
+ def main():
28
+
29
+
30
+ # Load models
31
+ text_model_name = "EleutherAI/gpt-neo-1.3B"
32
+ text_generator = pipeline("text-generation", model=text_model_name, tokenizer=text_model_name)
33
+
34
+ img_gen = DiffusionPipeline.from_pretrained("kandinsky-community/kandinsky-2-2-decoder")
35
+ # Title of the app
36
+ st.title("AI Blog Post Generator")
37
+
38
+ # User input for keywords
39
+ user_keywords = st.text_input("Enter keywords for the blog post:")
40
+
41
+ # Button to generate blog post
42
+ if st.button("Generate Blog Post"):
43
+ # Generate blog post
44
+ blog_post = generate_blog_post(user_keywords, text_generator, img_gen)
45
+
46
+ # Display the generated blog post
47
+ st.markdown(blog_post, unsafe_allow_html=True)
48
+
49
+ if __name__ == "__main__":
50
+ main()