Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import base64
|
3 |
+
import vertexai
|
4 |
+
from vertexai.generative_models import GenerativeModel, Part, FinishReason
|
5 |
+
import vertexai.preview.generative_models as generative_models
|
6 |
+
|
7 |
+
# Инициализация Vertex AI
|
8 |
+
vertexai.init(project="carbide-network-426214-b9", location="us-central1")
|
9 |
+
|
10 |
+
# Создание модели
|
11 |
+
model = GenerativeModel(
|
12 |
+
"gemini-1.5-pro-001",
|
13 |
+
)
|
14 |
+
|
15 |
+
# Конфигурации генерации и настройки безопасности
|
16 |
+
generation_config = {
|
17 |
+
"max_output_tokens": 8192,
|
18 |
+
"temperature": 1,
|
19 |
+
"top_p": 0.95,
|
20 |
+
}
|
21 |
+
|
22 |
+
safety_settings = {
|
23 |
+
generative_models.HarmCategory.HARM_CATEGORY_HATE_SPEECH: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
|
24 |
+
generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
|
25 |
+
generative_models.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
|
26 |
+
generative_models.HarmCategory.HARM_CATEGORY_HARASSMENT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
|
27 |
+
}
|
28 |
+
|
29 |
+
# Функция генерации текста
|
30 |
+
def generate(prompt):
|
31 |
+
responses = model.generate_content(
|
32 |
+
[prompt],
|
33 |
+
generation_config=generation_config,
|
34 |
+
safety_settings=safety_settings,
|
35 |
+
stream=True,
|
36 |
+
)
|
37 |
+
output_text = "".join(response.text for response in responses)
|
38 |
+
return output_text
|
39 |
+
|
40 |
+
# Создание интерфейса Gradio
|
41 |
+
with gr.Blocks() as demo:
|
42 |
+
gr.Markdown("### Интерфейс для Hugging Face с использованием Gradio и Vertex AI")
|
43 |
+
prompt = gr.Textbox(label="Введите ваш запрос", placeholder="Привет! Кто ты?")
|
44 |
+
output = gr.Textbox(label="Ответ модели")
|
45 |
+
generate_button = gr.Button("Сгенерировать")
|
46 |
+
|
47 |
+
generate_button.click(fn=generate, inputs=prompt, outputs=output)
|
48 |
+
|
49 |
+
# Запуск интерфейса
|
50 |
+
demo.launch()
|