{"id":24973024,"url":"https://github.com/weaviate-tutorials/awesome-moviate","last_synced_at":"2025-04-11T07:49:24.994Z","repository":{"id":205290521,"uuid":"713372366","full_name":"weaviate-tutorials/awesome-moviate","owner":"weaviate-tutorials","description":"awesome-moviate","archived":false,"fork":false,"pushed_at":"2024-05-02T13:14:19.000Z","size":88824,"stargazers_count":67,"open_issues_count":1,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-21T07:02:37.556Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CSS","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":"2023-11-02T11:43:17.000Z","updated_at":"2024-05-15T00:08:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"385f081a-165c-4f4f-8f3d-fc52fba1d48e","html_url":"https://github.com/weaviate-tutorials/awesome-moviate","commit_stats":null,"previous_names":["weaviate-tutorials/awesome-moviate"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate-tutorials%2Fawesome-moviate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate-tutorials%2Fawesome-moviate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate-tutorials%2Fawesome-moviate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaviate-tutorials%2Fawesome-moviate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weaviate-tutorials","download_url":"https://codeload.github.com/weaviate-tutorials/awesome-moviate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248359687,"owners_count":21090568,"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":[],"created_at":"2025-02-03T18:11:23.602Z","updated_at":"2025-04-11T07:49:24.971Z","avatar_url":"https://github.com/weaviate-tutorials.png","language":"CSS","funding_links":[],"categories":["Open Sources"],"sub_categories":[],"readme":"# Movie Search Engine\n\nThis is a demo of a movie search engine. This project is inspired by [Andrej Karpathy's weekend hack](https://twitter.com/karpathy/status/1647372603907280896) and is forked from this old project [weaviate/weaviate-examples/movies-search-engine](https://github.com/weaviate/weaviate-examples/tree/main/movies-search-engine).\n\n[![Weaviate](https://img.shields.io/static/v1?label=powered%20by\u0026message=Weaviate%20%E2%9D%A4\u0026color=green\u0026style=flat-square)](https://weaviate.io/) \n [![Docker support](https://img.shields.io/badge/Docker_support-%E2%9C%93-4c1?style=flat-square\u0026logo=docker\u0026logoColor=white)](https://docs.docker.com/get-started/) [![Demo](https://img.shields.io/badge/Check%20out%20the%20demo!-yellow?\u0026style=flat-square\u0026logo=react\u0026logoColor=white)](https://awesome-moviate.weaviate.io/)\n\n![Demo of Awesome Moviate](https://github.com/weaviate-tutorials/awesome-moviate/blob/main/awesome-moviate-demo.gif)\n\n\nThis project allows three types of searches over movies: keyword-based (BM25), semantic, and hybrid searches. Additionally, it retrieves similar movies to a selected one.\n\nRead more on the related [blog](https://towardsdatascience.com/recreating-andrej-karpathys-weekend-project-a-movie-search-engine-9b270d7a92e4).\n\n## Prerequisites\n* Docker\n* Python\n* Set the environment variables for your $OPENAI_API_KEY, $WEAVIATE_API_KEY, and $WEAVIATE_URL. If you are running Weaviate via Docker, the WEAVIATE_URL is \"http://localhost:8080\" and no WEAVIATE_API_KEY is needed.\n\n## Setup instructions\n\nFollow the following steps to reproduce the example \n1. Setup a virtual environment\n```bash\npython -m venv .venv             \nsource .venv/bin/activate\n``` \n\n2. Set your OPENAI_API_KEY in the docker-compose.yml file and  run the following command to run the weaviate docker file \n```bash\ndocker compose up -d\n``` \n\n3. Run the following command in directory to install all required dependencies \n```bash\npip install -r requirements.txt\n``` \n\n4. Run the following command to add all the data objects,you can change path of dataset at line 115 if necessary. You can also decrease the number of data objects at line 119 so that it takes less time.\n```bash\npython add_data.py\n``` \n5. After adding data run the following command to install all required node modules.\n```bash\nnpm install\n``` \n6. After adding data and installing modules run the following command and navigate to http://localhost:3000/ to perform searching\n```bash\nnpm run start\n```     \n\n## Large Language Model (LLM) Costs\n\nThis project utilizes OpenAI models. Be advised that the usage costs for these models will be billed to the API access key you provide. Primarily, costs are incurred during data embedding. The default vectorization engine for this project is `Ada v2`.\n\n## Project Architecture\nThis project is built on three primary components:\n\n- Weaviate Database: You have the option to host on Weaviate Cloud Service (WCS) or run it locally.\n- Frontend: HTML,CSS,Js\n- Backend: NodeJs\n\n## Dataset\n\n* [48,000+ movies dataset](https://www.kaggle.com/datasets/yashgupta24/48000-movies-dataset) (License: CC0: Public Domain) for the columns: 'Id', 'Name', 'PosterLink', 'Genres', 'Actors', 'Director', 'Description', 'DatePublished', and 'Keywords'\n* [Wikipedia Movie Plots](https://www.kaggle.com/datasets/jrobischon/wikipedia-movie-plots) (License: CC BY-SA 4.0), for the column 'Plot'\n\n## Open Source Contributions\n\nYour contributions are always welcome! Feel free to contribute ideas, feedback, or create issues and bug reports if you find any! Visit our [Weaviate Community Forum](https://forum.weaviate.io/) if you need any help!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaviate-tutorials%2Fawesome-moviate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweaviate-tutorials%2Fawesome-moviate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaviate-tutorials%2Fawesome-moviate/lists"}