【项目实战】Python 之 如何在 PyCharm 中设置 FastAPI和Uvicorn 服务器,fastapi is supported by PyCharm Professional

一、FastAPI 在 PyCharm Professional 中的关键特性支持

  • 智能代码补全:PyCharm 的代码补全功能可以大大提高编写 FastAPI 路由和处理程序的速度。
  • 自动生成 API 文档:FastAPI 自带了交互式的 API 文档(Swagger UI 和 ReDoc),PyCharm 可以帮助你轻松预览这些文档。
  • 调试工具:利用 PyCharm 的内置调试器,你可以更方便地调试 FastAPI 应用,包括设置断点、检查变量等。
  • 集成终端与虚拟环境管理:在 IDE 内部运行命令并管理项目的虚拟环境,简化开发流程。
  • 测试支持:支持编写和执行单元测试,保证 API 功能正常。
  • 二、如何在 PyCharm 中设置 FastAPI

    1. 创建新项目:在 PyCharm 中创建一个新项目,并选择合适的 Python 解释器。

    2. 安装 FastAPI 和 Uvicorn:在终端中运行以下命令:

    pip install fastapi uvicorn
    
    1. 创建应用:按照之前提供的示例代码创建 FastAPI 应用。
    from fastapi import FastAPI
    from langchain_core.messages import HumanMessage, SystemMessage
    from langchain_core.output_parsers import StrOutputParser
    from langchain_openai import ChatOpenAI
    from pydantic import BaseModel
    
    # 初始化你的 LangChain 模型
    model = ChatOpenAI(model="gpt-4")
    parser = StrOutputParser()
    
    # 把我们的程序部置成服务
    # 创建fastAPI的应用
    app = FastAPI(title='我的Langchain服务', version='V1.0', description='使用Langchain翻译任何语句的服务')
    
    
    # 定义输入数据的模型
    class InputData(BaseModel):
        data: str  # 根据你的需求定义参数
        num: int  # 假设另一个参数是整数
    
    
    @app.post("/chain")
    async def chain_endpoint(input_data: InputData):
        # 创建消息列表
        # 使用输入的数据
        messages = [SystemMessage(content="将以下内容从英语翻译成中文"), HumanMessage(content=input_data.data)]
        # 调用模型
        result = model.invoke(messages)
        # 使用 parser 处理模型返回的结果
        response = parser.invoke(result)
        return {"output": response}
    
    
    if __name__ == "__main__":
        import uvicorn
    
        uvicorn.run(app, host="0.0.0.0", port=8000)
    
    
    1. 运行应用:你可以使用 PyCharm 的运行配置来启动 Uvicorn 服务器,或者在终端中直接运行应用。

    作者:本本本添哥

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【项目实战】Python 之 如何在 PyCharm 中设置 FastAPI和Uvicorn 服务器,fastapi is supported by PyCharm Professional

    发表回复