Сервер Flask сообщает об ошибке 404. Даже если маршруты ЧЕТКО определеныPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Сервер Flask сообщает об ошибке 404. Даже если маршруты ЧЕТКО определены

Сообщение Anonymous »

Маршрут API Flask возвращает ошибку 404
Определение маршрута API:
Я определил маршрут API /api/recommendations/ в своем приложении Flask для получения медитации рекомендации для конкретного пользователя.
Функция обработчика маршрута get_user_data(user_id) запрашивает Firestore для получения пользовательской статистики и данных форм, вычисляет пользовательские внедрения с помощью spaCy и вычисляет сходство с внедрениями медитации.
Когда данные готовы, функция возвращает ответ JSON с идентификатором пользователя и рекомендуемыми именами медитаций.
Я разрабатываю приложение Flask с маршрутом API для получения рекомендаций на основе пользовательские данные, хранящиеся в Firestore. Однако когда я пытаюсь получить доступ к маршруту API, я получаю ошибку 404, указывающую, что маршрут не найден. Вот мой код приложения Flask:

Код: Выделить всё

from flask import Flask, jsonify
from flask_cors import CORS
import firebase_admin
from firebase_admin import credentials, firestore
import numpy as np
import spacy

app = Flask(__name__)
CORS(app)

@app.route('/')
def hello_world():
return 'Hello, World!'

cred = credentials.Certificate(r"firebase/connection")
firebase_admin.initialize_app(cred)
db = firestore.client()
nlp = spacy.load("en_core_web_md")

@app.route('/api/recommendations/', methods=['GET'])
def get_user_data(user_id):
try:
stats_ref = db.collection('stats').document(user_id)
stats_data = stats_ref.get().to_dict()
minutes = stats_data.get('Minutes', 0)
sessions = stats_data.get('Sessions', 0)
forms_ref = db.collection('form').document(user_id)
forms_data = forms_ref.get().to_dict()
answers = forms_data.get('answers', [])

user_query = f"Minutes: {minutes} Sessions: {sessions} {' '.join(answers)}"
user_embedding = nlp(user_query).vector

meditations_ref = db.collection('meditations')
meditations_data = [doc.to_dict() for doc in meditations_ref.stream()]

meditations_embeddings = []
for meditation in meditations_data:
meditation_text = f"{meditation['name']} {meditation['tag']} {meditation['duration']}"
meditation_embedding = nlp(meditation_text).vector
meditations_embeddings.append(meditation_embedding)

meditations_embeddings = np.array(meditations_embeddings)

similarities = np.dot(meditations_embeddings, user_embedding) / (
np.linalg.norm(meditations_embeddings, axis=1) * np.linalg.norm(user_embedding))

top_indices = np.argsort(similarities)[::-1][:3]
similar_meditations_names = [meditations_data[i]['name'] for i in top_indices]

return jsonify({
'user_id': user_id,
'similar_meditations_names': similar_meditations_names
})

except Exception as e:
app.logger.error(f"Error occurred: {str(e)}")
return jsonify({'error': 'Internal Server Error'}), 500

if __name__ == '__main__':
app.config['ENV'] = 'development'
app.config['DEBUG'] = True

app.run(host='localhost', port=8080)

Я пытался получить доступ к маршруту API (/api/recommendations/) с помощью Postman, из внешнего интерфейса и вручную, но постоянно получаю ошибку 404. Что может быть причиной этой проблемы и как ее решить?

Подробнее здесь: https://stackoverflow.com/questions/783 ... ly-defined
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сборка отсутствует, даже если я четко указал ссылку csc
    Гость » » в форуме C#
    0 Ответы
    35 Просмотры
    Последнее сообщение Гость
  • FastAPI - маршруты pymongo + sync, по-видимому, НАМНОГО быстрее, чем маршруты Motor + async
    Anonymous » » в форуме Python
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Покрытие кода PHPUnit сообщает о НЕКОТОРЫХ файлах, поскольку в них нет кода (и поэтому сообщает о 100% покрытии строки 0
    Anonymous » » в форуме Php
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Таблицы Flask-SQLAlchemy определены в схеме, но не создаются [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Таблицы Flask-SQLAlchemy определены в схеме, но не создаются [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»