--- license: apache-2.0 datasets: - vidore/syntheticDocQA_artificial_intelligence_test - aps/super_glue metrics: - accuracy language: - en base_model: - openai-community/gpt2 - deepseek-ai/DeepSeek-R1 new_version: deepseek-ai/Janus-Pro-7B library_name: transformers --- from flask import Flask, request, jsonify from transformers import pipeline import openai from newsapi import NewsApiClient from notion_client import Client from datetime import datetime, timedelta import torch from diffusers import StableDiffusionPipeline # Initialize Flask app app = Flask(__name__) # Load Hugging Face Question-Answering model qa_pipeline = pipeline("question-answering", model="distilbert-base-uncased-distilled-squad") # OpenAI API Key (Replace with your own) openai.api_key = "your_openai_api_key" # NewsAPI Key (Replace with your own) newsapi = NewsApiClient(api_key="your_news_api_key") # Notion API Key (Replace with your own) notion = Client(auth="your_notion_api_key") # Load Stable Diffusion for Image Generation device = "cuda" if torch.cuda.is_available() else "cpu" sd_model = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5").to(device) # === FUNCTION 1: Answer Student Questions === @app.route("/ask", methods=["POST"]) def answer_question(): data = request.json question = data.get("question", "") context = "This AI is trained to assist students with questions related to various subjects." if not question: return jsonify({"error": "Please provide a question."}), 400 answer = qa_pipeline(question=question, context=context) return jsonify({"question": question, "answer": answer["answer"]}) # === FUNCTION 2: Generate Code === @app.route("/generate_code", methods=["POST"]) def generate_code(): data = request.json prompt = data.get("prompt", "") if not prompt: return jsonify({"error": "Please provide a prompt for code generation."}), 400 response = openai.Completion.create( engine="code-davinci-002", prompt=prompt, max_tokens=100 ) return jsonify({"code": response.choices[0].text.strip()}) # === FUNCTION 3: Get Daily News === @app.route("/news", methods=["GET"]) def get_news(): headlines = newsapi.get_top_headlines(language="en", category="technology") news_list = [{"title": article["title"], "url": article["url"]} for article in headlines["articles"]] return jsonify({"news": news_list}) # === FUNCTION 4: Create a Planner Task === @app.route("/planner", methods=["POST"]) def create_planner(): data = request.json task = data.get("task", "") days = int(data.get("days", 1)) if not task: return jsonify({"error": "Please provide a task."}), 400 due_date = datetime.now() + timedelta(days=days) return jsonify({"task": task, "due_date": due_date.strftime("%Y-%m-%d")}) # === FUNCTION 5: Save Notes to Notion === @app.route("/notion", methods=["POST"]) def save_notion_note(): data = request.json title = data.get("title", "Untitled Note") content = data.get("content", "") if not content: return jsonify({"error": "Please provide content for the note."}), 400 notion.pages.create( parent={"database_id": "your_notion_database_id"}, properties={"title": {"title": [{"text": {"content": title}}]}}, children=[{"object": "block", "type": "paragraph", "paragraph": {"text": [{"type": "text", "text": {"content": content}}]}}] ) return jsonify({"message": "Note added successfully to Notion!"}) # === FUNCTION 6: Generate AI Images === @app.route("/generate_image", methods=["POST"]) def generate_image(): data = request.json prompt = data.get("prompt", "") if not prompt: return jsonify({"error": "Please provide an image prompt."}), 400 image = sd_model(prompt).images[0] image_path = "generated_image.png" image.save(image_path) return jsonify({"message": "Image generated successfully!", "image_path": image_path}) # === RUN THE APP === if __name__ == "__main__": app.run(debug=True)