Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

478
Visualizações
fastapi.exceptions.FastAPIError: Argumentos no válidos para el campo de respuesta. Sugerencia: verifique que <class 'main.SoluteSolvent'> sea un tipo de campo pydantic válido

obteniendo este error al ejecutar el código API rápido fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that <class 'main.SoluteSolvent'> is a valid pydantic field type

 class SoluteSolvent(): solvent: Text solute: Text response = {} @app.get('/predict') def predict(sol:SoluteSolvent): data = sol.dict() solute = data['solute'] solvent = data['solvent'] results = predictions(solute, solvent) print(results) response["predictions"] = results[0].item() response["interaction_map"] = (results[1].detach().numpy()).tolist() return {'result':response}

De hecho, estaba tratando de replicar el código que escribí para la predicción en el matraz en una API rápida.

 response = {} @app.route('/predict', methods=["POST", "GET"]) def predict(): if request.method=='POST': solute = request.form["solute"] solvent = request.form["solvent"] else: solute = request.args.get("solute") solvent = request.args.get("solvent") results = predictions(solute, solvent) response["predictions"] = results[0].item() response["interaction_map"] = (results[1].detach().numpy()).tolist() return flask.jsonify({'result': response})
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El error dice que su tipo que pasa para predict debe ser pydantic BaseModel (o clase de datos de la versión 0.67.0 de FastApi). Sin embargo, no funcionará de esa manera (al menos en la solicitud de obtención), si desea pasar parámetros de consulta (solución sugerida), enumérelos en la función:

 @app.get('/predict') def predict(solute: str, solvent: str): print(solute, solvent)

Y use el modelo para la solicitud posterior (que espera datos en el cuerpo):

 from pydantic import BaseModel class SoluteSolvent(BaseModel): solvent: str solute: str @app.post('/predict') def predict(sol:SoluteSolvent): print(sol.solute)

O puede usar directamente la solicitud starlette subyacente

 from fastapi import Request async def predict(r: Request): print(r.query_params["solute"])
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda