nicolaydef commited on
Commit
610b8d4
·
verified ·
1 Parent(s): 33f81fd

Upload 3 files

Browse files
Files changed (3) hide show
  1. Dockerfile +6 -0
  2. main.py +36 -0
  3. requirements.txt +4 -0
Dockerfile ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ FROM python:3.9
2
+ WORKDIR /code
3
+ COPY ./requirements.txt /code/requirements.txt
4
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
5
+ COPY . .
6
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
main.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import google.generativeai as genai
3
+ from fastapi import FastAPI, HTTPException
4
+ from pydantic import BaseModel
5
+
6
+ app = FastAPI()
7
+
8
+ # Получаем ключ из секретов HF
9
+ genai.configure(api_key=os.environ.get("GEMINI_API_KEY"))
10
+
11
+ model = genai.GenerativeModel("gemini-1.5-flash")
12
+
13
+ class RequestData(BaseModel):
14
+ context: str
15
+ mood: str # 'fun', 'serious', 'neutral', 'angry'
16
+
17
+ @app.post("/complete")
18
+ async def complete_text(data: RequestData):
19
+ try:
20
+ # Настройка личности
21
+ tone_instruction = ""
22
+ if data.mood == "fun":
23
+ tone_instruction = "Отвечай весело, используй сленг, эмодзи, будь на позитиве."
24
+ elif data.mood == "serious":
25
+ tone_instruction = "Отвечай максимально официально, сухо, деловой стиль, без воды."
26
+ elif data.mood == "angry":
27
+ tone_instruction = "Отвечай пассивно-агрессивно, кратко, с сарказмом. Ты устал от людей."
28
+ else: # neutral
29
+ tone_instruction = "Отвечай спокойно, нейтрально, как обычный помощник."
30
+
31
+ prompt = f"System: {tone_instruction}. Продолжи фразу пользователя. Не повторяй ввод. Только продолжение.\n\nUser Input: {data.context}\nOutput:"
32
+
33
+ response = model.generate_content(prompt)
34
+ return {"completion": response.text.strip()}
35
+ except Exception as e:
36
+ raise HTTPException(status_code=500, detail=str(e))
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ fastapi
2
+ uvicorn
3
+ google-generativeai
4
+ pydantic