gemma / app.py
luck210's picture
Create app.py
aef06f1 verified
raw
history blame
1.57 kB
from fastapi import FastAPI, UploadFile, File
import requests
import os
app = FastAPI()
# URL de l’API Ollama (par défaut, elle tourne localement sur le port 11434)
OLLAMA_API_URL = "http://localhost:11434/api/generate"
# Fonction pour appeler Ollama avec un prompt
def query_ollama(prompt: str, model: str = "mistral"):
payload = {
"model": model,
"prompt": prompt,
"stream": False
}
response = requests.post(OLLAMA_API_URL, json=payload)
if response.status_code == 200:
return response.json()["response"]
else:
return f"Erreur : {response.status_code} - {response.text}"
@app.get("/")
async def root():
return {"message": "Bienvenue sur mon API avec Ollama"}
# Endpoint pour résumer un texte uploadé
@app.post("/summarization/text")
async def summarize_text(file: UploadFile = File(...)):
# Lire le contenu du fichier uploadé
content = await file.read()
text = content.decode("utf-8")
# Créer un prompt pour Ollama
prompt = f"Résume ce texte en 3 phrases courtes : {text}"
# Appeler Ollama avec le modèle (Mistral ou DeepSeek si disponible)
summary = query_ollama(prompt, model="mistral") # Remplace "mistral" par "deepseek-v2" si tu l’as
return {"summary": summary}
# Exemple d’endpoint pour tester avec du texte brut
@app.post("/summarization/test")
async def summarize_test(text: str):
prompt = f"Résume ce texte en 3 phrases courtes : {text}"
summary = query_ollama(prompt, model="mistral")
return {"summary": summary}