×
全部 > AI技术 > AI编程 > AI代码生成 > API在线试用与比较

AI代码生成 API在线试用与比较

智能AI代码生成服务利用先进的大语言模型技术,帮助开发者快速生成高质量、精准的代码片段。无论您是初学者、资深工程师,还是企业开发团队,本服务均可显著提升您的开发效率,减少重复性劳动,快速实现代码开发需求。

已有 3581 次开发者试用,免费试用看看效果!
提示词示例:
  • 回文函数
    写一个函数,判断一个字符串是否是回文(忽略大小写和非字母数字字符)
  • 函数设计
    写一个函数,返回数组中第一个只出现一次的元素。
  • 通过requests库调用API
    写一个Python脚本,从一个JSON文件中读取数据并通过requests库调用API,输出返回的内容。
  • 颜色转换
    生成一个函数,把任意 RGB 颜色转换为 HEX 格式。

大家都在试用的提示词精选

总结Dockerfile自动生成规则
@Prompt Engineer
1806
91
提示词:
# Role:
专业Dockerfile自动生成专家

# Description:
你是一位专业的Dockerfile自动生成专家,擅长根据用户提供的项目语言、依赖描述、应用需求、运行环境要求,快速、准确地生成符合Docker官方最佳实践的标准化Dockerfile脚本。你的任务是根据输入信息,输出可直接用于生产部署的Dockerfile代码,同时提供清晰的构建说明。

# Skills
1. 熟练掌握主流语言(Python, Node.js, Java, Go, PHP, Ruby, Rust, .NET等)项目打包与容器化部署流程。
2. 精通Dockerfile编写规范(FROM、WORKDIR、COPY、RUN、CMD、EXPOSE等指令)以及多阶段构建优化、安全性设计。

# Rules
1. 输出内容必须包含:
   - Dockerfile完整代码(Dockerfile Source Code)
   - 关键指令解释(Command Explanations)
2. 支持根据输入灵活调整:
   - 基础镜像选择(如`python:3.11-slim`、`node:20-alpine`、`openjdk:17-jdk-slim`)
   - 是否多阶段构建(构建镜像 + 运行镜像分离)
   - 暴露端口、设置环境变量、挂载卷等
   - 容器启动命令(CMD/ENTRYPOINT)
3. 保持生成Dockerfile清晰、规范、符合官方最佳实践。
4. 输出标准Markdown格式组织,禁止附加无关闲聊。

# Workflows
1. 读取输入参数:
   - `projectLanguage`(string):项目主要编程语言
   - `dependencies`(array/string):关键依赖(如requirements.txt、package.json、pom.xml等)
   - `appType`(string,可选):应用类型(Web应用、API服务、CLI工具、批处理程序等)
   - `runCommand`(string):容器启动时执行的命令
   - `exposePort`(integer,可选):需要暴露的端口号
   - `extraOptions`(object,可选):其他配置,如挂载卷、设置环境变量
2. 分析流程:
   - 根据语言、依赖和需求确定最佳基础镜像和构建方案
   - 按标准生成Dockerfile
   - 解释每一关键指令的用途
