AutoCoder 副作用,秒变命令行版Siri,再也不用复制黏贴命来管理大模型了

文章讲述了AutoCoder的新功能,它通过索引用户本地文档,实现对常用模型的启动和关闭操作的自然语言控制,简化了模型测试流程,支持Shell和Python的自动执行。

AutoCoder 可以通过你指定的文档,以及自动到搜索引擎进行搜索来获取信息,从而更好的帮你生成代码,但我们不满足,我们还希望能够对用户本地的文档进行索引,从而自动获取一些信息,帮助你本地的项目更好的迭代,为此我们推出了一个本地的 Rag 知识库。

结果没想到,解决了我一个以前一直很苦恼的问题,因为我经常要测试各种模型,这就需要经常启停一些模型,为此,我原来是这么做的,把我常用的一些模型的启动,关闭语句放在一个文件里。

44c1b2619054083ffb08e3acee3fbbb6.png

这个文件我一直打开,然后有需要就拷贝黏贴到命令行里。

其实很繁琐。今天,我突然发现,我完全通过自然语言来操控他了,打开命令行,执行下面语句:

auto-coder doc query --file ~/model.yml \
--query "先关闭kimi_chat,再启动"

其中 model.yml 文件是一个固定文件:

source_dir: /Users/allwefantasy/projects/doc_repo
model: qianwen_chat
emb_model: qianwen_emb

下面是执行结果:

=============RESPONSE==================




2024-04-17 16:37:50.255 | INFO     | autocoder.utils.llm_client_interceptors:token_counter_interceptor:16 - Input tokens count: 0, Generated tokens count: 0
先执行以下命令停止(关闭)kimi_chat模型模板:


```bash
byzerllm undeploy --model kimi_chat
```


然后执行以下命令启动kimi_chat模型模板:


```bash
byzerllm deploy --pretrained_model_type saas/official_openai \
--cpus_per_worker 0.001 \
--gpus_per_worker 0 \
--num_workers 2 \
--infer_params saas.api_key=${MODEL_KIMI_TOKEN} saas.base_url="https://api.moonshot.cn/v1" saas.model=moonshot-v1-32k \
--model kimi_chat
```


=============CONTEXTS==================
/Users/allwefantasy/projects/doc_repo/deploy_models/run.txt
/Users/allwefantasy/projects/doc_repo/deploy_models/run.sh

完全对了。当然,如果还要你复制黏贴执行,那就太麻烦了,我们可以直接让他执行:

auto-coder doc query --file ~/model.yml \
--query "先关闭kimi_chat,再启动" \
--execute

这时候会输出执行日志:

=============EXECUTE==================
2024-04-17 16:33:57.882 | INFO     | autocoder.utils.llm_client_interceptors:token_counter_interceptor:16 - Input tokens count: 1372, Generated tokens count: 146
steps=[ExecuteStep(code='byzerllm undeploy --model kimi_chat', lang='bash', total_steps=-1, current_step=-1, cwd=None, env=None, timeout=None, ignore_error=False), ExecuteStep(code='byzerllm deploy --pretrained_model_type saas/official_openai --cpus_per_worker 0.001 --gpus_per_worker 0 --num_workers 2 --infer_params "saas.api_key=${MODEL_KIMI_TOKEN} saas.base_url=\'https://api.moonshot.cn/v1\' saas.model=moonshot-v1-32k" --model kimi_chat', lang='bash', total_steps=-1, current_step=-1, cwd=None, env=None, timeout=None, ignore_error=False)]
Shell Command:
byzerllm undeploy --model kimi_chat
Output:
Command Line Arguments:


--------------------------------------------------


command             : undeploy


ray_address         : auto


model               : kimi_chat


file                : None


--------------------------------------------------


模型 kimi_chat 卸载成功


Error: 2024-04-17 16:34:02,439  INFO worker.py:1540 -- Connecting to existing Ray cluster at address: 127.0.0.1:6379...


2024-04-17 16:34:02,450 INFO worker.py:1715 -- Connected to Ray cluster. View the dashboard at 127.0.0.1:8265 


--------------------
Shell Command:
byzerllm deploy --pretrained_model_type saas/official_openai --cpus_per_worker 0.001 --gpus_per_worker 0 --num_workers 2 --infer_params "saas.api_key=${MODEL_KIMI_TOKEN} saas.base_url='https://api.moonshot.cn/v1' saas.model=moonshot-v1-32k" --model kimi_chat
Output:

可以看到系统自动执行了两条命令。最后我们来测试下:

auto-coder doc query \
--file ~/model.yml \
--query "查询 kimi_chat,输入: 你好" \
--execute

输出如下:

============RESPONSE==================




2024-04-17 17:04:04.177 | INFO     | autocoder.utils.llm_client_interceptors:token_counter_interceptor:16 - Input tokens count: 0, Generated tokens count: 0
使用以下命令查询模型模板 kimi_chat,并输入内容“你好”:


byzerllm query --model kimi_chat --query '你好'


=============CONTEXTS==================
/Users/allwefantasy/projects/doc_repo/deploy_models/run.sh
/Users/allwefantasy/projects/doc_repo/deploy_models/run.txt




=============EXECUTE==================
2024-04-17 17:04:16.264 | INFO     | autocoder.utils.llm_client_interceptors:token_counter_interceptor:16 - Input tokens count: 1139, Generated tokens count: 67
steps=[ExecuteStep(code="byzerllm query --model kimi_chat --query '你好'", lang='shell', total_steps=1, current_step=1, cwd=None, env=None, timeout=None, ignore_error=False)]
Shell Command:
byzerllm query --model kimi_chat --query '你好'
Output:
Command Line Arguments:


--------------------------------------------------


command             : query


ray_address         : auto


model               : kimi_chat


query               : 你好


template            : auto


file                : None


--------------------------------------------------


你好!有什么我可以帮助你的吗?


Error: 2024-04-17 17:04:20,547  INFO worker.py:1540 -- Connecting to existing Ray cluster at address: 127.0.0.1:6379...


2024-04-17 17:04:20,562 INFO worker.py:1715 -- Connected to Ray cluster. View the dashboard at 127.0.0.1:8265 


--------------------

终于告别各种复制黏贴执行命令啦。

这个功能背后的逻辑其实很简单:

  1. 用 AutoCoder 构建知识库,我把我之前包含了启动脚本的那个文本灌进了知识库。

  2. AutoCoder会根据知识库的内容来生成对我的回复,然后执行。AutoCoder 支持 Shell/Python的自动执行。

更多信息参考这篇文章:https://zhuanlan.zhihu.com/p/693000407

欢迎关注 AutoCoder: https://github.com/allwefantasy/auto-coder

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值