Spaces:
Runtime error
Runtime error
| from fastapi import FastAPI,HTTPException,status,UploadFile,File | |
| from pydantic import BaseModel | |
| import uvicorn | |
| import logging | |
| import torch | |
| import ollama | |
| import os | |
| import numpy as np | |
| os.environ['TRANSFORMERS_CACHE'] = '/app/.cache' | |
| os.environ['HF_HOME'] = '/app/.cache' | |
| Informations = """ | |
| -text : Texte à resumé | |
| output: | |
| - Text summary : texte resumé | |
| """ | |
| app =FastAPI( | |
| title='Text Summary', | |
| description =Informations | |
| ) | |
| #class to define the input text | |
| logging.basicConfig(level=logging.INFO) | |
| logger =logging.getLogger(__name__) | |
| prompt_first ="Résumé en 4 ou 5 phrases de la plainte suivante :" | |
| class TextSummary(BaseModel): | |
| prompt:str | |
| async def home(): | |
| return 'STN BIG DATA' | |
| # Fonction pour générer du texte à partir d'une requête | |
| # Modèle pour la requête | |
| class RequestModel(BaseModel): | |
| text: str | |
| async def generate_text(request: RequestModel): | |
| # Assurer la configuration pour une utilisation optimale de la mémoire | |
| try: | |
| response = ollama.chat( | |
| model="llama3:latest", | |
| messages=[{"role": "user", "content": prompt_first + request.text}], | |
| ) | |
| generated_text = "" | |
| for chunk in response: | |
| if chunk.choices[0].delta.content is not None: | |
| generated_text += chunk.choices[0].delta.content | |
| # Traitement du texte pour supprimer les phrases génériques | |
| intro_phrases = [ | |
| "Voici un résumé de la plainte en 5 phrases :", | |
| "Résumé :", | |
| "Voici ce qui s'est passé :", | |
| "Cette plainte a été déposée par" | |
| ] | |
| for phrase in intro_phrases: | |
| if generated_text.startswith(phrase): | |
| generated_text = generated_text[len(phrase):].strip() | |
| break | |
| return {"generated_text": generated_text} | |
| except ollama._types.ResponseError as e: | |
| return {"error": str(e)} | |
| if __name__ == "__main__": | |
| uvicorn.run("app:app",reload=True) | |