{"id":24972983,"url":"https://github.com/weaviate-tutorials/next-multimodal-search-demo","last_synced_at":"2025-04-11T07:48:29.514Z","repository":{"id":218514647,"uuid":"745580396","full_name":"weaviate-tutorials/next-multimodal-search-demo","owner":"weaviate-tutorials","description":"a Weaviate multimodal search demo","archived":false,"fork":false,"pushed_at":"2024-06-26T16:03:11.000Z","size":112168,"stargazers_count":9,"open_issues_count":2,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T05:25:20.863Z","etag":null,"topics":["generative-ai","imagebind","multimodal","nextjs","search","vector-database","weaviate","weaviate-starter"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weaviate-tutorials.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-19T16:39:12.000Z","updated_at":"2025-01-02T11:04:21.000Z","dependencies_parsed_at":"2024-06-26T19:39:52.946Z","dependency_job_id":null,"html_url":"https://github.com/weaviate-tutorials/next-multimodal-search-demo","commit_stats":null,"previous_names":["malgamves/next-multimodal-search-demo","weaviate-tutorials/next-multimodal-search-demo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate-tutorials%2Fnext-multimodal-search-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate-tutorials%2Fnext-multimodal-search-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate-tutorials%2Fnext-multimodal-search-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate-tutorials%2Fnext-multimodal-search-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weaviate-tutorials","download_url":"https://codeload.github.com/weaviate-tutorials/next-multimodal-search-demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248359605,"owners_count":21090557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["generative-ai","imagebind","multimodal","nextjs","search","vector-database","weaviate","weaviate-starter"],"created_at":"2025-02-03T18:11:04.958Z","updated_at":"2025-04-11T07:48:29.493Z","avatar_url":"https://github.com/weaviate-tutorials.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## This is a Multimodal Search demo built with [Weaviate](https://weaviate.io), [ImageBind](https://imagebind.metademolab.com/)/ [Vertex AI](https://cloud.google.com/vertex-ai) and [Next.js](https://nextjs.org/) \n\n👨🏾‍🍳 Blogpost - [Building Multimodal AI in TypeScript\n](https://weaviate.io/blog/multimodal-search-in-typescript)\n\n![Alt text](multi-model-search.png)\n\n## 🐥 Getting Started\n\nFirst, clone the project with the command below\n\n```bash\ngit clone https://github.com/weaviate-tutorials/next-multimodal-search-demo\n```\n\nThe repository lets you do three things\n\n1. Run the Next.js Web App.\n2. Run an instance of Weaviate OR create a Weaviate Sandbox\n3. Import images, audio and videos into your Weaviate database.\n\n\n\n### 🏗️ Running Weaviate  (using ImageBind)\n\u003e Note that the first time you run it, Docker will download ~4.8GB multi2vec-bind Weaviate module, which contains the ImageBind model.\n\nTo start the Weaviate instance, run the following command, which will use the `docker-compose.yml` file.\n```bash\ndocker compose up -d\n```\n\n### 🏗️ Create a Weaviate Instance (Using Vertex AI)\n\nCreate a Weaviate instance on Weaviate Cloud Services as described in [this guide](https://weaviate.io/developers/weaviate/quickstart#step-2-create-an-instance)\n\n### 🦿 Create a `.env` file and add the following keys\n\n- your Google Vertex API key as `GOOGLE_API_KEY` (you can get this in your [Vertex AI settings](https://console.cloud.google.com/apis/credentials))\n- your Weaviate API key as `WEAVIATE_ADMIN_KEY` (you can get this in your [Weaviate dashboard](https://console.weaviate.cloud/dashboard) under sandbox details)\n- your Weaviate host URL as `WEAVIATE_HOST_URL` (you can get this in your [Weaviate dashboard](https://console.weaviate.cloud/dashboard) under sandbox details)\n\n\n### 📩 Importing Data\n\u003e Before you can import data, add any files to their respective media type in the `public/` folder. \n\nWith your data in the right folder, run `yarn install` to install all project dependencies and to import your data into Weaviate and initialize a collection, run:\n\n```bash\nyarn run import\n```\n\nthis may take a minute or two.\n\n\n### 🚀 Running your Next.js Application.\n\u003e Make sure you have your Weaviate instance running with data imported before starting your Next.js Web App.\n\nTo run the Web App\n```bash\nyarn dev\n```\n\n... and you can search away!! \n\n\n### 📚 Resources\n\nLearn more about multimodal applications\n- [Multimodal Retrieval Augmented Generation(RAG)](https://weaviate.io/blog/multimodal-rag)\n- [Multimodal Embedding Models](https://weaviate.io/blog/multimodal-models)\n\n\n### 🤷🏾‍♂️ Troubleshooting\n\n- Check out the [Weaviate Docs](https://weaviate.io/developers/weaviate)\n- [Open an Issue](https://github.com/malgamves/next-multimodal-search-demo/issues)\n\n\nSome credit goes to Steven for his [Spirals template](https://github.com/steven-tey/spirals)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaviate-tutorials%2Fnext-multimodal-search-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweaviate-tutorials%2Fnext-multimodal-search-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaviate-tutorials%2Fnext-multimodal-search-demo/lists"}