|
import re |
|
import gradio as gr |
|
from huggingface_hub import InferenceClient |
|
|
|
client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1") |
|
|
|
system_instructions = """<s> [INST] You will be provided with text, and your task is to classify task tasks are (text generation, image generation, pdf chat, image text to text, image classification, summarization, translation , tts) """ |
|
|
|
|
|
def classify_task(prompt): |
|
generate_kwargs = dict( |
|
temperature=0.5, |
|
max_new_tokens=1024, |
|
top_p=0.95, |
|
repetition_penalty=1.0, |
|
do_sample=True, |
|
seed=42, |
|
) |
|
|
|
formatted_prompt = system_instructions + prompt + "[/INST]" |
|
stream = client.text_generation( |
|
formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False) |
|
output = "" |
|
|
|
for response in stream: |
|
output += response.token.text |
|
|
|
|
|
def classify_task2(prompt): |
|
|
|
|
|
if 'generate text' in prompt.lower(): |
|
return 'Text Generation' |
|
elif 'generate image' in prompt.lower(): |
|
return 'Image Generation' |
|
elif 'pdf chat' in prompt.lower(): |
|
return 'PDF Chat' |
|
elif 'image to text' in prompt.lower(): |
|
return 'Image Text to Text' |
|
elif 'classify image' in prompt.lower(): |
|
return 'Image Classification' |
|
else: |
|
return 'Unknown Task' |
|
|
|
|
|
iface = gr.Interface( |
|
fn=classify_task, |
|
inputs=gr.Textbox(lines=2, placeholder="Enter your prompt here..."), |
|
outputs='text', |
|
title='AI Task Classifier Chatbot', |
|
description='This chatbot classifies your prompt into different AI tasks.' |
|
) |
|
|
|
|
|
if __name__ == "__main__": |
|
iface.launch() |
|
|