You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LangServe API调用中移除默认响应结构,仅返回Pydantic解析结果

LangServe API 返回简洁JSON格式配置方案

要让LangServe API直接返回包含Prediction和Explanation的简洁JSON,可通过以下两种方式调整配置:

方式一:自定义输出转换函数

在注册链时,利用transform_output参数提取默认响应结构中的output字段,直接返回解析后的结果:

from langserve import add_routes
from fastapi import FastAPI
from your_module import PredictCustomOutput

app = FastAPI()
chain = PredictCustomOutput()

# 提取默认响应里的output内容
def extract_parsed_output(response):
    return response["output"]

add_routes(
    app,
    chain,
    path="/get_gpt4",
    transform_output=extract_parsed_output
)

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="localhost", port=8000)

方式二:指定响应模型并确保链输出为Pydantic实例

如果你的链已经通过JsonOutputParser解析到Classify模型实例,注册时直接指定response_model为该Pydantic类,FastAPI会自动序列化出简洁JSON:

from langserve import add_routes
from fastapi import FastAPI
from your_module import PredictCustomOutput, Classify  # 导入你的Pydantic模型

app = FastAPI()
chain = PredictCustomOutput()

add_routes(
    app,
    chain,
    path="/get_gpt4",
    response_model=Classify,
    transform_output=lambda res: res  # 链输出已是Classify实例,直接返回
)

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="localhost", port=8000)

验证效果

重启服务后,向http://localhost:8000/get_gpt4/invoke发送POST请求(请求体为{"input": "你的输入文本"}),将直接收到如下格式的响应:

{
  "Prediction": "分类结果",
  "Explanation": "结果说明"
}

内容的提问来源于stack exchange,提问作者Mac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 11:17:15