|
from fastapi import FastAPI, UploadFile, File |
|
import requests |
|
import os |
|
|
|
app = FastAPI() |
|
|
|
|
|
OLLAMA_API_URL = "http://localhost:11434/api/generate" |
|
|
|
|
|
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"} |
|
|
|
|
|
@app.post("/summarization/text") |
|
async def summarize_text(file: UploadFile = File(...)): |
|
|
|
content = await file.read() |
|
text = content.decode("utf-8") |
|
|
|
|
|
prompt = f"Résume ce texte en 3 phrases courtes : {text}" |
|
|
|
|
|
summary = query_ollama(prompt, model="mistral") |
|
|
|
return {"summary": summary} |
|
|
|
|
|
@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} |