如何实现一个基于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 文档或提问。

祝你使用愉快!

相关推荐
H5css�海秀5 小时前
今天是自学大模型的第一天(sanjose)
后端·python·node.js·php
SuniaWang5 小时前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
韩立学长5 小时前
Springboot校园跑腿业务系统0b7amk02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
sheji34165 小时前
【开题答辩全过程】以 基于springboot的扶贫系统为例,包含答辩的问题和答案
java·spring boot·后端
代码栈上的思考6 小时前
消息队列:内存与磁盘数据中心设计与实现
后端·spring
程序员小假7 小时前
我们来说一下 b+ 树与 b 树的区别
java·后端
Meepo_haha7 小时前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
sheji34167 小时前
【开题答辩全过程】以 基于springboot的房屋租赁系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
Victor3568 小时前
MongoDB(57)如何优化MongoDB的查询性能?
后端
Victor3568 小时前
MongoDB(58)如何使用索引优化查询?
后端