本地API注册模式

本地构架 restful API, 满足OpenAPI 的Schema 文件
具体协议可以参考:https://swagger.io/specification/

  1. 本地Python服务代码
import json
import socket

import uvicorn
from fastapi import FastAPI

host = socket.gethostbyname(socket.gethostname())

# 指定 servers 参数
servers = [
    {
        "url": f"http://{host}:8000",
        "description": "本地开发服务器"
    }
]

app = FastAPI(servers=servers)


@app.get("/weather/{city}", summary="获取城市当前天气", description="根据城市名称获取当前天气信息",
         operation_id="custom_get_weather")
def get_weather(city: str):
    """
    获取指定城市的当前天气信息。

    - **city**: 城市名称
    """
    return json.dumps({"status": "success", "data": {'weather': 'rainy', 'temperature': '20.5'}})


@app.get("/air-quality/{city}", summary="获取城市当前空气质量", description="根据城市名称获取当前空气质量信息",
         operation_id="custom_get_air_quality")
def get_air_quality(city: str):
    """
    获取指定城市的当前空气质量信息。

    - **city**: 城市名称
    """
    return json.dumps({"status": "success", "data": {'pm_2_5': '120', 'pm_10': '180'}})


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

  1. 启动
E:\PythonProject\myPythonDemo\.venv\Scripts\python.exe 
E:\PythonProject\myPythonDemo\src\agent_integration\fastAPIDemo.py 
INFO:     Started server process [22344]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
  1. 检查
  • swagger 文档:http://localhost:8000/docs#/
  • openapi 文件:http://localhost:8000/openapi.json
  1. 平台配置
  • 注意:第3步使用"http://localhost:8000/openapi.json",但是要将localhost要改成具体的IP
  1. 第4步测试完成,保存
    在这里插入图片描述
  2. 实践
    在这里插入图片描述

大功告成!!!

注意:

对于其他服务里的API接口,可以通过LLM将开发文档转成openapi.json文档,再使用上述方式

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