如何实现一个基于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-4gpt-3.5-turbo)。查看可用模型:OpenAI 模型列表
  • -M, --max_tokens:指定生成答案的最大令牌数(默认:4096 减去输入令牌数)。
  • -t, --temperature:调整响应的随机性(范围 0-2,较高的值生成更随机的响应,较低的值生成更确定的响应)。

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


示例

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

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

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

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

>>> 翻译成日语。

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

>>> /exit

AI: 再见!

总结

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

祝你使用愉快!

相关推荐
Nicander8 分钟前
多数据源下@transcation事务踩坑
java·后端
郑州光合科技余经理13 分钟前
同城O2O海外版二次开发实战:从支付网关到配送算法
开发语言·前端·后端·算法·架构·uni-app·php
sjsjsbbsbsn1 小时前
大模型核心知识总结
java·人工智能·后端
Moment2 小时前
2026 年,AI 全栈时代到了,前端简历别再只写前端技术了 🫠🫠🫠
前端·后端·面试
白晨并不是很能熬夜3 小时前
【PRC】第 2 篇:Netty 通信层 — NIO 模型 + 自定义协议 + 心跳
java·开发语言·后端·面试·rpc·php·nio
zshs0003 小时前
#从偶发无字幕到补偿探测链路:一次 B 站字幕导入问题的完整收敛过程
java·后端·重构
IT_陈寒3 小时前
JavaScript里这个隐式类型转换的坑,我终于爬出来了
前端·人工智能·后端
掘金者阿豪4 小时前
Django接金仓数据库:我踩过的坑和填坑指南
后端
_风满楼4 小时前
HTTP 请求的五种传参方式
前端·javascript·后端
码事漫谈4 小时前
为什么 token 计费规则里,输出比输入贵那么多
后端