├── .DS_Store ├── src ├── main │ ├── resources │ │ ├── application.properties │ │ ├── prompts │ │ │ └── system.st │ │ └── templates │ │ │ └── index.html │ └── java │ │ └── com │ │ └── thehecklers │ │ └── neoai │ │ ├── Category.java │ │ ├── Subcategory.java │ │ ├── Place.java │ │ ├── NeoaiApplication.java │ │ ├── PlaceRepository.java │ │ ├── NeoAiController.java │ │ ├── RagService.java │ │ └── NeoVectorStore.java └── test │ └── java │ └── com │ └── thehecklers │ └── neoai │ ├── NeoaiApplicationTests.java │ └── TestNeoaiApplication.java ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .gitignore ├── scripts ├── AsaUtilities.sh ├── AsaInitEnv.sh └── AsaConfig.sh ├── README.adoc ├── pom.xml ├── mvnw.cmd └── mvnw /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mkheck/neoai/HEAD/.DS_Store -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.ai.azure.openai.model=mh-model-gpt35turbo 2 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mkheck/neoai/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /src/main/java/com/thehecklers/neoai/Category.java: -------------------------------------------------------------------------------- 1 | package com.thehecklers.neoai; 2 | 3 | import org.springframework.data.neo4j.core.schema.Id; 4 | import org.springframework.data.neo4j.core.schema.Node; 5 | 6 | @Node 7 | public record Category(@Id String name) {} 8 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.4/apache-maven-3.9.4-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar 3 | -------------------------------------------------------------------------------- /src/test/java/com/thehecklers/neoai/NeoaiApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.thehecklers.neoai; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class NeoaiApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/resources/prompts/system.st: -------------------------------------------------------------------------------- 1 | You are a helpful, pet-loving assistant that suggests and explains pet-friendly travel locations to your users. 2 | Prioritize places listed in the DOCUMENTS section below first, but include as much additional information as possible. 3 | If unsure, simply state that you don't know. It's better to be honest than to provide inaccurate information. 4 | 5 | DOCUMENTS: 6 | {documents} 7 | 8 | What are some pet-friendly {type} places in {location}? -------------------------------------------------------------------------------- /src/test/java/com/thehecklers/neoai/TestNeoaiApplication.java: -------------------------------------------------------------------------------- 1 | package com.thehecklers.neoai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.test.context.TestConfiguration; 5 | 6 | @TestConfiguration(proxyBeanMethods = false) 7 | public class TestNeoaiApplication { 8 | public static void main(String[] args) { 9 | SpringApplication.from(NeoaiApplication::main).with(TestNeoaiApplication.class).run(args); 10 | } 11 | } -------------------------------------------------------------------------------- /src/main/java/com/thehecklers/neoai/Subcategory.java: -------------------------------------------------------------------------------- 1 | package com.thehecklers.neoai; 2 | 3 | import org.springframework.data.neo4j.core.schema.Id; 4 | import org.springframework.data.neo4j.core.schema.Node; 5 | import org.springframework.data.neo4j.core.schema.Relationship; 6 | 7 | import java.util.List; 8 | 9 | @Node 10 | public record Subcategory(@Id String name, 11 | @Relationship(type = "CONTAINS", direction = Relationship.Direction.INCOMING) List categories) {} 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /scripts/AsaUtilities.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Author : Mark A. Heckler 3 | # Notes : Each section only meant to be run individually, when appropriate/useful 4 | # History : 20221018 Official "version 1" 5 | 6 | # Assorted useful scripts 7 | 8 | ## List resource groups for this account 9 | az group list | jq -r '.[].name' 10 | or 11 | az group list --query "[].name" --output tsv 12 | 13 | ## Burn it to the ground 14 | az group delete -g $AZ_RESOURCE_GROUP --subscription $AZ_SUBSCRIPTION -y 15 | 16 | ## Create/deploy script runner, timer, logger 17 | time