import requests from django.db.models import Sum from django.views.decorators.csrf import csrf_exempt from rest_framework import status from rest_framework.decorators import api_view, permission_classes from rest_framework.permissions import AllowAny from rest_framework.response import Response from openai import OpenAI from schema import get_filters_from_question, apply_date_filter API_KEY = "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" # ⚠️ جایگزین با کلیدت کن RSI_URL='https://rsibackend.rasadyar.com/app/get_ai_response/' client = OpenAI(api_key=API_KEY, timeout=60) @api_view(['POST']) @permission_classes([AllowAny]) @csrf_exempt def get_ai_response(request): question = request.data.get('question') if not question: return Response( {"error": "Question is required"}, status=status.HTTP_400_BAD_REQUEST ) filters_json = get_filters_from_question(question) models_info = filters_json.get("models", []) req_data={ "models_info":models_info } result_data = requests.post( url=RSI_URL, json=req_data, verify=False ) # تولید پاسخ نهایی با GPT prompt = f""" سوال کاربر: "{question}" داده‌های به‌دست‌آمده: {result_data} لطفاً یک پاسخ کاملاً روان، خودمونی و قابل فهم برای کاربر فارسی‌زبان تولید کن. """ try: response_final = client.chat.completions.create( model="gpt-4.1-mini", messages=[{"role": "user", "content": prompt}] ) answer = response_final.choices[0].message.content.strip() except Exception as e: print("Error generating GPT response:", e) answer = "متأسفانه در تولید پاسخ مشکلی پیش آمد." return Response( { "answer": answer, "data": result_data }, status=status.HTTP_200_OK )