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

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

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

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

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

总结Dockerfile自动生成规则
@Prompt Engineer
1793
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应用。
通义千问2.5-Coder-7B(阿里云百炼)
15.99 s
1273
0.41 s
41.21 tokens/s
```markdown ## Dockerfile Source Code ```dockerfile # 使用Python 3.11-slim作为基础镜像 FROM python:3.11-slim as builder # 设置工作目录 WORKDIR /app # 复制项目文件到工作目录 COPY requirements.txt . # 安装项目依赖 RUN pip install --no-cache-dir -r requirements.txt # 构建最终的应用镜像 FROM python:3.11-slim # 设置工作目录 WORKDIR /app # 从builder阶段复制依赖安装结果 COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages # 复制项目文件到工作目录 COPY . . # 暴露8000端口 EXPOSE 8000 # 设置环境变量 ENV FLASK_APP=app.py # 启动应用 CMD ["gunicorn", "-b", ":8000", "app:app"] ``` ## Command Explanations - **FROM python:3.11-slim as builder**: 使用轻量级的Python 3.11镜像作为构建阶段的基础镜像,并命名为`builder`。 - **WORKDIR /app**: 设置工作目录为`/app`。 - **COPY requirements.txt .**: 将本地的`requirements.txt`文件复制到镜像中的`/app`目录。 - **RUN pip install --no-cache-dir -r requirements.txt**: 在构建阶段安装项目的依赖包。 - **FROM python:3.11-slim**: 重新使用轻量级的Python 3.11镜像作为运行阶段的基础镜像。 - **COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages**: 从构建阶段复制已安装的依赖包到运行阶段镜像中。 - **COPY . .**: 将本地的项目文件复制到镜像中的`/app`目录。 - **EXPOSE 8000**: 声明容器将监听8000端口。 - **ENV FLASK_APP=app.py**: 设置环境变量`FLASK_APP`为`app.py`。 - **CMD ["gunicorn", "-b", ":8000", "app:app"]**: 设置容器启动时执行的命令,使用Gunicorn运行Flask应用。 ``` ### Build Instructions 1. Save the above Dockerfile content to a file named `Dockerfile`. 2. Ensure your project files (including `requirements.txt`) are in the same directory as the Dockerfile. 3. Build the Docker image using the following command: ```sh docker build -t my-python-app . ``` 4. Run the Docker container using the following command: ```sh docker run -d -p 8000:8000 my-python-app ``` This will build and run your Python web application inside a Docker container, exposing port 8000 on the host machine.
更多对比内容
分析JavaScript代码复杂度
@Prompt Engineer
1680
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();
            }
        }
    }
    ```
通义千问2.5-Coder-32B(阿里云百炼)
28.56 s
0
0.52 s
12.85 tokens/s
# 复杂度分析报告 ## 总览摘要 - **语言**: JavaScript - **总行数**: 12 - **函数数**: 1 ## 指标明细 ### 代码行数(LOC) - **总行数**: 12 ### 圈复杂度(Cyclomatic Complexity) - **函数名**: `processOrder` - **圈复杂度**: 4 ### 认知复杂度(Cognitive Complexity) - **函数名**: `processOrder` - **认知复杂度**: 3 ### 可维护性指数(Maintainability Index) - **函数名**: `processOrder` - **可维护性指数**: 80.99 ## 复杂区域列表 ### 高圈复杂度函数列表 - **函数名**: `processOrder` - **圈复杂度**: 4 - **原因**: 函数中有多个条件判断分支,导致圈复杂度较高。 ## 针对性改进建议 1. **简化条件判断**: - 将嵌套的条件判断拆分为独立的函数或使用更简洁的逻辑表达式,以降低圈复杂度。 2. **增加注释和文档**: - 为复杂的逻辑部分添加详细的注释,帮助其他开发者理解代码意图。 3. **单元测试**: - 为函数编写全面的单元测试,确保在重构过程中不引入新的bug。 4. **重构代码**: - 考虑将复杂的逻辑拆分为多个小函数,提高代码的可读性和可维护性。 通过以上改进措施,可以有效降低代码的复杂度,提高其可读性和可维护性。
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. 添加默认状态处理逻辑(当前会静默忽略未知状态) ```
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` ## 改进建议 - **简化逻辑分支**: - 考虑合并或简化条件判断。在不同状态下进行动作的逻辑,可以通过状态机的设计模式来降低圈复杂度和认知复杂度。 - **增加代码注释**: - 增加适当的注释,帮助下一个开发人员理解代码意图和逻辑分支。 - **重构建议**: - 将订单处理逻辑拆分为更小的函数,每个函数处理一个具体的状态更新,提高可读性和复用性。 - **测试建议**: - 加强单元测试覆盖率,确保每种逻辑路径都被正确验证,提升代码的稳定性和可靠性。 通过以上改进措施,可以有效降低代码的复杂度,提高项目的可维护性和质量。
更多对比内容
生成提取HTML链接的正则表达式
@Prompt Engineer
1663
95
提示词:
# 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)
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。
通义千问2.5-Coder-14B(阿里云百炼)
9.05 s
734
0.38 s
40.98 tokens/s
```markdown # 正则表达式 ``` <a\s+href=["']([^"']+)["'].*?</a> ``` # 捕获逻辑说明 1. `<a\s+href=["']([^"']+)["'].*?</a>` 是一个用于从HTML中提取超链接的正则表达式。 - `<a\s+href=["']` 匹配以 `<a` 开头,后面可以有任意数量的空白字符 `\s*`,然后是 `href=`,接着是一个引号(单引号或双引号)`["']`。 - `([^"']+)` 是一个捕获组,用于捕获引号内的所有字符,这些字符是超链接的URL。`[^"']+` 表示匹配除引号以外的所有字符,`+` 表示匹配一次或多次。 - `["'].*?</a>` 匹配引号和后续的所有字符,直到遇到 `</a>` 标签结束。`.*?` 是非贪婪匹配,尽可能少地匹配字符,直到找到第一个 `</a>`。 2. 使用方法: - 将上述正则表达式应用到HTML文本中,通过正则引擎的搜索功能,可以提取出所有的超链接URL。 - 在编程语言中,例如Python,可以使用 `re.findall` 函数来提取所有匹配的URL: ```python import re html_text = '... (your HTML content here) ...' pattern = r'<a\s+href=["\']([^"\']+)["\'].*?</a>' urls = re.findall(pattern, html_text) print(urls) ``` - 这将返回一个包含所有提取URL的列表。 ```
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列表。 ```
更多对比内容
查看更多分享
常见问题
这个工具可以做什么?
本工具允许您在线试用多个AI代码生成 API,并对比它们的返回结果,包括响应速度、文本质量、语言支持等,帮助您找到最适合的API。
需要注册才能试用AI代码生成 API吗?
是的,需要登录平台账号才可进行试用。
试用AI代码生成 API是免费的吗?
注册后,平台会免费赠送您试用金,来满足您的试用需求。更多的试用次数需付费获取。
试用时调用的是官方API吗?
是的,我们直接调用各API服务商的官方接口,确保测试结果真实可靠。