Transformers
English
Life / README.md
Random7878's picture
Update README.md
796f05b verified
---
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)