LlamaIndex Chat
创建了解你数据的聊天机器人
欢迎来到LlamaIndex Chat。你可以创建并分享了解你数据(PDF或文本文档)的LLM聊天机器人。
开始使用LlamaIndex Chat非常简单。访问https://chat.llamaindex.ai - 这是LlamaIndex Chat的托管版本,无需用户认证,可立即开始使用。
🚀 特性
LlamaIndex Chat是LlamaIndexTS的一个示例聊天机器人应用。 你可以:
- 使用提示工程创建机器人并与其他用户分享。
- 通过使用UI或直接编辑./app/bots/bot.data.ts文件来修改演示机器人。
- 通过上传文档或生成新的数据源来集成你的数据。
⚡️ 快速开始
本地开发
要求:NodeJS 18
- 克隆仓库
git clone https://github.com/run-llama/chat-llamaindex
cd chat-llamaindex
- 准备项目
pnpm install
pnpm run create-llama
注意:最后一步从create-llama项目复制聊天UI组件和文件服务器路由,详见./create-llama.sh。
- 设置环境变量
在.env.development.local
中编辑环境变量。特别检查你的OPENAI_API_KEY
。
- 运行开发服务器
pnpm dev
🐳 Docker
你可以使用Docker进行LlamaIndex Chat的开发和部署。
构建Docker镜像
docker build -t chat-llamaindex .
在Docker容器中运行
docker run -p 3000:3000 --env-file .env.development.local chat-llamaindex
Docker Compose
对于喜欢使用Docker Compose的人,我们提供了docker-compose.yml文件。使用Docker Compose运行:
docker compose up
在你的网络浏览器中访问http://localhost:3000。
注意:默认情况下,Docker Compose设置将主机机器上的cache
和datasources
目录映射到Docker容器中,确保数据在容器重启之间持久化和可访问。
Vercel部署
部署到Vercel非常简单;点击下面的按钮并按照说明操作:
如果你部署到Vercel Hobby账户,请将运行时间更改为10秒,因为这是免费计划的限制。
如果你想使用分享功能,则需要创建一个Vercel KV存储并将其连接到你的项目。 只需按照快速入门中的这一步操作即可。无需进行其他配置,因为应用程序会自动使用连接的KV存储。
🔄 分享
LlamaIndex Chat支持通过URL分享机器人。演示机器人是只读的,不能被分享。但你可以创建新的机器人(或克隆并修改演示机器人),然后在上下文菜单中调用分享功能。它将创建一个唯一的URL,你可以与他人分享。打开URL后,用户可以直接使用共享的机器人。
📀 数据源
该应用为每个机器人使用一个附加了VectorStoreIndex
的ChatEngine
。
根目录中的cache
文件夹用作每个VectorStoreIndex
的存储。
cache
文件夹中的每个子文件夹包含一个VectorStoreIndex
的数据。要设置机器人使用的VectorStoreIndex
,请在机器人数据中使用子文件夹的名称作为datasource
属性。
注意:要使用更改后的机器人,你必须清除本地存储。否则,仍将使用旧的机器人。你可以通过打开开发者工具并在控制台中运行
localStorage.clear()
来清除本地存储,然后重新加载页面。
生成数据源
要生成新的数据源,请在datasources
目录中创建一个新的子文件夹,并添加数据文件(例如PDF)。
然后,通过运行以下命令为数据源创建VectorStoreIndex
:
pnpm run generate <datasource-name>
其中<datasource-name>
是包含数据文件的子文件夹的名称。
注意:在Windows上,请使用
pnpm run generate:win <datasource-name>
。
🙏 致谢
感谢@Yidadaa的ChatGPT-Next-Web项目,它被用作本项目的起始模板。