Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java: Update java README.md #6068

Open
wants to merge 4 commits into
base: java-development
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
57 changes: 28 additions & 29 deletions java/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
# Semantic Kernel for Java
# Get Started with Semantic Kernel for Java

Semantic Kernel (SK) is a lightweight foundation that lets you easily mix conventional programming languages with the
latest in
Large Language Model (LLM) AI "prompts" with templating, chaining, and planning capabilities out-of-the-box.
## Overview

To learn more about Microsoft Semantic Kernel, visit
Semantic Kernel is a lightweight foundation that lets you easily mix conventional programming languages with the latest in
Large Language Model (LLM) AI "prompts" with templating, chaining, and planning capabilities out-of-the-box. To learn more about Microsoft Semantic Kernel, visit
the [Microsoft Semantic Kernel documentation](https://learn.microsoft.com/en-us/semantic-kernel/whatissk).

The Microsoft Semantic Kernel for Java is a library that implements the key concepts and foundations of Microsoft
Semantic Kernel. It is designed
to be used in Java applications in both client (desktop, mobile, CLIs) and server environments in an idiomatic way, and
to be easily integrated with other Java libraries
The Microsoft Semantic Kernel for Java is a library that implements the key concepts and foundations of Microsoft Semantic Kernel. It is designed
to be used in Java applications in both client (desktop, mobile, CLIs) and server environments in an idiomatic way, and to be easily integrated with other Java libraries
and frameworks.

## Quickstart
Expand All @@ -19,24 +16,41 @@ To get an idea of how to use the Semantic Kernel for Java, you can check
the [syntax examples](samples/sample-code/src/main/java/com/microsoft/semantickernel/samples/syntaxexamples) folder for
examples of common AI-enabled scenarios.

## Get started
## OpenAI / Azure OpenAI API keys

To run the LLM prompts and semantic functions in this kernel, make sure you have
an [Open AI API Key](https://platform.openai.com/)
or [Azure Open AI service key](https://learn.microsoft.com/azure/cognitive-services/openai/).

## Using the Semantic Kernel for Java

The library is organized in a set of dependencies published to Maven Central. For a list of the Maven dependencies and how to use each of them, see [PACKAGES.md](PACKAGES.md).

Alternatively, check the `samples` folder for examples of common AI-enabled scenarios implemented with Semantic Kernel for Java.

## Documentation

The documentation is hosted on the Microsoft Learn platform. Visit [learn.microsoft.com/semantic-kernel/overview/?tabs=Java](https://learn.microsoft.com/semantic-kernel/overview/?tabs=Java).

## Discord community

Join the [Microsoft Semantic Kernel Discord community](https://aka.ms/java-sk-discord) to discuss the Semantic Kernel
and get help from the community. We have a `#java` channel for Java-specific questions.

## Contributing

### Requirements

To build the Semantic Kernel for Java, you will need:

- **Required**:
- [OpenJDK 17](https://microsoft.com/openjdk/) or newer
- [JDK 17](https://microsoft.com/openjdk/) or newer

### Build the Semantic Kernel

1. Clone this repository

git clone -b java-v1 https://github.com/microsoft/semantic-kernel/
git clone -b java-development https://github.com/microsoft/semantic-kernel/

2. Build the project with the Maven Wrapper

Expand All @@ -48,21 +62,6 @@ To build the Semantic Kernel for Java, you will need:

./mvnw clean install -Prelease,bug-check,with-samples

## Using the Semantic Kernel for Java

The library is organized in a set of dependencies published to Maven Central. For a list of the Maven dependencies and
how to use each of them, see [PACKAGES.md](PACKAGES.md).

Alternatively, check the `samples` folder for examples of common AI-enabled scenarios implemented with Semantic Kernel
for Java.

## Discord community

Join the [Microsoft Semantic Kernel Discord community](https://aka.ms/java-sk-discord) to discuss the Semantic Kernel
and get help from the community. We have a `#java` channel for Java-specific questions.

## Contributing

### Testing locally

The project may contain end-to-end tests that require an OpenAI key to run. To run these tests locally, you
Expand Down Expand Up @@ -104,7 +103,7 @@ Also ensure that:
- All new code is covered by unit tests
- All new code is covered by integration tests

Once your proposal is ready, submit a pull request to the `java-v1` branch. The pull request will be reviewed by the
Once your proposal is ready, submit a pull request to the `java-development` branch. The pull request will be reviewed by the
project maintainers.

Make sure your pull request has an objective title and a clear description explaining the problem and solution.
Expand All @@ -115,4 +114,4 @@ This project is licensed under the [MIT License](../LICENSE).

## Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](../CODE_OF_CONDUCT.md).
This project has adopted the [Microsoft Open Source Code of Conduct](../CODE_OF_CONDUCT.md).