{"id":20008392,"url":"https://github.com/fernanda-kipper/ai-assistant-java","last_synced_at":"2025-05-04T19:34:49.712Z","repository":{"id":233307226,"uuid":"786584037","full_name":"Fernanda-Kipper/ai-assistant-java","owner":"Fernanda-Kipper","description":"AI Assistant using RAG technique to give contextualized responses","archived":false,"fork":false,"pushed_at":"2024-04-15T17:58:31.000Z","size":498,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-16T22:05:27.161Z","etag":null,"topics":["ai-assistant","java","langchain4j","rag"],"latest_commit_sha":null,"homepage":"","language":"Java","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/Fernanda-Kipper.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}},"created_at":"2024-04-14T22:18:47.000Z","updated_at":"2024-04-16T17:43:03.000Z","dependencies_parsed_at":"2024-04-15T18:10:47.009Z","dependency_job_id":null,"html_url":"https://github.com/Fernanda-Kipper/ai-assistant-java","commit_stats":null,"previous_names":["fernanda-kipper/ai-assistant-java"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fai-assistant-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fai-assistant-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fai-assistant-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fernanda-Kipper%2Fai-assistant-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fernanda-Kipper","download_url":"https://codeload.github.com/Fernanda-Kipper/ai-assistant-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224406172,"owners_count":17305725,"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":["ai-assistant","java","langchain4j","rag"],"created_at":"2024-11-13T07:09:48.474Z","updated_at":"2024-11-13T07:09:48.943Z","avatar_url":"https://github.com/Fernanda-Kipper.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Assistant APP\n\n![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge\u0026logo=openjdk\u0026logoColor=white)\n![Spring](https://img.shields.io/badge/spring-%236DB33F.svg?style=for-the-badge\u0026logo=spring\u0026logoColor=white)\n[![Licence](https://img.shields.io/github/license/Ileriayo/markdown-badges?style=for-the-badge)](./LICENSE)\n\nThis project is an API built using **Java, Java Spring, Langchain4j and LM Studio.**\n\nThe app was developed for my [Youtube Tutorial](https://www.youtube.com/live/Vo7OnKULYUg?si=xkKK2eVBFQNJSih4), to demonstrate how to create a simple AI Assistant using RAG technique.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Usage](#usage)\n- [API Endpoints](#api-endpoints)\n- [Contributing](#contributing)\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/Fernanda-Kipper/ai-assistant-java\n```\n\n2. Install dependencies with Maven\n\n## Usage\n\n1. Start the application with Maven\n2. The API will be accessible at http://localhost:8080\n3. Install [LM Studio](https://lmstudio.ai/)\n4. Download model Google's Gemma 2B Instruct\n5. Start LM Server\n\n\u003cimg src=\".github/lm-studio-print.png\"/\u003e\n\n## API Endpoints\nThe API provides the following endpoints:\n\n**GET USERS**\n```markdown\nPOST /api/chat - Retrieve a list of all users.\n```\n```json\n{\n  \"message\": \"List 4 movies of the catalog that have Category Romance\"\n}\n```\n```json\n{\n  \"response\": \"The movies that have Category Romance are: - La La Land - Titanic\"\n}\n```\n\n## RAG Knowledge Base\nThe Knowledge base used for retrieve context to RAG technique is the movies.txt located inside `src/main/resources` path\n\n```txt\nMovie Catalog\n---\n\nMovie: The Godfather\nYear: 1972\nDirector: Francis Ford Coppola\nActors: Marlon Brando, Al Pacino, James Caan\nCategory: Action\nSynopsis: The saga of the Corleone family in the Italian mafia of New York.\n---\n\nMovie: Fight Club\nYear: 1999\nDirector: David Fincher\nActors: Brad Pitt, Edward Norton, Helena Bonham Carter\nCategory: Action\nSynopsis: A disillusioned white-collar worker forms an underground fight club.\n---\n\nMovie: Forrest Gump\nYear: 1994\nDirector: Robert Zemeckis\nActors: Tom Hanks, Robin Wright, Gary Sinise\nCategory: Comedy\nSynopsis: The story of a man with low IQ who witnessed or influenced significant events of the 20th century in America, maintaining hope and love for his childhood passion, Jenny.\n---\n\nMovie: Titanic\nYear: 1997\nDirector: James Cameron\nActors: Leonardo DiCaprio, Kate Winslet, Billy Zane\nCategory: Romance\nSynopsis: A poor artist and a rich young woman meet and fall in love on the fateful voyage of the RMS Titanic.\n---\n\nMovie: La La Land\nYear: 2016\nDirector: Damien Chazelle\nActors: Ryan Gosling, Emma Stone, John Legend\nCategory: Romance\nSynopsis: A jazz musician and an aspiring actress fall in love while pursuing their dreams in a city known for crushing hopes and breaking hearts.\n---\n\n```\n\n## Contributing\n\nContributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request to the repository.\n\nWhen contributing to this project, please follow the existing code style, [commit conventions](https://www.conventionalcommits.org/en/v1.0.0/), and submit your changes in a separate branch.\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernanda-kipper%2Fai-assistant-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernanda-kipper%2Fai-assistant-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernanda-kipper%2Fai-assistant-java/lists"}