codegeex可一键将python脚本封装为web服务:自动生成fastapi接口、依赖配置、启动脚本、pydantic校验、dockerfile及basic auth鉴权,全程无需重写逻辑。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您已编写完成一个功能明确的Python脚本,希望将其快速对外提供服务并支持浏览器访问,则无需重写为完整Web项目。CodeGeeX可辅助完成从脚本逻辑提取、API接口封装、运行环境搭建到本地服务启动的全流程。以下是具体操作步骤:
一、使用CodeGeeX生成Flask/FastAPI轻量接口代码
CodeGeeX能基于自然语言描述或已有Python函数自动生成符合规范的Web框架路由代码,无需手动编写框架结构,直接复用原始逻辑。
1、打开已安装CodeGeeX插件的PyCharm或VS Code,新建空白.py文件。
2、在文件中粘贴您的原始Python脚本核心函数(例如:def process_data(input_str): ... return result)。
3、选中该函数,在右键菜单中选择“CodeGeeX → Generate API Endpoint”或输入提示词:“将此函数封装为FastAPI GET接口,接收query参数input_str,返回JSON响应”。
4、CodeGeeX将生成完整可运行的main.py,含import声明、app实例、@app.get装饰器及request处理逻辑。
5、检查生成代码中是否正确映射了原始函数参数与HTTP参数类型,特别注意字符串编码、JSON序列化兼容性及异常返回格式。
二、通过CodeGeeX自动补全依赖配置与启动脚本
避免手动编写requirements.txt和运行命令,CodeGeeX可根据生成的Web代码自动识别所需框架及版本,并输出标准化部署指令。
1、在当前项目根目录新建空文件requirements.txt。
2、选中requirements.txt文件,右键调用CodeGeeX:“Generate dependencies for this project based on imported modules in main.py”。
3、CodeGeeX将输出类似内容:fastapi==0.115.0 uvicorn==0.32.0 pydantic==2.9.2。
4、新建run.bat(Windows)或run.sh(Linux/macOS),调用CodeGeeX输入:“生成一个启动Uvicorn服务的脚本,绑定127.0.0.1:8000,启用reload模式”。
5、确认脚本中包含uvicorn main:app --host 127.0.0.1 --port 8000 --reload,禁止使用0.0.0.0在生产环境暴露端口。
三、利用CodeGeeX注释生成与参数校验增强
原始脚本通常缺乏输入校验与文档说明,CodeGeeX可批量注入Pydantic模型与OpenAPI注释,提升接口健壮性与可用性。
1、选中函数参数部分(如def process_data(input_str):),调用CodeGeeX:“为该函数生成Pydantic BaseModel输入模型,要求input_str为非空字符串,长度≤500”。
2、CodeGeeX将输出class ProcessRequest(BaseModel): input_str: str = Field(..., min_length=1, max_length=500)。
3、将生成的Model替换原函数签名,修改为async def process_data(request: ProcessRequest) -> dict。
4、选中整个路由函数,调用CodeGeeX:“添加FastAPI文档注释,包括summary、description和response description”。
5、验证访问 http://127.0.0.1:8000/docs 是否正常加载Swagger UI,所有字段应显示校验规则与示例值。
四、借助CodeGeeX一键生成Dockerfile与部署清单
当需跨环境运行或交付给运维团队时,CodeGeeX可基于当前代码结构生成容器化配置,跳过手工编写Dockerfile的繁琐过程。
1、确保项目目录下存在main.py与requirements.txt。
2、新建Dockerfile文件,光标置于首行,调用CodeGeeX:“生成适用于FastAPI+Uvicorn的多阶段Dockerfile,基础镜像使用python:3.11-slim,暴露端口8000,工作目录/app,复制全部源码并安装依赖”。
3、CodeGeeX将输出标准Dockerfile,含FROM、WORKDIR、COPY、RUN pip install -r、EXPOSE、CMD等指令。
4、另建docker-compose.yml,调用CodeGeeX:“生成单服务docker-compose配置,设置restart: unless-stopped,映射宿主机8000→容器8000,挂载日志卷/log”。
5、执行docker build -t python-web-app . && docker-compose up -d后,检查容器日志是否出现'Uvicorn running on http://0.0.0.0:8000'。
五、通过CodeGeeX实现数据接口安全加固
默认生成的接口无认证机制,CodeGeeX可快速注入基础鉴权逻辑,防止未授权调用,适用于内部数据应用场景。
1、在main.py中定位@app.get装饰器所在路由函数上方。
2、调用CodeGeeX:“在此路由前添加HTTP Basic Auth中间件,用户名admin,密码从环境变量AUTH_PASSWORD读取”。
3、CodeGeeX将插入from fastapi import Depends, HTTPException;from fastapi.security import HTTPBasic, HTTPBasicCredentials等导入,并生成verify_credentials依赖函数。
4、修改@app.get装饰器为@app.get(..., dependencies=[Depends(verify_credentials)])。
5、在终端设置环境变量:export AUTH_PASSWORD=your_secure_key,严禁将明文密码硬编码在代码中。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