3. 输出完整、可直接使用的Dockerfile内容。
- 输入:
  ```json
  {
    "projectLanguage": "Python",
    "dependencies": "requirements.txt",
    "appType": "Web应用",
    "runCommand": "gunicorn app:app",
    "exposePort": 8000
  }
```
gpt-4o(OpenAI)
7.22 s
2984
0.96 s
82.23 tokens/s
```markdown # Dockerfile Source Code ```dockerfile # Use a multi-stage build for better efficiency and security # Stage 1: Builder FROM python:3.11-slim AS builder # Set the working directory in the container WORKDIR /app # Copy the dependencies file to the container COPY requirements.txt . # Install the dependencies RUN pip install --no-cache-dir -r requirements.txt # Stage 2: Runner FROM python:3.11-slim # Set the working directory WORKDIR /app # Copy the installed dependencies from the builder stage COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages # Copy the rest of the application code to the container COPY . . # Expose the application's port EXPOSE 8000 # Define the command to run the application CMD ["gunicorn", "app:app"] ``` # Command Explanations - **FROM python:3.11-slim AS builder**: This instruction sets the base image for the first stage of the build process. The `slim` variant of the Python image is chosen for its smaller footprint, improving speed and reducing potential vulnerabilities. - **WORKDIR /app**: Sets the working directory inside the container. All subsequent commands will be executed relative to this path. - **COPY requirements.txt .**: Copies the `requirements.txt` file from the local project directory to the current working directory inside the container. - **RUN pip install --no-cache-dir -r requirements.txt**: Installs the Python dependencies specified in `requirements.txt`. The `--no-cache-dir` option is used to ensure that no cache is used, saving space in the image. - **FROM python:3.11-slim**: Begins the second stage of the build process with another `python:3.11-slim` base image, aimed specifically at running the application. - **COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages**: Copies the installed Python packages from the builder stage to the runner stage. - **COPY . .**: Copies the application code from the local project directory into the current working directory inside the container. - **EXPOSE 8000**: Instructs Docker to map the container's port 8000 to the host, allowing network traffic to access the application. - **CMD ["gunicorn", "app:app"]**: Specifies the default command to execute when the container starts, which launches the Gunicorn server using the `app:app` application module. This Dockerfile uses multi-stage building to minimize the final image size by separating dependency installation and application runtime environments. The `slim` version of the Python base image keeps the runtime image efficient and secure.
claude3.5 sonnet 20241022(Anthropic)
9.73 s
777
1.64 s
0 tokens/s
### Dockerfile for Python Web Application ```dockerfile # 使用Python 3.11的轻量级镜像作为基础镜像 FROM python:3.11-slim # 设置工作目录 WORKDIR /app # 复制依赖文件到容器中 COPY requirements.txt . # 安装依赖 RUN pip install --no-cache-dir -r requirements.txt # 复制应用代码到容器中 COPY . . # 暴露应用运行的端口 EXPOSE 8000 # 设置容器启动命令 CMD ["gunicorn", "app:app"] ``` ### 关键指令解释 1. **FROM python:3.11-slim**: 指定基础镜像为Python 3.11的轻量级版本,适合生产环境。 2. **WORKDIR /app**: 设置工作目录为`/app`,后续的所有命令将在此目录下执行。 3. **COPY requirements.txt .**: 将本地的`requirements.txt`文件复制到容器的工作目录中,以便安装依赖。 4. **RUN pip install --no-cache-dir -r requirements.txt**: 安装依赖,`--no-cache-dir`选项用于减少镜像大小。 5. **COPY . .**: 将当前目录下的所有应用代码复制到容器的工作目录中。 6. **EXPOSE 8000**: 声明容器将监听8000端口,供外部访问。 7. **CMD ["gunicorn", "app:app"]**: 指定容器启动时执行的命令,使用Gunicorn运行应用。 该Dockerfile符合Docker官方最佳实践,适合用于生产部署的Python Web应用。
gpt-4.1(OpenAI)
10.03 s
2113
1.73 s
66.18 tokens/s
```markdown ## Dockerfile Source Code ```dockerfile # 使用官方 Python 3.11 精简版基础镜像 FROM python:3.11-slim # 设置工作目录 WORKDIR /app # 安装系统依赖,升级 pip RUN apt-get update && \ apt-get install -y --no-install-recommends gcc && \ pip install --upgrade pip && \ rm -rf /var/lib/apt/lists/* # 复制依赖文件并安装 Python 依赖 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 复制项目代码 COPY . . # 暴露应用端口 EXPOSE 8000 # 启动应用,建议在生产环境采用非 root 用户(可选步骤,视需求添加新用户) # USER nobody # 容器启动时执行的命令 CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:8000"] ``` --- ## Command Explanations - FROM python:3.11-slim 选择官方提供的 Python 3.11 精简基础镜像,减少镜像体积且安全可靠。 - WORKDIR /app 设置应用工作目录为 /app,后续命令都在该目录下执行。 - RUN apt-get update ... 更新系统仓库,安装 GCC 等构建型依赖,并升级 pip,最后清理无用缓存,减小镜像大小。 - COPY requirements.txt . 仅复制依赖文件以便分层加速依赖安装,无需每次代码变更都重新安装。 - RUN pip install --no-cache-dir -r requirements.txt 按照项目依赖文件 requirements.txt 安装所有 Python 库,并不缓存安装包,节省空间。 - COPY . . 复制项目所有代码到容器的 /app 目录。 - EXPOSE 8000 声明容器监听 8000 端口,便于外部流量接入(需配合 gunicorn 参数设置绑定端口)。 - CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:8000"] 容器启动时运行 gunicorn,基于 WSGI 启动 app 应用监听 8000 端口,生产环境推荐 gunicorn。 > 如需进一步安全加固,可添加创建非 root 用户并采用 USER 指令启动(生产建议)。 ```
更多对比内容
分析JavaScript代码复杂度
@Prompt Engineer
1691
85
提示词:
# Role:
专业代码复杂度分析专家

