python调用免费的google gemini 2.5 pro api及Cloudflare Gateway实现国内可用的项目源码ai自动编程编写代码

代码语言:python

所属分类:其他

代码描述:python调用免费的google gemini 2.5 pro api及Cloudflare Gateway实现国内可用的项目源码ai自动编程编写代码,直接使用目前世界上最强的ai模型google gemini 2.5 pro的api,实现项目源码自动生成和修改,使用Cloudflare Ai Gateway实现国内直接访问gemini的api服务,不会出现location错误。

代码标签: python google gemini api Cloudflare Gateway 国内 可用

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
from google import genai
from google.genai import types
import os
import json
import re
import sys
from pathlib import Path
from typing import List, Dict
# import asyncio # <-- 已移除

# --- Gemini API 配置 ---
# 请将 "YOUR_GEMINI_API_KEY" 替换为您的真实 API 密钥
# 如果您使用 Cloudflare Gateway 或类似代理,请填写 base_url
# 如果直接使用 Google API,可以省略 http_options
try:
    gemini_client = genai.Client(
      api_key="", # <-- 在此处填入你的API Key
      http_options=types.HttpOptions(
        # 这是一个示例代理地址,请根据你的实际情况修改 (已移除末尾多余的空格)
        base_url="https://gateway.ai.cloudflare.com/v1/{acountid}/{projiectname}/google-ai-studio"
      )
    )
    print("Gemini 客户端初始化成功。")
except Exception as e:
    print(f"Gemini 客户端初始化失败: {e}", file=sys.stderr)
    sys.exit(1)


class CodeAssistant:
    def __init__(self, project_dir: str):
        """初始化代码助手"""
        self.project_dir = Path(project_dir)
        self.project_dir.mkdir(parents=True, exist_ok=True)
        # 为不同任务选择合适的模型
        # 注意:模型名称可能需要更新,
        self.decision_model = 'gemini-2.5-pro' # 用于快速判断
        self.generation_model = 'gemini-2.5-pro'  # 用于代码生成

    def _get_file_context(self) -> str:
        """获取项目目录中所有代码文件的内容作为上下文"""
        context = []
        # 优化了文件后缀列表的可读性
        code_suffixes = {
            '.php', '.js', '.html', '.css', '.json', '.py', '.java', '.cpp', '.c', 
            '.cs', '.rb', '.go', '.rs', '.ts', '.swift', '.kt', '.m', '.sh', '.xml', 
            '.yml', '.yaml', '.sql', '.r', '.pl', '.lua', '.scala', '.vb', '.hs', 
            '.erl', '.ex', '.exs', '.dart', '.jl', '.f90', '.f95', '.f03', '.f08'
        }
        for fi.........完整代码请登录后点击上方下载按钮下载查看

网友评论0