| # from transformers import pipeline | |
| # import gradio as gr | |
| # import spaces | |
| # Initialize the text generation pipeline with optimizations | |
| # pipe = pipeline("text-generation", model="SakanaAI/EvoLLM-JP-v1-7B") | |
| # Define a function to generate text based on user input | |
| # @spaces.GPU | |
| # def generate_text(prompt): | |
| # result = pipe(prompt, max_length=50, num_return_sequences=1) | |
| # return result[0]['generated_text'] | |
| # Create a Gradio interface with batching enabled | |
| # iface = gr.Interface( | |
| # fn=generate_text, | |
| # inputs=gr.Textbox(lines=2, placeholder="Enter your prompt here..."), | |
| # outputs=gr.Textbox(label="生成されたテキスト"), | |
| # title="Text Generation with SakanaAI/EvoLLM-JP-v1-7B", | |
| # description="Enter a prompt and the model will generate a continuation of the text.", | |
| # batch=True, | |
| # max_batch_size=4 | |
| # ) | |
| # Launch the interface | |
| # if __name__ == "__main__": | |
| # iface.launch() | |
| import os | |
| from threading import Thread | |
| from typing import Iterator | |
| import gradio as gr | |
| import spaces | |
| import torch | |
| from transformers import ( | |
| AutoModelForCausalLM, | |
| BitsAndBytesConfig, | |
| GemmaTokenizerFast, | |
| TextIteratorStreamer, | |
| pipeline, AutoTokenizer | |
| ) | |
| # 日本語モデルを指定 | |
| model_name = "SakanaAI/EvoLLM-JP-v1-7B" # This line is now correctly indented | |
| # Add more code here, all indented at the same level | |
| # model_name = "SakanaAI/EvoLLM-JP-v1-7B" | |
| from spaces import GPU | |
| def generate(): | |
| # Your code here | |
| # トークナイザーとパイプラインの設定 | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| generator = pipeline('text-generation', model=model_name, tokenizer=tokenizer, device=-1) # device=0はGPUを使用する設定 | |
| def generate_text(prompt, max_length): | |
| result = generator(prompt, max_length=max_length, num_return_sequences=1) | |
| return result[0]['generated_text'] | |
| iface = gr.Interface( | |
| fn=generate_text, | |
| inputs=[ | |
| gr.Textbox(label="プロンプト", placeholder="ここに日本語のプロンプトを入力してください"), | |
| gr.Slider(minimum=10, maximum=200, value=50, step=1, label="最大長") | |
| ], | |
| outputs=gr.Textbox(label="生成されたテキスト") | |
| ) | |
| iface.launch() | |