002- 用 AutoCoder 添加和修改代码

实际上 AutoCoder 最适合的场景是修改代码,因为它最原始的功能是把源码+你指定的文档+搜索引擎搜集到的资料和你的需求生成一个prompt给到大模型。

此外纠正大家一个观点, AutoCoder 不是一句话给你创建一个网站抑或一个大型的项目。我们是帮助研发或者产品更快的迭代产品。

不过我们还是从最开始项目啥都没有开始,现在,我们用 AutoCoder 创建一个 web server

source_dir: /tmp/t-py
target_file: /home/winubuntu/projects/ByzerRawCopilot/output.txt 


model: qianwen_chat
model_max_length: 2000
model_max_input_length: 6000
anti_quota_limit: 5


search_engine: bing
search_engine_token: ENV {{BING_SEARCH_TOKEN}}


## execute the prompt generated by auto-coder
execute: true
## extract the code from the prompt generated by auto-coder 
## and overwrite the source code
auto_merge: true


project_type: py


query: >
  在 /tmp/t-py/server/server.py 
  中使用 FastAPI 创建一个web服务。
  服务的根路径返回 "Hello, World!"。

注意,这里我们开启了 auto_merge 参数。这个参数会修改你的项目,所以总体来说还是慎用。如果这个参数没有开启,可以在 target_file 里找到生成的代码,可以自己手动复制黏贴下。

执行下:

auto-coder --file ./examples/from-zero-to-hero/002_fastapi_hello_word.yml

日志比较简单:

2024-03-21 17:55:08.944 | INFO     | autocoder.dispacher.actions.action:process_content:225 - Auto merge the code...
2024-03-21 17:55:08.945 | INFO     | autocoder.common.code_auto_merge:merge_code:51 - Upsert path: /tmp/t-py/server/server.py
2024-03-21 17:55:08.945 | INFO     | autocoder.common.code_auto_merge:merge_code:55 - Merged 1 files into the project.

结果:

(byzerllm-dev) (base) winubuntu@winubuntu:/tmp/t-py$ tree
.
└── server
    └── server.py


1 directory, 1 file

执行下代码:

(byzerllm-dev) (base) winubuntu@winubuntu:/tmp/t-py$ python /tmp/t-py/server/server.py
INFO:     Started server process [1333520]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     127.0.0.1:33516 - "GET / HTTP/1.1" 200 OK
INFO:     127.0.0.1:33516 - "GET /favicon.ico HTTP/1.1" 404 Not Found

访问下:

5ca9f89302b4eae926ea290cd991e099.png

成功搞定。

现在,让我们来修改下代码。

source_dir: /tmp/t-py
target_file: /home/winubuntu/projects/ByzerRawCopilot/output.txt 


model: qianwen_chat
model_max_length: 2000
model_max_input_length: 6000
anti_quota_limit: 5


search_engine: bing
search_engine_token: ENV {{BING_SEARCH_TOKEN}}


## execute the prompt generated by auto-coder
execute: true
## extract the code from the prompt generated by auto-coder 
## and overwrite the source code
auto_merge: true


project_type: py


query: >
  修改 server.py 中的端口,改成 9001

执行下:

auto-coder --file ./examples/from-zero-to-hero/002_fastapi_modify_port.yml

此时打开 server.py 后,可以看到端口已经被改成 9001了

from fastapi import FastAPI


# 创建FastAPI应用实例
app = FastAPI()


# 定义根路径的GET请求处理函数,返回 "Hello, World!"
@app.get("/")
def read_root():
    return {"message": "Hello, World!"}


if __name__ == "__main__":
    # 启动web服务,端口改为9001
    import uvicorn
    uvicorn.run(app, host="127.0.0.1", port=9001)

这里你可能好奇,为啥前面我可以直接说修改 server.py 而不需要写完整路径了。因为这次项目里有python文件了,有上下文,所以大模型是可以自动推测的,你不需要写那么完整。

今天内容就到这里。下一期我们看看如何解决你没有大模型API,或者你的API版大模型太弱,在只有Web版本的诸如 Kimi/GPT4 的情况下,AutoCoder如何帮助你完成编程。

这里剧透下:


1. AutoCoder 之负责生成Prompt,你可以拖拽文件到Web版大模型里去。

2. AutoCoder 在需要用到的大模型的地方,会询问你,这个时候你可以把结果贴到web版里,然后再把结果贴回来,帮助AutoCoder完成整个流程。

基于Python的天气预测与可视化(完整源码+说明文档+数据),个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基
### Autocoder 使用教程 #### 安装与配置 要安装并使用 Autocoder,需先创建 Python 虚拟环境,并通过 `pip` 工具安装所需依赖项。以下是具体操作方法: 1. 创建虚拟环境并激活: ```bash conda create --name autocoder python=3.10.11 conda activate autocoder ``` 2. 启动 Ray 集群服务(用于分布式计算支持): ```bash ray start --head ``` 3. 安装 Autocoder 及其相关组件: ```bash pip install -U auto-coder ``` 上述命令能够完成基本的安装流程[^1]。 --- #### 功能概述 Autocoder 是一款旨在提升开发者效率的工具,它可以通过自动生成代码框架来帮助用户快速解决问题。例如,在输入特定参数后,它可以生成控制器 (Controller) 服务层 (Service) 等模块化代码结构[^3]。这种特性使得开发人员无需手动编写重复性的基础代码,从而专注于更复杂的逻辑实现[^2]。 --- #### 基础使用指南 为了更好地理解如何运用 Autocoder 来满足实际需求,下面提供了一个简单的例子说明其工作方式: 假设我们需要为某个项目构建 RESTful API 接口,则可通过如下步骤调用 Autocoder 自动生成所需的文件函数定义: ```python from auto_coder import CodeGenerator # 初始化生成器对象 generator = CodeGenerator() # 设置目标语言及框架类型 generator.set_language("Python") # 支持多种编程语言 generator.set_framework("Flask") # 或 Django, FastAPI 等 # 添加业务逻辑描述 generator.add_logic(""" 用户注册接口应接收用户名、密码作为请求体, 并返回成功状态码以及新用户的唯一 ID。 """) # 执行生成过程 generated_code = generator.generate() print(generated_code) ``` 运行此脚本后即可获得完整的路由声明及其对应的处理程序代码片段。 --- #### 进阶技巧 除了基本的功能外,Autocoder 还允许用户定制更多细节选项以适配不同场景下的特殊要求。比如调整命名约定风格、指定第三方库版本号或者引入额外的安全防护措施等等。这些高级设置通常会涉及修改配置文件或传递额外的关键字参数给初始化方法。 如果希望进一步探索该产品的潜力,建议查阅官方文档获取最新资讯支持信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值