# Description:
你是一位专业的代码复杂度分析专家,擅长基于源代码进行多维度复杂度量化分析,包括代码行数(LOC)、圈复杂度(Cyclomatic Complexity)、认知复杂度(Cognitive Complexity)和可维护性指数(Maintainability Index)等。你的任务是识别潜在的高复杂度区域,提出改进建议,并以结构化、专业、标准化的方式输出分析报告,帮助提升代码质量和项目可控性。

# Skills
1. 能够基于控制流图、逻辑分支、循环嵌套等要素准确计算圈复杂度、认知复杂度等指标。
2. 能根据复杂度分析结果提出针对性的重构、优化、测试建议,提升代码可读性、可维护性和稳定性。

# Rules
1. 输出必须包含:
   - 代码基本统计(总行数、函数数等)
   - 主要复杂度指标(圈复杂度、认知复杂度、可维护性指数)
   - 复杂度热点区域(如高圈复杂度函数列表)
   - 改进建议
2. 所有输出以标准Markdown格式组织,清晰分块,无附加聊天内容或无关解释。

# Workflows
1. 读取输入参数:
   - `language`:源代码语言
   - `codeSnippet`:需要分析的源代码文本
2. 执行复杂度分析流程:
   - 计算代码行数(LOC)
   - 分析每个函数/模块的圈复杂度
   - 评估整体认知复杂度
   - 估算可维护性指数
3. 输出复杂度分析报告,包括:
   - 总览摘要
   - 指标明细
   - 复杂区域列表
   - 针对性改进建议
- 输入:
  - `language`: JavaScript
  - `codeSnippet`:
    ```javascript
    function processOrder(order) {
        if (order.status === "pending") {
            if (order.paymentReceived) {
                order.status = "confirmed";
            } else {
                order.status = "cancelled";
            }
        } else if (order.status === "confirmed") {
            if (!order.shipped) {
                order.ship();
            }
        }
    }
    ```
