mirror of
https://github.com/SirBlobby/Hoya26.git
synced 2026-02-04 03:34:34 -05:00
gemeni endpoints
This commit is contained in:
62
backend/src/routes/gemini.py
Normal file
62
backend/src/routes/gemini.py
Normal file
@@ -0,0 +1,62 @@
|
||||
from flask import Blueprint, request, jsonify
|
||||
from src.rag.gemeni import GeminiClient
|
||||
from src.gemini import ask_gemini_with_rag
|
||||
|
||||
gemini_bp = Blueprint('gemini', __name__)
|
||||
brain = None
|
||||
|
||||
def get_brain():
|
||||
global brain
|
||||
if brain is None:
|
||||
brain = GeminiClient()
|
||||
return brain
|
||||
|
||||
@gemini_bp.route('/ask', methods=['POST'])
|
||||
def ask():
|
||||
data = request.json
|
||||
prompt = data.get("prompt")
|
||||
context = data.get("context", "")
|
||||
|
||||
if not prompt:
|
||||
return jsonify({"error": "No prompt provided"}), 400
|
||||
|
||||
try:
|
||||
client = get_brain()
|
||||
response = client.ask(prompt, context)
|
||||
return jsonify({
|
||||
"status": "success",
|
||||
"reply": response
|
||||
})
|
||||
except Exception as e:
|
||||
return jsonify({
|
||||
"status": "error",
|
||||
"message": str(e)
|
||||
}), 500
|
||||
|
||||
@gemini_bp.route('/rag', methods=['POST'])
|
||||
def rag():
|
||||
data = request.json
|
||||
prompt = data.get("prompt")
|
||||
category = data.get("category")
|
||||
|
||||
if not prompt:
|
||||
return jsonify({"error": "No prompt provided"}), 400
|
||||
|
||||
try:
|
||||
response = ask_gemini_with_rag(prompt, category=category)
|
||||
return jsonify({
|
||||
"status": "success",
|
||||
"reply": response
|
||||
})
|
||||
except Exception as e:
|
||||
return jsonify({
|
||||
"status": "error",
|
||||
"message": str(e)
|
||||
}), 500
|
||||
|
||||
@gemini_bp.route('/vision', methods=['POST'])
|
||||
def vision():
|
||||
return jsonify({
|
||||
"status": "error",
|
||||
"message": "Vision endpoint not yet implemented"
|
||||
}), 501
|
||||
Reference in New Issue
Block a user