- Node.js >= 18
- OpenAI API Key
- Chroma DB
- Clone the repository
git clone https://github.com/sivanzheng/chat-bot.git
- Navigate to the project directory and install the dependencies
cd chat-bot
npm install
- Create a
.env
file in the project directory and add the following lines:
OPENAI_API_KEY=your-api-key-here
PROXY_PATH=proxy-path-for-openai
CHROMA_DB_PATH=chroma-db-path
ENABLE_PROXY=is-proxy-enabled
- Build the project
npm run build
- Start the server
npm run start
- Upload a document to the bot
curl --location --request POST 'http://localhost:3000/file/upload' \
--form 'file=@"xxxx.pdf"'
- Parse the document
curl --location --request POST 'http://localhost:3000/document/parse' \
--header 'Content-Type: application/json' \
--data-raw '{
"fileId": "xxxxxxxxxx",
"collectionName": "test-docs"
}'
Stream the bot's response you should create an EventSource, like the following example:
const source = new EventSource('http://localhost:3000/dialog?topic={test-docs}&question={question}&history={[history]}')
source.onmessage = function(event) {
console.log('Received event:', event.data)
}
This project is licensed under the MIT License - see the LICENSE file for details.