File size: 1,395 Bytes
e8a2d7c
 
 
c644909
78f153b
 
 
 
 
 
 
 
e8a2d7c
6c5550d
e8a2d7c
 
 
f48cdcc
78f153b
 
e8a2d7c
6c5550d
e8a2d7c
c644909
 
 
 
e8a2d7c
 
 
 
 
 
6c5550d
e8a2d7c
6c5550d
bf8b184
e8a2d7c
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import gradio as gr
from huggingface_hub import InferenceClient
import os
import re
from transformers import Qwen2_5OmniForConditionalGeneration

qwenModel = Qwen2_5OmniForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-Omni-7B",
    device_map="auto",
    torch_dtype=torch.bfloat16,
    attn_implementation="flash_attention_2",
)

# Load API key from environment variables
HF_API_TOKEN = os.getenv("HUG_TOKEN_READ")

# Hugging Face Inference API Client
#client = InferenceClient(model="mistralai/Mistral-7B-Instruct-v0.1", token=HF_API_TOKEN)
#client = InferenceClient(model="openGPT-X/Teuken-7B-instruct-commercial-v0.4", token=HF_API_TOKEN)
client = InferenceClient(model=qwenModel, token=HF_API_TOKEN)

# Function to translate text into emojis
def text_to_emoji(text):
    # remove special characters
    text_cleaned = re.sub(r"[.,!?;:]", "", text)
    
    prompt = f"Convert this sentence into an emoji-sequence of the same meaning and return only the emojis, no explanation:\n\n\"{text_cleaned}\""
    response = client.text_generation(prompt, max_new_tokens=50)
    return response

# Gradio UI
iface = gr.Interface(
    fn=text_to_emoji,
    inputs=gr.Textbox(lines=2, placeholder="Enter a sentence..."),
    outputs="text",
    title="AI-Powered Emoji Translator",
    description="Enter a sentence, and the AI will transform it into an emoji-version 🥳"
)

iface.launch()