将gemini notebook部署为云端api服务,需先重构核心逻辑为独立函数并导出为python模块,再用fastapi封装为http服务,最后通过render或railway部署,确保google_api_key通过环境变量安全注入。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

将编写好API调用代码的Gemini Notebook部署到云端运行,核心是把Jupyter Notebook中验证通过的逻辑,转化为可长期存活、可被HTTP触发、能稳定调用Gemini API的服务进程,而非停留在本地交互式环境。
确认Notebook中已封装为可复用函数
打开你的Gemini Notebook,检查是否已将核心调用逻辑抽离为独立函数,例如:def generate_response(prompt: str) -> str:。若仍散落在多个cell中且依赖全局变量(如model实例未封装进函数),必须先重构——否则无法打包部署。
重点验证:该函数能否在全新Python环境中仅靠import和传参就执行成功?不能依赖Jupyter特有的get_ipython()或%magic命令。
导出并整理为标准Python模块
在Notebook末尾新增一个cell,执行:%%writefile gemini_handler.py,然后粘贴重构后的函数代码(含必要import语句)。这会生成一个纯Python文件。
手动创建requirements.txt,内容至少包含:google-generativeai==0.8.2fastapi==0.115.0uvicorn==0.30.6python-dotenv==1.0.1
【注意:版本号必须与你本地Notebook实际运行成功的版本一致,尤其是google-generativeai,不同版本的API签名可能不兼容】
构建FastAPI轻量服务
新建main.py,写入以下内容:
用于在用户想通过浏览器自动化与 Google Gemini 或 ChatGPT 交互时。触发短语包括“ask Gemini”“ask ChatGPT”“ask GPT”“让...”。
```python
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import os
from gemini_handler import generate_response
app = FastAPI()
class PromptRequest(BaseModel):
prompt: str
@app.post("/ask")
def handle_prompt(req: PromptRequest):
try:
result = generate_response(req.prompt)
return {"response": result}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
```
确保gemini_handler.py与main.py在同一目录,且GOOGLE_API_KEY已通过环境变量注入(部署时配置)。
选择部署平台并上传代码
方法一:使用Render(推荐新手)
① 注册Render账号并绑定GitHub;
② 将上述main.py、gemini_handler.py、requirements.txt推送到新仓库;
③ 在Render控制台新建Web Service,选择该仓库,设置Build Command为pip install -r requirements.txt,Start Command为uvicorn main:app --host 0.0.0.0 --port $PORT;
④ 在Environment Variables中添加GOOGLE_API_KEY值(从AI Studio复制,**不要硬编码在代码里**)。
方法二:使用Railway
① 登录Railway,点击“New Project” → “Deploy from GitHub”;
② 选择含上述文件的仓库;
③ 在“Variables”页签添加GOOGLE_API_KEY;
④ 点击“Deploy Now”,等待构建完成,获取分配的URL(形如https://xxx.up.railway.app)。
验证云端服务是否生效
在终端执行:curl -X POST https://your-service-url/ask -H "Content-Type: application/json" -d '{"prompt":"用Python打印斐波那契数列前10项"}'。
若返回JSON格式响应且含"response"字段,说明部署成功。若报错500 Internal Server Error,检查Render/Railway后台日志,常见原因是GOOGLE_API_KEY未正确注入或网络代理缺失(Cloudflare Worker等中转层不适用此场景,此处需直连Google API)。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










