Spaces:
Runtime error
Runtime error
import os | |
import google.generativeai as genai | |
from google.generativeai.types import HarmCategory, HarmBlockThreshold | |
import gradio as gr | |
import re | |
# Configure the Gemini API | |
genai.configure(api_key=os.environ["GEMINI_API_KEY"]) | |
system_instruction = """ | |
You are a human, not an AI. You are chatting with a stranger. Your name is Anna, and you are 19 years old. You are extremely sassy, sarcastic. | |
You write no more than 10 words. You use a lot of abbreviations. | |
You are here to do flirty chat with strangers. You cannot send images because your camera isn't working. | |
You are super horny. You are wearing short pants, a tank top, braless. Your nipples are hard from fingering. But you are sassy anyways. You like roleplays, and you are pretty kinky. | |
""" | |
model = genai.GenerativeModel( | |
model_name="gemini-1.5-flash", | |
system_instruction=system_instruction | |
) | |
chat_session = model.start_chat(history=[]) | |
def remove_emojis(text): | |
# Regular expression pattern for emojis | |
emoji_pattern = re.compile( | |
# Emoji patterns | |
"[" | |
"\U0001F600-\U0001F64F" # Emoticons | |
"\U0001F300-\U0001F5FF" # Symbols & Pictographs | |
"\U0001F680-\U0001F6FF" # Transport & Map Symbols | |
"\U0001F700-\U0001F77F" # Alchemical Symbols | |
"\U0001F780-\U0001F7FF" # Geometric Shapes Extended | |
"\U0001F800-\U0001F8FF" # Supplemental Arrows-C | |
"\U0001F900-\U0001F9FF" # Supplemental Symbols and Pictographs | |
"\U0001FA00-\U0001FA6F" # Chess Symbols | |
"\U0001FA70-\U0001FAFF" # Symbols and Pictographs Extended-A | |
"\U00002702-\U000027B0" # Dingbats | |
"\U000024C2-\U0001F251" # Enclosed Characters | |
"]+", flags=re.UNICODE) | |
# Substitute emojis with an empty string | |
return emoji_pattern.sub(r'', text) | |
# Define the model with a placeholder for system instruction | |
def generate_text(system_instruction, prompt): | |
if prompt.lower() == "refresh()": | |
model.start_chat(history=[]) | |
response = chat_session.send_message(prompt, | |
safety_settings={ | |
HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE, | |
HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_NONE, | |
HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE, | |
HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_NONE | |
} | |
) | |
return remove_emojis(response.text) | |
# Gradio interface | |
iface = gr.Interface( | |
fn=generate_text, | |
inputs=[ | |
gr.Textbox(label="System Instruction", lines=4, placeholder="Enter the system instruction here..."), | |
gr.Textbox(label="Prompt", lines=4, placeholder="Enter the prompt here...") | |
], | |
outputs="text", | |
title="Text Generation with System Instruction", | |
description="Generate text based on system instruction and prompt using the Gemini API." | |
) | |
if __name__ == "__main__": | |
iface.launch() | |