如何实现一个基于CLI终端的AI 聊天机器人?

我开源了一个简单的示例教程程序,按照教程,你可以手把手实现一个在命令行可以运行的AI聊天机器人。

开源地址:github.com/XiaomingX/u...

本教程将指导你如何在终端中运行一个基于 OpenAI API 的 AI 聊天机器人。通过简单的安装和设置,你可以随时在终端中与 AI 聊天。


系统要求

在开始之前,请确保满足以下系统要求:


安装步骤

1. 克隆代码库

首先,克隆项目代码库并进入项目目录:

bash 复制代码
git clone <repository_url>
cd command-ai

2. 安装项目

使用 pip 命令安装 ai 命令行工具:

erlang 复制代码
pip install .

3. 设置 OpenAI API 密钥

将你的 OpenAI API 密钥添加到环境变量中:

ini 复制代码
export OPENAI_API_KEY="sk-..."  # 将 "sk-..." 替换为你的实际密钥

提示 :你可以将此命令添加到 ~/.bashrc 或 ~/.zshrc 文件中,以便在每次启动终端时自动加载。


使用方法

启动聊天机器人

在终端中运行以下命令启动聊天机器人:

复制代码
ai

随后,你可以输入问题或指令,AI 将根据输入内容生成响应。例如:

makefile 复制代码
>>> 你好,你是谁?↩
AI: 我是一个 AI 助手,很高兴为你提供帮助!

可用命令

在聊天过程中,可以使用以下命令来管理对话:

  • /help:查看可用命令列表
  • /exit:退出程序
  • /log:查看当前对话记录
  • /save:将对话记录保存到文件
  • /clear:清空所有对话记录
  • /forget:忘记上一条消息
  • /context:显示当前聊天上下文

自定义上下文

你可以在 ~/.ai/context.txt 文件中添加上下文,作为 AI 响应时的系统提示。

示例文件内容:

复制代码
以下是与 AI 助手的对话。助手乐于助人、富有创意、聪明且非常友好。

命令参数

运行 ai 命令时,可以附加以下参数进行配置:

  • -m, --model :指定要使用的模型 ID(如 gpt-4 或 gpt-3.5-turbo)。查看可用模型:OpenAI 模型列表。
  • -M, --max_tokens:指定生成答案的最大令牌数(默认:4096 减去输入令牌数)。
  • -t, --temperature:调整响应的随机性(范围 0-2,较高的值生成更随机的响应,较低的值生成更确定的响应)。

更多参数信息,请参阅 OpenAI API 文档。


示例

以下是一个完整的聊天示例:

shell 复制代码
% ai
输入 "/help" 查看可用命令。

>>> 奇点什么时候会发生?

AI: 预测奇点确切发生的时间非常困难,因为这取决于多种因素,并且在人工智能领域的专家中仍在进行着持续的辩论和猜测。然而,一些估计表明,随着技术的不断加速,奇点可能会在未来几十年内发生。

>>> 翻译成日语。

AI: シンギュラリティがいつ起こるかを正確に予測することは難しいため、人工知能の専門家たちの間でも議論や予測が続いています。ただし、技術の進歩が前例のない速度で進んでいることを考慮すると、数十年以内に起こる可能性があるとされています。

>>> /exit

AI: 再见!

总结

通过本教程,你可以在终端中快速安装并使用 AI 聊天机器人。如果在使用过程中遇到任何问题,请随时参考 OpenAI 文档或提问。

祝你使用愉快!

相关推荐
花间相见7 小时前
【计算基础|Redis02】【上手】五大数据类型命令逐条实操
数据库·redis·后端
GISer_Jing7 小时前
AI Agent秋招面试万字通关指南|架构、ReAct、上下文工程、RAG、评测、生产运维全解
后端·ai·langchain
Moment8 小时前
AI 编程时代,聊聊我的 Mac mini 双屏桌面
前端·后端
学长毕设9 小时前
基于SpringBoot的游乐园管理系统-附源码
java·spring boot·后端
橙序员小站9 小时前
Windows 安装包反复报错?一次排查补上了 5 个 CI 检查点
后端
陈随易9 小时前
Cloudflare 出钱,Vite 团队挑人,44 个维护者分 30 万美元
前端·后端·程序员
SimonKing9 小时前
震惊:怎么回事,opencode一轮对话耗尽免费额度
java·后端·程序员
张彦峰ZYF10 小时前
功能齐了不等于能上线:智能工单系统的AI回归测试、安全防护、成本可观测与CI/CD生产部署
后端·企业智能工单系统·评测线·安全线·成本线·部署线
Rain的Java大神之路10 小时前
LeetCode 37 解数独面试攻略:回溯 + 位掩码 + MRV,从暴力到毫秒级求解
java·后端·leetcode
量化分析码农10 小时前
【Python量化波动率实战 05】你的组合真的分散了吗:滚动相关与分散化收益
后端