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

news2024/11/26 18:48:06

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1604252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何进行数据库的迁移与同步——【DBA 从入门到实践】第四期

在日常的数据库运维工作中,我们时常会面临数据库替换、机房搬迁、业务测试以及数据库升级等任务,这些任务都需要对数据进行迁移和同步操作。【DBA 从入门到实践】第4期,将引导大家深入了解数据库迁移的流程,并探讨在迁移过程中可用…

设计模式胡咧咧之策略工厂实现导入导出

策略模式(Strategy Pattern) 定义: 定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。 本质: 分离算法,选择实现 应用场景 何时使用 一个系统有许多类,而区分他们的只是他们直接…

Python与数据库交互的最佳实践

Python作为一种强大且易于学习的编程语言,在数据处理和应用程序开发方面具有广泛的应用。在构建涉及数据存储和检索的应用程序时,Python与数据库的交互成为关键的一环。本文将深入探讨Python与数据库交互的最佳实践,帮助读者更好地理解和应用…

软考 系统架构设计师系列知识点之大数据设计理论与实践(10)

接前一篇文章:软考 系统架构设计师系列知识点之大数据设计理论与实践(9) 所属章节: 第19章. 大数据架构设计理论与实践 第3节 Lambda架构 19.3.5 Lambda架构优缺点 1. 优点 (1)容错性好 Lambda架构为大数…

你信不信,五分钟快速学习Nginx

Nginx是什么? Nginx 是一个高性能的HTTP和反向代理服务器。它是由俄罗斯程序员Igor Sysoev开发的,最初是为了解决俄罗斯大型的门户网站的高流量问题。 说到反向代理,那么有没有正向代理呢? 正向代理:客户端非常明确要…

二叉树的中序遍历 - LeetCode 热题 36

大家好!我是曾续缘😃 今天是《LeetCode 热题 100》系列 发车第 36 天 二叉树第 1 题 ❤️点赞 👍 收藏 ⭐再看,养成习惯 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输…

考研数学|《1800》《660》《880》如何选择和搭配?(附资料分享)

直接说结论:基础不好先做1800、强化之前660,强化可选880/1000题。 首先,传统习题册存在的一个问题是题量较大,但难度波动较大。《汤家凤1800》和《张宇1000》题量庞大,但有些题目难度不够平衡,有些过于简单…

图神经网络推荐系统

链接(何向南教授):https://hexiangnan.github.io/papers/wsdm22-tutorial-proposal.pdf 摘要: 近年来,图神经网络(graph neural network, GNN)以其强大的结构化数据处理能力和对高阶信息的挖掘能力,成为许…

全格式播放器哪个好?分享好用的播放器

全格式播放器哪个好?在数字化时代,全格式播放器的重要性日益凸显。它们凭借强大的兼容性和高效的解码能力,让我们能够轻松应对各种音视频格式的播放需求。无论是观看高清电影、欣赏高品质音乐,还是处理工作中的多媒体文件&#xf…

idea中停止运行Vue

在里面敲入Ctrlc 输入y确定即可。

【Proteus】51单片机对直流电机的控制

直流电机:输出或输入为直流电能的旋转电机。能实现直流电能和机械能互相转换的电机。把它作电动机运行时是直流电动机,电能转换为机械能;作发电机运行时是直流发电机,机 械能转换为电能。 直流电机的控制: 1、方向控制…

中国隧道空间分布

中国隧道空间分布数据,包含2020年全国大部分地区16000余条隧道分布点位数据,数据包括市名称、区县名称、隧道名称和隧道经纬度。数据包含shp和EXCEl两种格式,部分隧道空间位置有偏移。 欢迎大家关注、收藏和留言,如果您想要什么数…

文化=知识+素质!电动车限制多!——早读(逆天打工人爬取热门微信文章解读)

你是一个有文化的人! 引言Python 代码第一篇 洞见 一个人有没有文化,就看这五点第二篇 人民日报 来啦 新闻早班车要闻社会政策 结尾 知耻近乎勇 文化教会我们自省 以羞耻心为镜 照见自我 不断向善向上。 引言 绝了 昨天晚上早早上床 10点左右就睡眠模…

【刷题笔记】第八天

文章目录 [928. 尽量减少恶意软件的传播 II](https://leetcode.cn/problems/minimize-malware-spread-ii/)方法1:dfs方法2:并查集 [GCD and LCM](https://vjudge.net.cn/problem/Aizu-0005)[Missing Bigram](https://vjudge.net.cn/problem/CodeForces-1…

三步教你怎么把icloud照片恢复至iphone!

“我手机里面照片被优化后,然后不小心把所有被优化的模糊照片从手机中删除了,但是iCloud还有,我应该怎样把iCloud的照片重新放回手机?谢谢。” 在使用iPhone时,iCloud照片库是一个非常方便的功能,它允许你在…

【SVG】从零开始绘制条形图

效果图 定义背景色和坐标轴颜色 :root {--cord-color: #2be7ca; }body {background-color: #000;}画坐标轴 画X轴 <!-- 坐标轴 --> <g id"cordinate"><!-- x轴 --><line x1"50" y1"600" x2"900" y2"600&q…

博弈论和sg函数

Nim游戏 题目链接&#xff1a;Nim游戏 先说结论&#xff1a;假设n堆石子&#xff0c;石子数分别为a1,a2,a3.....&#xff0c;则当a1^a2^a3^...^an0时先手必败&#xff0c;否则先手必胜。 因为所表示的二进制位必定是成对出现的&#xff0c;根据性质 1 ^ 1 0 &#xff0c;0 …

MyBatis 源码分析 - 缓存原理

MyBatis 源码分析 - 缓存原理 1.简介 在 Web 应用中&#xff0c;缓存是必不可少的组件。通常我们都会用 Redis 或 memcached 等缓存中间件&#xff0c;拦截大量奔向数据库的请求&#xff0c;减轻数据库压力。作为一个重要的组件&#xff0c;MyBatis 自然也在内部提供了相应的…

量子密钥分发系统的设计与实现(二):光路子系统初步讨论

通过上一篇文章&#xff0c;我们对量子密钥分发系统的基本架构、硬件结构以及密钥分发流程进行了初步的总体介绍&#xff0c;从本文开始&#xff0c;我们就基于系统顶层的架构设计&#xff0c;开始从模块到器件&#xff0c;从硬件到软件开始详细讨论QKD系统的设计与实现。本文主…

【转】这些年背过的面试题——网络和操作系统基础篇

转自&#xff1a;阿里巴巴技术质量 阿里云开发者 阿里妹导读 本文是技术人面试系列网络和操作系统基础篇&#xff0c;面试中关于网络和操作系统基础都需要了解哪些内容&#xff1f;一文带你详细了解&#xff0c;欢迎收藏&#xff01; 网络基础 TCP三次握手 三次握手过程&…