Spaces:
Sleeping
Sleeping
| from flask import Flask, request, jsonify | |
| from flask_cors import CORS | |
| from News import News | |
| from Gemma_Model import GemmaLLM | |
| print("Starting server...") | |
| app = Flask(__name__) | |
| CORS(app) | |
| news = News() | |
| gemma = GemmaLLM() | |
| # business entertainment general health science sports technology | |
| def get_top_articles(num_articles=5, category=None): | |
| if category is not None: category = category.lower() | |
| articles = news.get_top_headlines(num_headlines=num_articles, category=category) | |
| articles = news.get_articles_from_headlines(articles) | |
| return jsonify(articles) | |
| def get_articles(num_articles=5, query=None): | |
| if query is not None: query = query.lower() | |
| articles = news.get_headlines(num_headlines=num_articles, query=query) | |
| articles = news.get_articles_from_headlines(articles) | |
| return jsonify(articles) | |
| def get_summary(num_paragraphs=1): | |
| article = request.json | |
| message = gemma.get_summary_message(article, num_paragraphs) | |
| summary = gemma.get_summary(message) | |
| article["summary"] = summary | |
| return jsonify(article) | |
| def get_questions(num_questions=3, difficulty="average"): | |
| if "summary" in request.json: | |
| summary = request.json["summary"] | |
| questions = gemma.get_questions(gemma.get_questions_message(summary, num_questions, difficulty)) | |
| elif "summaries" in request.json: | |
| summaries = request.json["summaries"] | |
| messages = [gemma.get_questions_message(summary) for summary in summaries] | |
| questions = gemma.get_questions(messages) | |
| else: return jsonify({}) | |
| return jsonify(questions) | |
| if __name__ == "__main__": app.run() | |