该存储库包含使用OpenAI API创建的高级聊天机器人,该聊天机器人利用长期内存,高级逻辑,嵌入式和数据库来提供真正独特的用户体验。与简单地基于预定义的规则或脚本响应用户输入的传统聊天机器人不同,该聊天机器人可以记住您在早期对话中所说的话,并以这些知识为基础,以提供更个性化和相关的响应。
聊天机器人的高级逻辑功能还意味着它可以处理更复杂的对话并提供更细微的响应,使您感觉就像您正在与真实的人聊天。此外,聊天机器人使用嵌入式和数据库来实现长期记忆,从而使其可以保留以前的对话中的信息,并使用该信息来为未来的互动提供信息。
为了确保安全的用户体验,聊天机器人还包括通过Google登录名来验证知识客户(KYC)身份验证。此功能验证用户的身份,并有助于防止欺诈和滥用。
此聊天机器人的关键功能之一是其灵活的提示。例如,默认提示旨在使聊天机器人像意大利老师一样行动,但是您可以轻松地修改提示,以适合您想到的任何其他用例。这使聊天机器人高度通用,并且可以适应广泛的用例。
使用OpenAI API的最新型号(GPT-3.5-Turbo)进行高级自然语言处理
通过嵌入和数据库实现的长期记忆
灵活的提示允许轻松自定义适合任何用例
高级逻辑功能可以实现更复杂的对话和细微的回答
通过Google登录kyc身份验证可确保安全的用户体验
可以轻松地集成到各种应用程序和平台中
如果您正在寻找一个超越简单脚本和规则的聊天机器人,并且可以提供更个性化和引人入胜的用户体验,同时还可以保持用户信息的安全性,则具有长期内存,高级逻辑和KYC身份验证的AI驱动聊天机器人是完美的解决方案!

要使用聊天机器人,您首先需要将此存储库克隆到本地计算机。您可以通过在终端中运行以下命令来执行此操作:
git clone https://github.com/FaustoNisida/AI-Chatbot-Long-Term-Memory thefolderofyourchoise
cd thefolderofyourchoise
接下来,您需要为客户端和服务器应用程序安装所有依赖项。为此,请首先导航到终端中的客户端目录:
cd client
然后,运行以下命令安装客户端依赖关系:
npm install --force
请注意,如果您在安装过程中遇到任何错误,则可能需要 - force标志。
接下来,导航到终端中的服务器目录:
cd ../server
然后,运行以下命令安装服务器依赖项:
npm install
安装依赖项后,您将需要在包含以下环境变量的客户端和服务器目录中创建.ENV文件:
OPENAI_API_KEY=<youropenaiapikey>
在这里创建您的OpenAi密钥
API_KEY=<yourcustomapikeyforaccessingtheserver>
您可以在API_KEY字段中放置任何选择的密码或键。
VITE_Api_Key=<yourcustomapikeyforaccessingtheserver>
VITE_Google_Client_id=<yourgoogleclientid>
在此处创建一个项目,然后在此处创建Google Client ID
为了确保正确配置您的Google客户端ID,必须在创建过程中包括以下来源:
授权的JavaScript起源:
授权重定向URI:


在VITE_Api_Key字段中,您必须将放置在API_KEY enviromental变量的api_key enviromental变量.env文件中放置相同的密码或键
现在您准备使用应用程序
打开终端窗口。
通过运行命令cd server导航到服务器目录。
通过运行命令npm run server来启动服务器。
服务器现在正在http:// localhost上运行:3000
默认情况下,聊天机器人设置为像意大利老师一样。但是,您可以轻松地修改提示,以适合您想到的任何其他用例。只需在服务器目录中的index.js文件的97行中编辑提示,以包括您所需的提示。
打开第二个终端窗口,而无需关闭当前运行客户端的终端。
通过运行命令cd client导航到客户端目录。
通过运行命令npm run dev来启动客户端。
客户端和服务器现在正在运行,您可以通过访问Web浏览器中的http:// localhost:5173访问应用程序。
享受用法!
建议存储支持向量搜索的数据库中的嵌入和输入和输出,例如编织或Pinecone。虽然本地JSON文件(为时间为此,我用于此项目)可以用作小规模项目或原型制作的数据库,但在处理嵌入式和相关数据时,使用专用数据库是最好的做法。
通过将嵌入和关联数据存储在矢量搜索数据库中,您可以在需要时轻松搜索和检索相关信息,而无需依靠更复杂且较慢的数据库查询。这可以显着提高聊天机器人的整体速度和效率,从而获得更好的用户体验。
请记住,尽管这些数据库可以提供重大的好处,但与传统数据库相比,它们也可能需要额外的设置和维护。在决定使用矢量搜索数据库之前,请考虑您的特定需求和资源。
如果您想为该项目做出贡献,请随时提交提议的更改。我们欢迎所有贡献,包括错误修复,新功能以及对文档的改进。
如果您对该项目有任何疑问或反馈,请随时与我们联系:
我们很乐意收到您的来信,并很乐意为您可能遇到的任何问题提供帮助。