This is a Vector Search, RAG and Multimodal Search demo built with Weaviate, Cohere, Open AI and Angular 18.
This repo should help get you started developing with Weaviate and Angular.
First, clone the project with the command below
git clone https://github.com/weaviate-tutorials/angular-search
The repository lets you do three things
- Run the Angular frontend and Nest.js backend.
- Create a Weaviate Sandbox
- Import images, audio and videos into your Weaviate database.
- Search 🔍
npm install -g @angular/cli@latest
npm i -g @nestjs/cli
Create a Weaviate instance on Weaviate Cloud Services as described in this guide
gcloud auth print-access-token
And update GOOGLE_API_KEY
in backend/.env
file.
Add .env
file to the backed folder with the following values:
export WEAVIATE_HOST_URL=your-weaviate-cloud-url
export WEAVIATE_ADMIN_KEY=your-weaviate-cloud-apikei
export WEAVIATE_READ_KEY=your-weaviate-cloud-apikei
export COHERE_API_KEY=your-cohere-key
export GOOGLE_API_KEY=your-google-vertex-key
note: you can skip
GOOGLE_API_KEY
if you are not going to use multimodal search.
- You can get your Google keys in your Vertex AI settings
- You can get your Weaviate details in your Weaviate dashboard under sandbox details
- You can get your Open AI keys in your Open AI settings
- You can get your Cohere keys in your Cohere settings
cd backend
Run in dev mode with livereload.
yarn start:dev
Before you can import data, add media files to their respective media type folder in the
public/assets
folder.
With your data in the right folder, run the backend and call http://localhost:3000/setup/createWiki
to create a collection and then http://localhost:3000/setup/importData
to import data.
This may take a minute or two.
cd frontend
ng serve -o
aaannd search away!!
Learn more about Weaviate applications
- Check out the Weaviate Docs
- Open an Issue