This project is a starter for creating a chatbot using Astra DB. It's designed to be easy to deploy and use, with a focus on performance and usability.
- Astra DB Integration: Store and retrieve data from your Astra DB database with ease.
- LangChain.js Integration: Uses the new Astra DB vectorstore to implement RAG.
- Easy Deployment: Deploy your chatbot to Vercel with just a few clicks.
- Customizable: Modify and extend the chatbot to suit your needs.
- An Astra DB account. You can create one here.
- An Astra Vector Database
- An OpenAI Account and API key.
- A Cohere Account and API key. Note that due to the large volume of ingested data, you'll need a paid plan.
- Clone this repository to your local machine.
- Install the dependencies by running
npm install
in your terminal. - Set up the following environment variables in your IDE or
.env
file:ASTRA_DB_ENDPOINT
: Your Astra DB vector database id in a vector-enabled DBASTRA_DB_APPLICATION_TOKEN
: The generated app token for your Astra database- To create a new token go to your database's
Connect
tab and clickGenerate Token
. (your Application Token begins withAstraCS:...
)
- To create a new token go to your database's
OPENAI_API_KEY
: Your OpenAI API key.COHERE_API_KEY
: Your Cohere API key for embeddings.LANGCHAIN_TRACING_V2
(optional): Set totrue
to enable tracingLANGCHAIN_SESSION
(optional): The LangSmith project that will receive traced runs.LANGCHAIN_API_KEY
(optional): LangSmith API key
- Populate your database by following the instructions here
To start the development server, run npm run dev
in your terminal. Open http://localhost:3000 to view the chatbot in your browser.
You can easily deploy your chatbot to Vercel by clicking the button below:
Remember to set your environment variables to the values obtained when setting up your Astra DB and OpenAI accounts.