Spaces:
Sleeping
Sleeping
File size: 1,803 Bytes
8161c55 8a4d350 8161c55 8a4d350 8161c55 8a4d350 8161c55 8a4d350 8161c55 8a4d350 8161c55 8a4d350 8161c55 8a4d350 8161c55 8a4d350 8161c55 8a4d350 8161c55 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
import os
import google.generativeai as genai
from flask import Flask, render_template
from user_data import get_user_history
from book_recommendations import (
recommend_fiction,
recommend_non_fiction,
recommend_science,
recommend_fantasy
)
app = Flask(__name__)
# Configurar a chave de API
GOOGLE_API_KEY = os.environ.get('GOOGLE_API_KEY')
genai.configure(api_key=GOOGLE_API_KEY)
# Definir o modelo generativo com as funções disponíveis
magical_if = genai.GenerativeModel(
"gemini-1.5-flash",
tools=[
recommend_fiction,
recommend_non_fiction,
recommend_science,
recommend_fantasy
]
)
def ia_decision(user_id, history):
business_rules = """
Analise o histórico de compras do usuário e decida qual categoria de
livros recomendar.
Regras:
1. Se o usuário comprou mais livros de ficção, recomende ficção.
2. Se o usuário comprou mais livros de não ficção, recomende não ficção.
3. Se o usuário demonstrou interesse em ciência, recomende ciência.
4. Caso contrário, ofereça uma recomendação geral de ficção.
"""
user_decision = magical_if.start_chat(
enable_automatic_function_calling=True
)
response = user_decision.send_message(
f"Histórico do usuário {user_id}: {history}; "
f"Regras de negócio: {business_rules}"
)
return response.text
@app.route('/recommend/<int:user_id>')
def recommend(user_id):
history = get_user_history(user_id)
if not history:
return "Usuário não encontrado", 404
ia_response = ia_decision(user_id, history)
return render_template(
'recommendation.html',
user_id=user_id,
message=ia_response
)
if __name__ == '__main__':
app.run(debug=True)
|