项目介绍:Ask ChatGPT
项目概述
Ask ChatGPT 是一个人工智能驱动的助手 Gem,专为 Ruby on Rails 开发者打造。通过在 Rails 控制台中使用这个工具,可以有效地提升开发体验。它能够帮助开发者简化编码流程、轻松重构和改进代码,甚至能自动生成测试用例。无论是代码改进、错误排查还是快速获取代码示例,Ask ChatGPT 都能够大幅提高开发效率。
主要功能
- 智能询问:通过
gpt.ask
等方法,可以询问项目相关的复杂问题,获取有效的代码建议。例如,询问如何从特定国家获取用户的最大年龄。 - 代码重构:使用
gpt.improve
或gpt.refactor
,可以在控制台中重构已有代码,提升其可读性和性能。 - 测试生成:自动生成 RSpec 和单元测试,支持常规代码测试和模型测试,例如
gpt.rspec_test(User)
。 - 语音输入:最新更新支持语音输入,开发者可以通过语音与助手互动,体验更便捷的使用方式。
- 指令行工具:Ask ChatGPT 还提供了 CLI 工具,开发者可以在命令行中运行类似
ask_chatgpt
的命令进行快速询问运算或编码任务。 - 代码解释与代码审查:帮助解释复杂的代码结构,并审查代码质量。
- JSON 解析和编码:能够解析 JSON,或将字符串编码为 Base64 格式。
安装步骤
为了使用 Ask ChatGPT,开发者需在项目的 Gemfile 中加入如下行:
gem "ask_chatgpt"
然后执行:
$ bundle
或者使用命令行直接安装:
$ gem install ask_chatgpt
设置与配置
通过运行 rails g ask_chatgpt initializer
可以初始化配置。开发者可以自定义访问 OpenAI 的 API Key 并设置其他参数,例如同步/异步模式、Markdown 响应格式、调试模式等。这里也提供了注册自定义提示功能,开发者可以根据需要创建新的交互。
Debug 模式
Debug 模式能够让开发者看到与 OpenAI 的请求和响应内容,便于调试与分析。可以通过配置文件或直接在控制台中开启或关闭 Debug 模式。
语音输入功能
这是一个实验性的功能,通过命令 gpt.speak
可以使用语音输入方式。需要安装 ffmpeg
来支持音频录制,并根据设备列表配置适合的音频设备 ID。
CLI命令使用
开发者可以在命令行中,通过简单的命令快速与 ChatGPT 进行交互。例如,通过命令 ask_chatgpt -q "如何解析 Ruby 中的 JSON 文件?"
提出具体问题,或通过 ask_chatgpt -s 1
开启语音输入。
灵活的提示配置
可以通过 .register_prompt
自定义新提示。例如,可以在代码中注册一个用于提取电子邮件的提示,并后续在交互中使用。
config.register_prompt :extract_email do |arg|
"从以下内容中提取电子邮件: #{arg},并转换为 JSON 格式"
end
商业合作与贡献
本项目支持开源社区,欢迎开发者提出新的提示或对现有内容进行改进建议。通过克隆仓库并在测试环境中运行 Rails 控制台来体验或测试新的创意。
使用许可
Ask ChatGPT 遵循 MIT 许可证,开放源代码,鼓励贡献和再开发。开发者可以自由地使用和分发这个工具,促进社区的共同发展。