{"id":47307778,"url":"https://github.com/abchatterjee7/embabel-demo","last_synced_at":"2026-04-08T23:42:58.806Z","repository":{"id":318540503,"uuid":"1071727053","full_name":"abchatterjee7/embabel-demo","owner":"abchatterjee7","description":"embabel-demo offers sample projects demonstrating the JVM based Embabel Agent Framework for building Java applications using Spring, web, and shell integrations.","archived":false,"fork":false,"pushed_at":"2025-10-11T17:03:27.000Z","size":1855,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-19T22:44:19.624Z","etag":null,"topics":["ai-agents","embabel","spring-boot-shell"],"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/abchatterjee7.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-07T18:20:50.000Z","updated_at":"2025-10-11T17:03:30.000Z","dependencies_parsed_at":"2025-10-07T20:37:59.515Z","dependency_job_id":null,"html_url":"https://github.com/abchatterjee7/embabel-demo","commit_stats":null,"previous_names":["aadityauohyd/embabel-demo","abchatterjee7/embabel-demo"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/abchatterjee7/embabel-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abchatterjee7%2Fembabel-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abchatterjee7%2Fembabel-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abchatterjee7%2Fembabel-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abchatterjee7%2Fembabel-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abchatterjee7","download_url":"https://codeload.github.com/abchatterjee7/embabel-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abchatterjee7%2Fembabel-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31236914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-31T09:14:28.471Z","status":"ssl_error","status_checked_at":"2026-03-31T09:14:19.506Z","response_time":111,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-agents","embabel","spring-boot-shell"],"created_at":"2026-03-17T09:00:29.235Z","updated_at":"2026-03-31T13:00:26.945Z","avatar_url":"https://github.com/abchatterjee7.png","language":"Java","funding_links":[],"categories":["Examples"],"sub_categories":[],"readme":"# Embabel Agent Framework Samples\nembabel-demo offers sample projects demonstrating the Embabel Agent Framework for \nbuilding Java applications using Spring, web, and shell integrations.\n\nEmbabel is a JVM-based agent framework that lets you build intelligent “agentic flows” \nby combining LLM (Large Language Model) calls with code, using planning, strong typing, \nand composition to build safe, testable AI applications. Here is how for the first time I tried my hands on it.\n\n**The Embabel workflow:**\n\n- Say, A User initiates a request.\n\n- This request is received by the Embabel system, which may involve an Orchestrator or multiple Agents.\n\n- An Agent (or a sequence of Agents) is selected to handle the request.\n\n- The chosen Agent then interprets the user's request to define a clear Goal.\n\n- To achieve this Goal, the Agent intelligently selects and executes a series of Actions from its available capabilities (e.g., Action 1, Action 2, etc.) until the Goal is accomplished and a response can be provided back to the user.\n\n![](screenshots/action.png)\n\nSample projects using the [Embabel](https://github.com/embabel) Agent Framework.\n\n## Prerequisites\n* JDK 21+\n* Docker and Docker Compose\n* I already have downloaded few LLMs locally, e.g. =\u003e Ollama3.2:latest (Run LLMs either docker or locally)\n\n- In my system Powershell:\n```\nC:\\Users\\abcha\u003e ollama list\nNAME                        ID              SIZE      MODIFIED\nllama3.2:latest             a80c4f17acd5    2.0 GB    3 months ago\nmxbai-embed-large:latest    468836162de7    669 MB    6 months ago\ndeepseek-r1:8b              28f8fd6cdc67    4.9 GB    8 months ago\n\nC:\\Users\\abcha\u003e    ollama run llama3.2:latest\n\u003e\u003e\u003e Send a message (/? for help)\n```\n\n## Project Architecture: `embabel-demo` with Spring Web\n\n![](screenshots/eb.png)\n\n**Explanation of the Diagram:**\n\n1.  **User/Client:** Initiates a request through a web browser or API client.\n2.  **Spring Web Layer (Controller):** This is your `@RestController` in the Spring Boot application (e.g., in your `embabel-webapp-demo`). It receives the HTTP request and handles the Spring-specific web logic.\n3.  **Application Service/Use Case:** The Controller delegates the core logic to a Spring `@Service` or similar component.\n4.  **Embabel Agent Platform (Core):**\n    * The Service injects and interacts with an **Embabel Agent** or the **Embabel Platform** itself.\n    * This is the high-level framework that orchestrates the AI logic.\n5.  **Agent Orchestration (GOAP):** Embabel uses a deterministic planner (GOAP - Goal-Oriented Action Planning) to dynamically decide the steps needed to achieve the user's goal.\n6.  **Agent Actions:** The planner chains together various actions, which can include:\n    * **LLM Interaction:** Sending prompts to the configured Large Language Model (e.g., Ollama/Llama3.2, as you mentioned in your README).\n    * **Tools/Services:** Calling Spring-managed `@Action` methods within your application (the \"code\" side of the agent).\n    * **Knowledge Bases (RAG):** Accessing external data sources if your agent is configured for Retrieval-Augmented Generation (RAG).\n7.  **External Components:**\n    * **LLM Provider (Ollama):** The actual model (like Llama3.2) that performs the AI computation.\n8.  **Response:** The final, processed output from the Agent is returned through the Spring Web layer back to the User/Client as an HTTP response.\n\n\n## References\n* [Embabel](https://github.com/embabel)\n* [Embabel Agent Framework](https://github.com/embabel/embabel-agent)\n* [Official Embabel Agent Framework Samples](https://github.com/embabel/embabel-agent-examples)\n* [Embabel User Guide](https://docs.embabel.com/embabel-agent/guide/0.1.2-SNAPSHOT/)\n* [Rod Johnson Medium Blog](https://medium.com/@springrod)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabchatterjee7%2Fembabel-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabchatterjee7%2Fembabel-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabchatterjee7%2Fembabel-demo/lists"}