python+cloudflare ai gateway实现国内调用google gemini api流式输出对话框代码
代码语言:python
所属分类:人工智能
代码描述:python+cloudflare ai gateway实现国内调用google gemini api流式输出对话框代码
代码标签: python cloudflare ai gateway 国内 调用 google gemini a
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* import os import json from google import genai # FastAPI 相关的导入 from fastapi import FastAPI from fastapi.responses import HTMLResponse, StreamingResponse from pydantic import BaseModel from typing import List, Dict, Any # Google GenAI SDK 相关的导入 from google.genai import types # --- 1. 初始化和配置 --- #load_dotenv() app = FastAPI() AI_GATEWAY_URL ="https://gateway.ai.cloudflare.com/v1/{acountid}/{projectname}/google-ai-studio" API_KEY ="a*******************" # 检查配置是否齐全 if not AI_GATEWAY_URL or not API_KEY: raise ValueError("请确保 .env 文件中已设置 AI_GATEWAY_URL 和 GOOGLE_API_KEY") # --- 2. 初始化 Google GenAI 客户端 (使用代理) --- # 这是关键:我们在这里初始化客户端,并传入 http_options 来指定代理 try: client = genai.Client( api_key=API_KEY, http_options=types.HttpOptions( base_url=AI_GATEWAY_URL ) ) except ImportError: raise ImportError("请运行 'pip install google-generativeai' 来安装所需的库。") # --- 3. Pydantic 数据模型 (保持不变) --- class Part(BaseModel): text: str class Content(BaseModel): role: str parts: List[Part] class ChatPayload(BaseModel): contents: List[Content] # --- 4. HTML 模板 (保持不变) --- HTML_TEMPLATE = """ <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Gemini 流式聊天 - FastAPI + GenAI SDK</title> <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"> <style> :root { --bg-color: #121212; --surface-color: #1e1e1e; --primary-color: #bb86fc; --primary-variant-color: #3700b3; --secondary-color: #03dac6; --text-color: #e0e0e0; --text-secondary-color: #a0a0a0; --border-color: #333; --font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue".........完整代码请登录后点击上方下载按钮下载查看
网友评论0