|
from typing import Union |
|
|
|
from fastapi import FastAPI |
|
import asyncio |
|
|
|
from fastapi import FastAPI, File, UploadFile |
|
from fastapi.responses import HTMLResponse |
|
import shutil |
|
import os |
|
from groq import Groq, AsyncGroq |
|
|
|
import google.generativeai as genai |
|
import os |
|
|
|
genai.configure(api_key="AIzaSyBGhEOy-JYMzGtTcRjBjP51OGR168WKRFw") |
|
|
|
|
|
client = AsyncGroq( |
|
api_key="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", |
|
) |
|
|
|
SYSTEM_PROMPT = """ |
|
You are helpful assistant, your task is to help me operating my system! |
|
""" |
|
|
|
app = FastAPI() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.get("/test") |
|
def test(): |
|
return "Hello" |
|
|
|
@app.post("/") |
|
async def upload_image(file: UploadFile = File(...)): |
|
os.makedirs("uploads", exist_ok=True) |
|
|
|
file_location = f"uploads/{file.filename}" |
|
with open(file_location, "wb") as buffer: |
|
shutil.copyfileobj(file.file, buffer) |
|
|
|
myfile = genai.upload_file(file_location) |
|
|
|
model = genai.GenerativeModel("gemini-1.5-flash") |
|
result = model.generate_content( |
|
[myfile, "\n\n", |
|
"Проверь работу на фото, дай координаты всех слов в формате OpenCV, где допущина ошибка, также дай координаты мест где нужна была запятая(квадратом)."] |
|
) |
|
|
|
return result.text |