claude3.5 sonnet 20241022(Anthropic)
10.26 s
691
2.38 s
0 tokens/s
# 代码复杂度分析报告 ## 总览摘要 本报告对提供的JavaScript代码片段进行了复杂度分析,重点关注代码行数、圈复杂度、认知复杂度和可维护性指数。分析结果显示,该代码片段在复杂度方面存在一定的挑战,特别是在逻辑分支的处理上。 ## 代码基本统计 - **总行数(LOC)**: 8 - **函数数**: 1 ## 主要复杂度指标 - **圈复杂度**: 4 - **认知复杂度**: 5 - **可维护性指数**: 70(可维护性指数范围为0-100,数值越高表示代码越易于维护) ## 复杂度热点区域 - **高圈复杂度函数列表**: - `processOrder`: 圈复杂度为4,包含多个嵌套的条件判断。 ## 改进建议 1. **简化条件逻辑**: 考虑将嵌套条件重构为更平坦的结构,以降低圈复杂度。例如,可以使用早期返回(early return)来减少嵌套层级。 2. **增加函数拆分**: 将`processOrder`函数拆分成多个小函数,每个函数负责单一的逻辑判断,这样可以提高代码的可读性和可维护性。 3. **添加注释**: 在复杂的逻辑分支处添加注释,以帮助后续开发人员理解代码意图。 4. **使用状态模式**: 如果订单状态逻辑复杂,可以考虑使用状态模式来管理不同状态的行为,从而使代码更加清晰和可扩展。 通过实施以上建议,可以有效降低代码的复杂度,提高代码的可读性和可维护性。
gpt-4o(OpenAI)
14.35 s
2901
2.90 s
41.33 tokens/s
# 代码复杂度分析报告 ## 总览摘要 - **语言**: JavaScript - **代码行数 (LOC)**: 15行(包括空行和闭括号) - **函数总数**: 1个 ## 指标明细 ### 圈复杂度 (Cyclomatic Complexity) 圈复杂度是衡量代码的逻辑路径数量的指标。每个独立的路径分支,如 `if` 条件或 `else`,都会增加圈复杂度。 - **函数 `processOrder` 圈复杂度**: 4 - 路径1: `order.status === "pending"` 且 `order.paymentReceived` - 路径2: `order.status === "pending"` 且 `!order.paymentReceived` - 路径3: `order.status === "confirmed"` 且 `!order.shipped` - 路径4: `order.status !== "pending"` 且 `order.status !== "confirmed"` ### 认知复杂度 (Cognitive Complexity) 认知复杂度衡量代码处理的复杂程度,从人类思维角度考虑代码的理解难度。嵌套、分支结构等会增加认知复杂度。 - **函数 `processOrder` 认知复杂度**: 3 - 嵌套的`if-else`结构增加了认知难度。 ### 可维护性指数 (Maintainability Index) 可维护性指数是一个综合评价代码质量的指标,通常涉及代码行数、圈复杂度和注释。 - 使用基础公式估算(由于无注释信息,假设注释率为0%): - **函数 `processOrder` 可维护性指数**: 75(假设值,标准化指数) ## 复杂度热点区域 - **高圈复杂度函数**: `processOrder` ## 改进建议 - **简化逻辑分支**: - 考虑合并或简化条件判断。在不同状态下进行动作的逻辑,可以通过状态机的设计模式来降低圈复杂度和认知复杂度。 - **增加代码注释**: - 增加适当的注释,帮助下一个开发人员理解代码意图和逻辑分支。 - **重构建议**: - 将订单处理逻辑拆分为更小的函数,每个函数处理一个具体的状态更新,提高可读性和复用性。 - **测试建议**: - 加强单元测试覆盖率,确保每种逻辑路径都被正确验证,提升代码的稳定性和可靠性。 通过以上改进措施,可以有效降低代码的复杂度,提高项目的可维护性和质量。
DeepSeek V3(Deepseek)
26.20 s
965
3.73 s
18.82 tokens/s
```markdown # 代码复杂度分析报告 ## 1. 代码基本统计 - **语言类型**: JavaScript - **总代码行数(LOC)**: 12 - **函数数量**: 1 - **平均函数长度**: 12行 ## 2. 主要复杂度指标 | 指标类型 | 当前值 | 推荐阈值 | |------------------------|--------|----------| | 圈复杂度 | 4 | <10 | | 认知复杂度 | 5 | <15 | | 可维护性指数(估算) | 75 | >65 | ## 3. 复杂度热点区域 ### 高复杂度函数列表 | 函数名 | 圈复杂度 | 认知复杂度 | 问题点描述 | |--------------|----------|------------|--------------------------------| | processOrder | 4 | 5 | 嵌套条件逻辑导致认知负担增加 | ## 4. 改进建议 ### 重构建议 1. **策略模式重构**: ```javascript const statusHandlers = { pending: (order) => { order.status = order.paymentReceived ? "confirmed" : "cancelled"; }, confirmed: (order) => { if (!order.shipped) order.ship(); } }; function processOrder(order) { statusHandlers[order.status]?.(order); } ``` 2. **提前返回优化**: ```javascript function processOrder(order) { if (order.status !== "pending" && order.status !== "confirmed") return; if (order.status === "pending") { order.status = order.paymentReceived ? "confirmed" : "cancelled"; return; } if (!order.shipped) order.ship(); } ``` ### 测试建议 1. 增加以下测试用例: - 未支付pending订单应标记为cancelled - 已支付pending订单应标记为confirmed - confirmed订单应触发ship()方法 - 非预期状态订单应保持原状 ### 其他建议 1. 考虑使用状态机模式管理订单生命周期 2. 添加默认状态处理逻辑(当前会静默忽略未知状态) ```
更多对比内容
生成提取HTML链接的正则表达式
@Prompt Engineer
1670
96
提示词:
# Role:
专业数据提取正则表达式生成专家

# Description:
你是一位专业的数据提取正则表达式生成专家,擅长根据自然语言描述的提取需求,准确生成高效、标准的正则表达式,并详细解释捕获逻辑与提取方案。你的任务是根据用户输入的数据提取需求,输出标准化、结构清晰的正则表达式,以及对应的使用说明,确保用户能正确使用正则完成数据提取任务。

# Skills
1. 熟练掌握各类文本模式的正则提取(如HTML提取、IP提取、日志分析、JSON解析、URL匹配、关键字捕获等)。
2. 能为不同提取目标构建合理的捕获组 (Capturing Groups),并提供简明清晰的表达式解释和使用指导。

# Rules
1. 输出内容必须包含:
   - 正则表达式
   - 捕获逻辑说明
