vs网站界面是什么做的,梧州论坛一红豆社区,英文网站建设详细方案,百度网站排名关键词整站优化ShellGPT 配置安装常用功能聊天写命令并执行 高级功能函数调用角色管理 总结 这两天突然想到#xff0c;现有的很多工具都在被大模型重构#xff0c;比如诞生了像perplexity.ai 这种新交互形式的搜索引擎#xff0c;就连wps也推出了AI服务#xff0c;甚至都可以直接生成ppt… ShellGPT 配置安装常用功能聊天写命令并执行 高级功能函数调用角色管理 总结 这两天突然想到现有的很多工具都在被大模型重构比如诞生了像perplexity.ai 这种新交互形式的搜索引擎就连wps也推出了AI服务甚至都可以直接生成ppt我就想是不是shell也有类似的工具可以帮忙写脚本然后我就在网上检索了下起初发现了wrap这个软件它虽然有ai交互的功能但也不是我想要的后来就检索到了ShellGPT这个工具试用了半天发现很好用这里写个简单的介绍教程并推荐给大家。 ShellGPT是个开源软件其github地址是https://github.com/TheR1D/shell_gpt它可以帮助你快速生成 shell 命令、代码片段和文档无需再依赖外部资源如 Google 搜索。
配置安装 ShellGPT 支持 Linux、macOS、Windows 等操作系统并兼容 PowerShell、CMD、Bash、Zsh 等主流 Shell。ShellGPT的安装很简单直接使用pip即可
pip install shell-gpt但配置相对复杂一些主要是它必须依赖于外部大语言模型(LLM)它默认是依赖于openai 第三方模型也支持我们就以openai配置为例介绍下如何将ShellGPT配置运行起来。 因为它依赖于openai的接口所以你必须申请到openai的API KEY可以在这里申请https://platform.openai.com/account/api-keys然后需要在环境变量里设置好OPENAI_API_KEY 这个值配置好openai key之后其实就已经可以运行了它的命令是sgpt如下 sgpt 介绍下你自己
我是ShellGPT您的编程和系统管理助手。我在管理Darwin/MacOS 10.16操作系统使用zsh
shell。我可以帮助您执行Shell命令管理系统设置解决问题并提供有关编程和系统管理的建议。有什么我可以帮助您的
吗它也提供了一些高级配置配置文件在 ~/.config/shell_gpt/.sgptrc具体的含义如下
CHAT_CACHE_PATH/var/folders/qt/945fyfdj52x11956lkf15pzw0000gn/T/chat_cache # 聊天的缓存路径
CACHE_PATH/var/folders/qt/945fyfdj52x11956lkf15pzw0000gn/T/cache
CHAT_CACHE_LENGTH100 # 缓存大小
CACHE_LENGTH100
REQUEST_TIMEOUT60 # 聊天超时时间
DEFAULT_MODELgpt-3.5-turbo # 默认的模型这里我为了省钱切换成gpt3.5了
DEFAULT_COLORmagenta # 默认颜色
ROLE_STORAGE_PATH/Users/xindoo/.config/shell_gpt/roles # 角色的存储路径
DEFAULT_EXECUTE_SHELL_CMDfalse # 是否自动执行shell建议设置成false当前gpt下shell命令的准确还是建议人工review下
DISABLE_STREAMINGfalse # 禁用流式响应
CODE_THEMEdracula # 代码主题
OPENAI_FUNCTIONS_PATH/Users/xindoo/.config/shell_gpt/functions # 函数调用的存储路径下文会详细介绍
OPENAI_USE_FUNCTIONStrue # 是否开启函数调用
SHOW_FUNCTIONS_OUTPUTfalse # 是否展示函数调用的执行结果
API_BASE_URLdefault # openai的服务地址如果你买了其他比如微软提供的接口或者其他兼容openai接口的模型都可以改这里
PRETTIFY_MARKDOWNtrue # 优先使用markdown格式返回
USE_LITELLMfalse常用功能
聊天 这是LLM最基础的功能了有了sgpt后你就可以实现在命令行里和GPT聊天的功能了以后摸鱼就不容易被发现了[狗头]。
sgpt 讲个关于程序员的冷笑话
为什么程序员喜欢雨天 因为下雨时他们可以在家里“云”端编程上面这种是单轮聊天如果想通过多轮聊天解决一些比较复杂的问题可以通过添加--repl Read–eval–print loop参数来开启循环响应模式。 sgpt --repl chat1 # chat1是我自定义的聊天id后续可以通过这个聊天id接着聊 你好
你好有什么可以帮助您的吗你是谁
我是ShellGPT您的编程和系统管理助手。您有什么问题或需要帮助的吗我之前问过你什么问题
您之前问过我关于我的身份和问候的问题。您还有其他问题需要我回答吗如果你不想通过循环相应模型repl只想单次接着之前的记录聊可以直接使用--chat 参数 sgpt --chat chat1 复述下我之前说的内容
你说你之前问过什么问题。写命令并执行 GPT诞生后它的编码能力就已经被验证过了当然写个脚本自然也不在话下如果你不知道某个命令如何写就可以直接让它帮你写出来。当然写命令所有的LLM基本上都可以实现但是在别的地方调用你还得把命令copy过来执行。而在sgpt下它自动帮你生成完你直接确认就可以执行了通过调整默认配置你甚至可以让他自动执行。 sgpt -s 统计下a.txt里有多少行文本包含关键词xindoo
grep -c xindoo a.txt
[E]xecute, [D]escribe, [A]bort: E #这里输入E确定执行D会解释这个命令A放弃执行
2 # 这里是命令的正常执行结果高级功能
函数调用 ShellGPT 允许 LLM 执行系统中的函数从而实现更复杂的功能。例如你可以使用函数播放音乐、打开网页或执行 shell 命令。在mac系统下官方已经准备好了执行shell和执行apple script的函数终端下执行sgpt --install-functions 就可以自动安装了之后开启函数调用就可以正常使用当然你也可以在~/.config/shell_gpt/functions路径下定义自己的函数调用只需要按照如下代码实现即可
# execute_shell_command.py
import subprocess
from pydantic import Field
from instructor import OpenAISchemaclass Function(OpenAISchema):Executes a shell command and returns the output (result).shell_command: str Field(..., examplels -la, descriptionsShell command to execute.)class Config:title execute_shell_commandclassmethoddef execute(cls, shell_command: str) - str:result subprocess.run(shell_command.split(), capture_outputTrue, textTrue)return fExit code: {result.returncode}, Output:\n{result.stdout}角色管理 ShellGPT也提供了角色管理的功能类似于openai提供的GPTS你可以创建自定义角色这些角色可以用来生成代码、执行shell命令或者满足用户的特定需求。通过使用--create-role选项并附上角色名称来创建一个新的角色。在创建过程中你需要为角色提供一个描述以及其他一些细节。这些信息会存储在 ~/.config/shell_gpt/roles 下。在这个目录中你还可以编辑默认的 sgpt 角色如 shell、code 和 default。使用 --list-roles 选项可以列出所有可用的角色而 --show-role 选项可以显示特定角色的详细信息。 这里我们创建一个角色它的功能就是将一个时间戳转换成yyyy-MM-dd HH:mm:s 的格式这里我们就可以这么去做。 sgpt --create-role timestamp_convertEnter role description: 将时间戳转化为yyyy-MM-dd HH:mm:s格式的时间其他不要返回 # 这里输入角色的系统提示词 ## 之后我们就可以通过--role来指定特定的角色执行我们的指令了sgpt --role timestamp_convert 1714484761FunctionCall execute_shell_command(shell_commanddate -r 1714484761 %Y-%m-%d %H:%M:%S) # 这里触发了函数调用
2024-04-30 21:46:01 # 这里就是我们想要的结果总结 由于文章篇幅的原因我挑选了大部内容做了介绍当然ShellGPT还有一些其他的细节需要大家自行去探索。其所有的参数都可以通过sgpt --help 查看完整的信息如下
分类参数命令缩写/其他参数描述默认值基本选项prompt用于生成完成的提示。--model使用的大型语言模型。gpt-4-1106-preview--temperature生成输出的随机性。0.0--top-p限制最高可能的token。1.0--md美化markdown输出。md--editor打开$EDITOR来提供提示。no-editor--cache缓存完成结果。cache--version显示版本。--help显示此消息并退出。辅助选项--shell-s生成并执行shell命令。--interaction--no-interactionshell选项的交互模式。interaction--describe-shell-d描述一个shell命令。--code-c仅生成代码。--functions--no-functions允许函数调用。functions聊天选项--chat跟随对话id进行会话使用temp进行快速会话。None--repl启动REPL读取-求值-打印循环会话。None--show-chat显示提供的聊天id的所有消息。None--list-chats-lc列出所有现有的聊天id。角色选项--roleGPT模型的系统角色。None--create-role创建角色。None--show-role显示角色。None--list-roles-lr列出角色。