Dify自定义工具开发与部署【1】
本文介绍了本地搭建RESTful API服务的完整流程。使用Python的FastAPI框架创建了两个天气查询接口(/weather/{city}和/air-quality/{city}),通过Swagger UI提供API文档。重点包括:服务启动配置、OpenAPI规范文件生成、本地测试验证,以及将localhost替换为实际IP进行平台集成的注意事项。整个流程从代码实现到最终测试通过,展示了如
·
本地API注册模式
本地构架 restful API, 满足OpenAPI 的Schema 文件
具体协议可以参考:https://swagger.io/specification/
- 本地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)
- 启动
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)
- 检查
- swagger 文档:http://localhost:8000/docs#/
- openapi 文件:http://localhost:8000/openapi.json
- 平台配置
- 注意:第3步使用"http://localhost:8000/openapi.json",但是要将localhost要改成具体的IP

- 第4步测试完成,保存

- 实践

大功告成!!!
注意:
对于其他服务里的API接口,可以通过LLM将开发文档转成openapi.json文档,再使用上述方式
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)