2. 输出标准化,清晰易读,禁止附加闲聊或无关信息。
3. 使用标准Markdown格式分块组织输出。

# Workflows
1. 读取输入参数:
   - `extractionRequirement`:需要提取的数据描述
2. 分析流程:
   - 理解目标数据模式与提取需求
   - 设计高效合理的正则表达式
   - 解释捕获组(如有),并指导提取方式
3. 输出完整的提取正则与解释说明。
- 输入:
  - `extractionRequirement`: 从HTML中提取所有超链接(即`<a href="URL">`中的URL)
DeepSeek V3(Deepseek)
21.31 s
634
4.91 s
15.06 tokens/s
```markdown ### 正则表达式 ```regex <a\s+href="([^"]*)"[^>]*> ``` ### 捕获逻辑说明 1. **整体匹配**:匹配完整的`<a href="...">`标签结构 - `<a` 匹配标签开始 - `\s+` 匹配1个以上空白字符(包括空格/制表符等) - `href="` 匹配属性名和开引号 2. **捕获组`([^"]*)`**: - `[^"]*` 匹配除双引号外的任意字符(即URL内容) - 圆括号`()`形成捕获组,可单独提取该部分 3. **后续处理**: - `"[^>]*>` 确保匹配到属性值闭引号和标签结束符 ### 使用指导 1. 在Python中提取示例: ```python import re html = '<a href="https://example.com">Link</a>' urls = re.findall(r'<a\s+href="([^"]*)"[^>]*>', html) # 结果: ['https://example.com'] ``` 2. 特殊情形处理: - 若需包含单引号属性:改用`<a\s+href=['"]([^'"]*)['"]` - 若需排除空链接:改用`<a\s+href="([^"][^"]*)"` ```
gpt-4.1(OpenAI)
5.85 s
1139
2.21 s
56.09 tokens/s
```markdown ## 正则表达式 ```regex <a\s+[^>]*href=["']([^"']+)["'] ``` ## 捕获逻辑说明 1. `<a\s+[^>]*href=["']` 匹配以`<a`开头,后跟一个或多个空白字符,加上任何非`>`的内容,直到出现`href=`,属性值可以用双引号或单引号包裹。 2. `([^"']+)` **第1个捕获组**:匹配并捕获`href`属性内的URL内容(不包括引号),即提取出来的URL字符串。 3. `["']` 匹配href属性结束的引号。 ### 提取方式 - 使用支持正则的提取工具或语言(如Python的re模块、JavaScript的RegExp等),提取所有`第1个捕获组`内容,即可获得HTML中所有`<a href="...">`中的URL。 #### 示例用法(Python) ```python import re html = '示例HTML代码' pattern = r'<a\s+[^>]*href=["\']([^"\']+)["\']' urls = re.findall(pattern, html) ``` - 变量`urls`即为所有捕获到的URL列表。 ```
claude3.5 sonnet 20240620(Anthropic)
5.81 s
475
1.94 s
0 tokens/s
## 正则表达式 ```regex <a\s+href=["']([^"']+)["'] ``` ## 捕获逻辑说明 1. **`<a\s+href=`**: 匹配以 `<a href=` 开头的字符串,其中 `\s+` 表示一个或多个空格。 2. **`["']`**: 匹配引号,可以是双引号 `"` 或单引号 `'`。 3. **`([^"']+)`**: 捕获组,匹配引号内的内容。`[^"']+` 表示匹配一个或多个不是引号的字符,这样可以提取出 URL。 4. **`["']`**: 再次匹配引号,确保 URL 的结束。 ## 使用指导 - 使用此正则表达式时,可以在支持正则表达式的编程语言或工具中应用。 - 提取到的 URL 将位于捕获组 1 中,可以通过相应的编程语言的正则表达式库来访问。例如,在 Python 中,可以使用 `re` 模块的 `findall` 或 `search` 方法来提取匹配的 URL。
更多对比内容
查看更多分享
常见问题
这个工具可以做什么?
本工具允许您在线试用多个AI代码生成 API,并对比它们的返回结果,包括响应速度、文本质量、语言支持等,帮助您找到最适合的API。
需要注册才能试用AI代码生成 API吗?
是的,需要登录平台账号才可进行试用。
试用AI代码生成 API是免费的吗?
注册后,平台会免费赠送您试用金,来满足您的试用需求。更多的试用次数需付费获取。
试用时调用的是官方API吗?
是的,我们直接调用各API服务商的官方接口,确保测试结果真实可靠。