diff --git a/README.md b/README.md index 99f27d44f1..349f3028c0 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,11 @@ Taking inspiration from these libraries, the Spring AI project aims to provide a The following is a feature list resembling those found in the LangChain documentation. The initial features lay the foundation, with subsequent, more complex features building upon them. -Implemented features are linked to the Spring AI documentation. -Features without links are part of our future roadmap. + +You can find more details in the [Reference Documentation](https://docs.spring.io/spring-ai/reference/) + +Not all features listed here are implemented yet, but a good amount are :) + ### Model I/O @@ -82,7 +85,7 @@ It's getting a bit funky, isn't it? ## Project Links * [Issues](https://github.com/spring-projects-experimental/spring-ai/issues) -* Documentation +* [Documentation](https://docs.spring.io/spring-ai/reference/) * [JavaDocs](https://docs.spring.io/spring-ai/docs/current-SNAPSHOT/) ## Building diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/nav.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/nav.adoc index a2965c0121..d2eaa0b013 100644 --- a/spring-ai-docs/src/main/antora/modules/ROOT/nav.adoc +++ b/spring-ai-docs/src/main/antora/modules/ROOT/nav.adoc @@ -1,8 +1,16 @@ * xref:index.adoc[Overview] * xref:concepts.adoc[AI Concepts] * xref:getting-started.adoc[Getting Started] -* xref:prompt/index.adoc[] -* xref:client/index.adoc[] -** xref:client/usage.adoc[] +* xref:api/index.adoc[] +** xref:api/models.adoc[] +** xref:api/prompt.adoc[] +** xref:api/prompt-template.adoc[] +** xref:api/output-parser.adoc[] +** xref:api/chains.adoc[] +** xref:api/dataloaders.adoc[] +** xref:api/splitters.adoc[] +** xref:api/embeddings.adoc[] +** xref:api/vectordbs.adoc[] +** xref:api/evaluators.adoc[] * Appendices ** xref:glossary.adoc[] diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chains.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chains.adoc new file mode 100644 index 0000000000..e966733b15 --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chains.adoc @@ -0,0 +1,3 @@ += Chains + +TBD \ No newline at end of file diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/dataloaders.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/dataloaders.adoc new file mode 100644 index 0000000000..8b67d11d20 --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/dataloaders.adoc @@ -0,0 +1,3 @@ += Data Loaders + +TBD \ No newline at end of file diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/embeddings.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/embeddings.adoc new file mode 100644 index 0000000000..f3d1315a75 --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/embeddings.adoc @@ -0,0 +1,3 @@ += Embeddings + +TBD \ No newline at end of file diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/evaluators.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/evaluators.adoc new file mode 100644 index 0000000000..fd8a91b8ad --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/evaluators.adoc @@ -0,0 +1,3 @@ += Evaluators + +TBD diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/index.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/index.adoc new file mode 100644 index 0000000000..917c6c66f1 --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/index.adoc @@ -0,0 +1,5 @@ += Spring AI API + +== Introduction + +The following sections introduce each part of the API. diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/models.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/models.adoc new file mode 100644 index 0000000000..80877659fb --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/models.adoc @@ -0,0 +1,3 @@ += Models + +TBD \ No newline at end of file diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/output-parser.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/output-parser.adoc new file mode 100644 index 0000000000..a84e8f3348 --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/output-parser.adoc @@ -0,0 +1,3 @@ += Output Parsers + +TBD \ No newline at end of file diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/prompt-template.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/prompt-template.adoc new file mode 100644 index 0000000000..0012a0918b --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/prompt-template.adoc @@ -0,0 +1,3 @@ += Prompt Templates + +TBD \ No newline at end of file diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/prompt.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/prompt.adoc new file mode 100644 index 0000000000..5a37bf1951 --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/prompt.adoc @@ -0,0 +1,3 @@ += Prompt + +TBD \ No newline at end of file diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/splitters.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/splitters.adoc new file mode 100644 index 0000000000..286aa72ef6 --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/splitters.adoc @@ -0,0 +1,3 @@ += Splitters + +TBD diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/vectordbs.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/vectordbs.adoc new file mode 100644 index 0000000000..b29015307f --- /dev/null +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/vectordbs.adoc @@ -0,0 +1 @@ += Vector Databases \ No newline at end of file diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/client/index.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/client/index.adoc deleted file mode 100644 index c37018f08c..0000000000 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/client/index.adoc +++ /dev/null @@ -1,3 +0,0 @@ -= Configuring an AiClient - -TBD diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/client/usage.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/client/usage.adoc deleted file mode 100644 index 5659f0e49a..0000000000 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/client/usage.adoc +++ /dev/null @@ -1,3 +0,0 @@ -= Using AiClient - -TBD diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/concepts.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/concepts.adoc index 0055e7b2f0..9e0e330ea3 100644 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/concepts.adoc +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/concepts.adoc @@ -152,10 +152,14 @@ Data Loaders and Vector Database are the fundamental building blocks for solving === Data Loaders -TBD +=== Splitters + +=== Embeddings === Vector Databases +TBD + == Evaluating AI responses Effectively evaluating the output of an AI system in response to user requests is very important to ensuring accuracy and usefulness of the final application. diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/getting-started.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/getting-started.adoc index 22e9645c5e..5646ba0d9e 100644 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/getting-started.adoc +++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/getting-started.adoc @@ -28,6 +28,84 @@ export SPRING_AI_AZURE_OPENAI_API_KEY= export SPRING_AI_AZURE_OPENAI_ENDPOINT= ---- +== Spring CLI + +Download the latest https://github.com/spring-projects-experimental/spring-cli/releases[Spring CLI Release] + +and follow the https://docs.spring.io/spring-cli/reference/installation.html#_setting_up_your_path_or_alias[instructions] to add `spring` to your `PATH`. + +Create a simple AI application + +* For OpenAI + +```shell +spring boot new ai +``` + +or + +* For Azure OpenAI + +```shell +spring boot new ai-azure +``` + +You can also `ADD` the same simple AI application to your current project using + +* For OpenAI +```shell +spring boot add ai +``` + +or + +* For Azure OpenAI +```shell +spring boot add ai-azure +``` + +There is a project catalog available for Azure OpenAI that covers more functionality. +Add the catalog by running the command + +* For Azure Open AI + +```shell +spring project-catalog add ai-azure +``` + +Now you have the following projects that you can use to create a new project using the `spring boot new` command or add to your existing project using the `spring boot add` command. + +```shell +spring project list + +├──────────────────────────┼───────────────┼────────────────────────────────────────────────────────────────────┼────────┼───────────────┤ +│ai-azure-hello-world │AI - Hello, │https://github.com/rd-1-2022/ai-azure-openai-helloworld │ai-azure│[java-17, │ +│ │World │ │ │boot-3.1.x, ai,│ +│ │ │ │ │azure, web] │ +├──────────────────────────┼───────────────┼────────────────────────────────────────────────────────────────────┼────────┼───────────────┤ +│ai-azure-prompt-templating│AI - Prompt │https://github.com/rd-1-2022/ai-azure-prompt-template │ai-azure│[java-17, │ +│ │Templating │ │ │boot-3.1.x, ai,│ +│ │ │ │ │azure, prompt │ +│ │ │ │ │templating] │ +├──────────────────────────┼───────────────┼────────────────────────────────────────────────────────────────────┼────────┼───────────────┤ +│ai-azure-prompt-roles │AI - Prompt │https://github.com/rd-1-2022/ai-azure-openai-prompt-roles │ai-azure│[java-17, │ +│ │Templating │ │ │boot-3.1.x, ai,│ +│ │ │ │ │azure, prompt │ +│ │ │ │ │roles] │ +├──────────────────────────┼───────────────┼────────────────────────────────────────────────────────────────────┼────────┼───────────────┤ +│ai-azure-stuff-prompt │AI - Stuff the │https://github.com/rd-1-2022/ai-azure-stuff-prompt │ai-azure│[java-17, │ +│ │prompt │ │ │boot-3.1.x, ai,│ +│ │ │ │ │azure, prompt │ +│ │ │ │ │stuff] │ +├──────────────────────────┼───────────────┼────────────────────────────────────────────────────────────────────┼────────┼───────────────┤ +│ai-azure-prompt-rag │AI - Retrieval │https://github.com/rd-1-2022/ai-azure-retrieval-augmented-generation│ai-azure│[java-17, │ +│ │Augmented │ │ │boot-3.1.x, ai,│ +│ │Generation │ │ │azure, │ +│ │ │ │ │retrieval] │ +└──────────────────────────┴───────────────┴────────────────────────────────────────────────────────────────────┴────────┴───────────────┘ +``` + + == Sample Projects You can clone these projects on GitHub to get started. diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/prompt/index.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/prompt/index.adoc deleted file mode 100644 index eb1c0d0b62..0000000000 --- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/prompt/index.adoc +++ /dev/null @@ -1,3 +0,0 @@ -= Creating a Prompt - -TBD