Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,16 +2,21 @@ import streamlit as st
|
|
| 2 |
from g4f.client import Client
|
| 3 |
import sqlite3
|
| 4 |
import google.generativeai as genai
|
| 5 |
-
from diffusers import DiffusionPipeline
|
| 6 |
-
import matplotlib.pyplot as plt
|
| 7 |
-
import torch
|
| 8 |
# import pyttsx3
|
| 9 |
# import pyperclip
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
def local_css(file_name):
|
| 12 |
with open(file_name) as f:
|
| 13 |
st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True)
|
| 14 |
|
|
|
|
| 15 |
local_css("style.css")
|
| 16 |
|
| 17 |
# Create a connection to the database
|
|
@@ -25,24 +30,16 @@ try:
|
|
| 25 |
conn.commit()
|
| 26 |
except Exception as e:
|
| 27 |
st.error(f"An error occurred: {e}")
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
def generate_image(pipe, prompt, params):
|
| 31 |
-
img = pipe(prompt, **params).images
|
| 32 |
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
|
|
|
|
|
|
| 39 |
|
| 40 |
-
else:
|
| 41 |
-
fig = plt.figure()
|
| 42 |
-
plt.imshow(img[0]);
|
| 43 |
-
plt.axis('off');
|
| 44 |
-
plt.tight_layout()
|
| 45 |
-
|
| 46 |
|
| 47 |
# Streamlit app
|
| 48 |
def main():
|
|
@@ -57,7 +54,7 @@ def main():
|
|
| 57 |
"๐ Airoboros 70B": "airoboros-70b",
|
| 58 |
"๐ฎ Gemini Pro": "gemini-pro",
|
| 59 |
"๐ท StabilityAI": "stabilityai/stable-diffusion-xl-base-1.0"
|
| 60 |
-
|
| 61 |
}
|
| 62 |
|
| 63 |
columns = st.columns(3) # Split the layout into three columns
|
|
@@ -101,7 +98,7 @@ def main():
|
|
| 101 |
if user_input:
|
| 102 |
if selected_model == "gemini-pro":
|
| 103 |
try:
|
| 104 |
-
GOOGLE_API_KEY = "
|
| 105 |
genai.configure(api_key=GOOGLE_API_KEY)
|
| 106 |
model = genai.GenerativeModel('gemini-pro')
|
| 107 |
prompt = user_input
|
|
@@ -127,14 +124,15 @@ def main():
|
|
| 127 |
|
| 128 |
except Exception as e:
|
| 129 |
st.error(f"An error occurred: {e}")
|
| 130 |
-
|
| 131 |
elif selected_model == "stabilityai/stable-diffusion-xl-base-1.0":
|
| 132 |
-
|
| 133 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 134 |
|
| 135 |
-
params = {'num_inference_steps': 100, 'num_images_per_prompt': 2}
|
| 136 |
-
generate_image(pipe, user_input, params)
|
| 137 |
-
|
| 138 |
else:
|
| 139 |
try:
|
| 140 |
client = Client()
|
|
@@ -170,6 +168,7 @@ def main():
|
|
| 170 |
except Exception as e:
|
| 171 |
st.error(f"An error occurred: {e}")
|
| 172 |
|
|
|
|
| 173 |
def display_conversation(conversation_id):
|
| 174 |
c.execute("SELECT * FROM chat_history WHERE conversation_id=?", (conversation_id,))
|
| 175 |
chats = c.fetchall()
|
|
@@ -178,5 +177,6 @@ def display_conversation(conversation_id):
|
|
| 178 |
st.markdown(f"{chat[1]}")
|
| 179 |
st.markdown(f"{chat[2]}")
|
| 180 |
|
|
|
|
| 181 |
if __name__ == "__main__":
|
| 182 |
main()
|
|
|
|
| 2 |
from g4f.client import Client
|
| 3 |
import sqlite3
|
| 4 |
import google.generativeai as genai
|
|
|
|
|
|
|
|
|
|
| 5 |
# import pyttsx3
|
| 6 |
# import pyperclip
|
| 7 |
+
import requests
|
| 8 |
+
import cv2
|
| 9 |
+
import numpy as np
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
API_URL = "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0"
|
| 13 |
+
headers = {"Authorization": "Bearer Your_hugging_face_Api_key"}
|
| 14 |
|
| 15 |
def local_css(file_name):
|
| 16 |
with open(file_name) as f:
|
| 17 |
st.markdown(f"<style>{f.read()}</style>", unsafe_allow_html=True)
|
| 18 |
|
| 19 |
+
|
| 20 |
local_css("style.css")
|
| 21 |
|
| 22 |
# Create a connection to the database
|
|
|
|
| 30 |
conn.commit()
|
| 31 |
except Exception as e:
|
| 32 |
st.error(f"An error occurred: {e}")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
+
def generate_image_from_model(prompt):
|
| 35 |
+
response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
|
| 36 |
+
image_bytes = response.content
|
| 37 |
+
# Convert image bytes to a NumPy array
|
| 38 |
+
nparr = np.frombuffer(image_bytes, np.uint8)
|
| 39 |
+
# Decode the image array
|
| 40 |
+
image = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
|
| 41 |
+
return image
|
| 42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
|
| 44 |
# Streamlit app
|
| 45 |
def main():
|
|
|
|
| 54 |
"๐ Airoboros 70B": "airoboros-70b",
|
| 55 |
"๐ฎ Gemini Pro": "gemini-pro",
|
| 56 |
"๐ท StabilityAI": "stabilityai/stable-diffusion-xl-base-1.0"
|
| 57 |
+
|
| 58 |
}
|
| 59 |
|
| 60 |
columns = st.columns(3) # Split the layout into three columns
|
|
|
|
| 98 |
if user_input:
|
| 99 |
if selected_model == "gemini-pro":
|
| 100 |
try:
|
| 101 |
+
GOOGLE_API_KEY = "your_Gemini_Api_key"
|
| 102 |
genai.configure(api_key=GOOGLE_API_KEY)
|
| 103 |
model = genai.GenerativeModel('gemini-pro')
|
| 104 |
prompt = user_input
|
|
|
|
| 124 |
|
| 125 |
except Exception as e:
|
| 126 |
st.error(f"An error occurred: {e}")
|
| 127 |
+
|
| 128 |
elif selected_model == "stabilityai/stable-diffusion-xl-base-1.0":
|
| 129 |
+
prompt = user_input
|
| 130 |
+
generated_image = generate_image_from_model(prompt)
|
| 131 |
+
# Display the image using OpenCV
|
| 132 |
+
cv2.imshow("Generated Image", generated_image)
|
| 133 |
+
cv2.waitKey(0)
|
| 134 |
+
cv2.destroyAllWindows()
|
| 135 |
|
|
|
|
|
|
|
|
|
|
| 136 |
else:
|
| 137 |
try:
|
| 138 |
client = Client()
|
|
|
|
| 168 |
except Exception as e:
|
| 169 |
st.error(f"An error occurred: {e}")
|
| 170 |
|
| 171 |
+
|
| 172 |
def display_conversation(conversation_id):
|
| 173 |
c.execute("SELECT * FROM chat_history WHERE conversation_id=?", (conversation_id,))
|
| 174 |
chats = c.fetchall()
|
|
|
|
| 177 |
st.markdown(f"{chat[1]}")
|
| 178 |
st.markdown(f"{chat[2]}")
|
| 179 |
|
| 180 |
+
|
| 181 |
if __name__ == "__main__":
|
| 182 |
main()
|