python实现文件ai智能行级编辑示例代码

代码语言:python

所属分类:人工智能

代码描述:python实现文件ai智能行级编辑示例代码,通过ai返回文件的行操作json来一行行修复新增、删除文件代码内容

代码标签: python 文件 ai 智能 行级 编辑 示例 代码

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

#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
import os
import json
import asyncio
from dotenv import load_dotenv
import difflib # 导入用于生成差异的库

# FastAPI 相关的导入
from fastapi import FastAPI
from fastapi.responses import HTMLResponse, StreamingResponse
from pydantic import BaseModel
from typing import List

# 使用 OpenAI 的异步客户端
from openai import AsyncOpenAI

# --- 1. 初始化和配置 ---
load_dotenv()
app = FastAPI()

try:
    openai_client = AsyncOpenAI(api_key="sk-",base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")
except KeyError:
    raise KeyError("API 密钥未设置!请在 .env 文件中设置 OPENAI_API_KEY。")

TARGET_FILE_PATH = "sample_code.py" # 确保这个文件存在

# --- 2. Pydantic 数据模型 ---
class EditRequest(BaseModel):
    user_request: str
    file_content: str

# --- 3. HTML 模板 (已修复前端 fetch 逻辑) ---
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>AI 文件编辑器 (已修复)</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: #1e1e3f; --sidebar-bg: #2a2a52; --main-bg: #161633;
            --text-color: #dcdce0; --accent-color: #ff79c6; --accent-light: #f1fa8c;
            --border-color: #44475a; --success-color: #50fa7b; --error-color: #ff5555;
            --font-mono: 'Fira Code', 'Consolas', 'Monaco', monospace;
        }
        * { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: sans-serif; background-color: var(--bg-color); color: var(--text-color); display: flex; justify-content: center; align-items: center; height: 100vh; overflow: hidden; }
        #app { display: flex; width: 98vw; height: 95vh; max-width: 1600px; background-color: var(--sidebar-bg); border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.........完整代码请登录后点击上方下载按钮下载查看

网友评论0