Commit Graph
2409 Commits
Author SHA1 Message Date
John Oliver 10464ba714 Java: Disable formatter on Prompts (#5692)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-28 15:30:27 +00:00
David Grieve 9133b57b48 fix for code not rendered in your-initial-prompt 2024-03-27 14:04:21 -04:00
John Oliver ef59595f18 Java: Fix some Doc fixes (#5678)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-27 12:56:08 -04:00
John Oliver decf756f28 Java: Fix importing multiple plugin functions (#5679)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-27 12:03:13 -04:00
John Oliver 768a30804c Java: Tidy up and add Javadocs (#5677)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-27 09:45:26 -04:00
John Oliver a0d6073ef3 Java: Add Plugin sample (#5601)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-27 12:46:58 +00:00
David Grieve eeaf397560 Java: use id instead of range in markdown (#5614)
Updates to documentationexamples to add xml tags for referencing in
Microsoft learn markdown
2024-03-25 16:18:24 +00:00
Milder HernandezandJohn Oliver fa94b269e1 Java: Add documentation examples (#5595)
### Motivation and Context

Fixes https://github.com/microsoft/semantic-kernel/issues/5205
Fixes https://github.com/microsoft/semantic-kernel/issues/5209
Fixes https://github.com/microsoft/semantic-kernel/issues/5212
Fixes https://github.com/microsoft/semantic-kernel/issues/5213
Fixes https://github.com/microsoft/semantic-kernel/issues/5203

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: John Oliver <[email protected]>
2024-03-25 15:37:02 +00:00
John Oliver 9b181aba9a Java: Fix function invocation argument name assigning. Fix templating to be… (#5579)
… more customisable.

### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-21 14:36:53 +00:00
David GrieveandMilder Hernandez Cagua 534225145a Java: learn samples (#5582)
Fixes #5211
Fixes #5207 
Fixes #5208 
Fixes #5214

Also includes some code in progress from Milder.

---------

Co-authored-by: Milder Hernandez Cagua <[email protected]>
2024-03-20 21:04:25 +00:00
John Oliver 018aae5d44 Java: Allow creating empty ChatHistory (#5525)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-19 15:32:15 -04:00
John Oliver da4300cad7 Java: Update readme (#5500)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-19 15:31:09 -04:00
John Oliver a9a2f7bf9f Java: Add KernelPluginFactoryTest (#5498)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-15 15:30:03 +00:00
John Oliver c38b236c20 Java: Add example of handlebars subexpressions (#5448)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-15 14:38:18 +00:00
Milder Hernandez f65b75d9a2 Java: Add resource loader tests (#5374)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-13 12:55:08 +00:00
David Grieve 9ca051aaf4 Java: some unit tests for semanticfunctions and resulting code changes (#5382)
Fixes 5187
2024-03-12 15:28:41 +00:00
calmandgaozhirong 622b720d06 Java: feat(): add PostChatCompletionEvent (#5342)
### Motivation and Context

Fix:https://github.com/microsoft/semantic-kernel/issues/5314

### Description

After the Chat Completion, triggered an PostChatCompletionEvent.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: gaozhirong <[email protected]>
2024-03-08 11:47:30 -05:00
David Grieve ac97fea4c0 Java: Rudimentary HandleBarsPromptTemplateTest (#5261)
Fixes #5184
2024-03-04 15:54:23 -05:00
John Oliver 1d014dd05c Java: add ToolCallBehaviour test (#5268)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-03-04 13:21:49 -05:00
David Grieve c3d4fea0ca Java: fix javadoc in orchestration package (#5244)
Fixes #5219
2024-03-01 11:08:41 -05:00
John Oliver e9d76d5810 Java: Add javadocs for OpenAIRequestSettings and OpenAITextGenerationService (#5230)
Fixes #5217 and #5218
2024-02-29 16:09:29 +00:00
GitHub db22d2abf4 [maven-release-plugin] prepare for next development iteration 2024-02-28 12:30:41 +00:00
GitHub 6b1c4f9f46 [maven-release-plugin] prepare release java-1.0.0-rc2 2024-02-28 12:30:41 +00:00
John Oliver e1951cda21 Fix tag 2024-02-28 12:27:17 +00:00
John Oliver 6a83d02914 Mock input in tests 2024-02-28 12:16:27 +00:00
John Oliver 003c8463ca Java: Fix null check (#5225)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-02-28 11:54:12 +00:00
Milder HernandezandDavid Grieve 62bc8c73d7 Java: Update ToolCallBehavior (#5058)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: David Grieve <[email protected]>
2024-02-27 21:05:57 +00:00
David Grieve 4f5e975c7a Java: move BingConnector to samples/sample-code (#5221)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-02-27 20:58:54 +00:00
John Oliver bc9d4cba11 Java: Implement a number of fixes from API review (#5201)
- Make constructors on classes that have builders protected
- Remove the addPlugin function from the kernel to make plugin set
immutable, in favour of adding a copy method for creating a clone of a
kernel that can have plugins added, i.e:
```
        kernel = kernel.copy()
                             .withPlugin(timePlugin)
                             .build()
```
- Add sync invocation methods in addition to async
- Add warning if `FunctionInvocation` is used in an unusual manner that
might indicate a bug
2024-02-27 15:34:12 -05:00
David Grieve d3722939dc Java: remove plugins/semantickernel-plugins-core (#5199)
resolves #5190
2024-02-27 15:38:07 +00:00
John Oliver 4c26f4abd0 Java: Update handlebars function calling (#5122)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-02-26 14:31:00 -05:00
John OliverandGitHub f5cca08b91 Java: Convert PromptTemplateConfig and ChatMessageContent to immutable (#5067)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: GitHub <[email protected]>
2024-02-22 13:35:25 +00:00
GitHub e5bb1f3a50 [maven-release-plugin] prepare for next development iteration 2024-02-16 15:36:41 +00:00
GitHub 44c4e15de1 [maven-release-plugin] prepare release java-1.0.0-rc1 2024-02-16 15:36:41 +00:00
John Oliver bd0593968d Java: Small fixes from API review (#5053)
- Make some enums upper case
- Update service loader file names to be in sync with new package
structure
- Exclude implementation packages from javadoc
2024-02-16 15:34:37 +00:00
John Oliver 679bdb2180 Java: Apply various fixes from API review (#5043)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-02-15 22:07:45 +00:00
John Oliver 31c9d5d186 Java: Apply proposed package reorg (#5039)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-02-15 21:58:20 +00:00
John Oliver 8b95a8bad6 Java: Apply linting fixes (#5035)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-02-15 20:09:38 +00:00
John Oliver a2d6a4c221 Merge remote-tracking branch 'upstream/main' into java-v1 2024-02-15 16:53:35 +00:00
John Oliver 8791461451 Remove unused files 2024-02-15 16:52:53 +00:00
John Oliver 2ac1ecb46d Merge remote-tracking branch 'upstream/java-development' into java-v1 2024-02-15 16:44:01 +00:00
John Oliver 9cf3c82eb5 Fix compile 2024-02-15 15:24:43 +00:00
John Oliver 2c71ab1c28 Merge remote-tracking branch 'upstream/java-v1' into format-3 2024-02-15 15:15:53 +00:00
John Oliver d930438283 Java: Make KernelFunctionFactory calls fluent. Fix some hook related bugs (#5024)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-02-15 15:14:01 +00:00
Milder HernandezandJohn Oliver 9bad62e425 Java: Add OpenAI function calling (#4937)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: John Oliver <[email protected]>
2024-02-15 15:00:48 +00:00
Mark Wallace 0a60d9cddc .Net: Fix kernel syntax sample numbering (#5031)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
2024-02-15 13:57:15 +00:00
John Oliver 640eed80f0 Merge branch 'fluent-function-factory' into format-3 2024-02-15 13:55:11 +00:00
John Oliver 73caad5286 Removed KernelFunctionFactory. Added AiServiceCollection. Relocated internel classes to implementation package 2024-02-15 13:46:46 +00:00
Mustafa ZenginandSergeyMenshykh e4f9c750a0 .Net: API Manifest Plugins (#4961)
### Motivation and Context

This PR contains main implementation part of #4662 and adds it into
`Functions.OpenApi.Extensions` project. There were also couple of bug
fixes in the mentioned PR, those will be handled in subsequent PRs.

API Manifest can describe capabilities of an AI plugin for a chat-based
system among other things. For a full description of API Manifest, see
the [API Manifest
Specification](https://darrelmiller.github.io/api-manifest/draft-miller-api-manifest.html).

API Manifest refers to one or more OpenAPI documents as API dependencies
and it selects a subset of operations from those documents to describe
the capabilities of an AI plugin.

### Description

Semantic Kernel has a way of creating plugins from OpenAPI operations,
but it has a couple of limitations that can be addressed with API
Manifest:
1. It can only create functions from OpenAPI operations that are
described in a single OpenAPI document.
2. It cannot reference multiple OpenAPI documents in a single plugin.

Not being able to slice OpenAPI operations is a major limitation,
especially for large APIs such as Microsoft Graph, which has over 1000
operations.

Today, we can create a Semantic Kernel plugin from an OpenAPI file and
one OpenAPI file corresponds to one plugin. We don't have a way of
selecting a subset of operations.

```mermaid
graph TB

subgraph OpenAPI1
operation11
operation12
operation13
end

subgraph OpenAPI2
operation21
operation22
operation23
end

subgraph OpenAPIPlugin1
function11
function12
function13
end

subgraph OpenAPIPlugin2
function21
function22
function23
end

operation11 -.- function11
operation12 -.- function12
operation13 -.- function13

operation21 -.- function21
operation22 -.- function22
operation23 -.- function23

style OpenAPIPlugin1 fill:blue,color:white
style OpenAPIPlugin2 fill:blue,color:white

```

### Proposed Solution
After Semantic Kernel APIManifest support, we will have an APIManifest
file, which will be used as a filter on OpenAPI files and it can
reference more than one OpenAPI file. The filter can be used as a guide
to select only certain operations to be converted into functions.

Assume that we want to create a single plugin with `function11` from
`OpenAPI1` and `function21` and `function22` from `OpenAPI2`. We want to
preserve the one-to-one mapping between the APIManifest and the plugin,
e.g. between `ApiManifestX` and `PluginX`:

```mermaid
graph TB

subgraph OpenAPI1
operation11
operation12
operation13
end

subgraph OpenAPI2
operation21
operation22
operation23
end

subgraph APIManifestX
reference11
reference21
reference22
end

subgraph PluginX
function11
function21
function22
end

reference11 -.- operation11
reference21 -.- operation21
reference22 -.- operation22

function11 -.- reference11
function21 -.- reference21
function22 -.- reference22

style APIManifestX fill:green,color:white
style PluginX fill:blue,color:white

```

If we use existing OpenAPI to Plugin public methods after on-the-fly
slicing, we can only achieve the following because there is an
assumption that a single OpenAPI is converted into a single plugin,
which breaks APIManifest to Plugin one-to-one mapping. A single
`APIManifestX` file corresponds to two plugins, namely, `PluginX1` and
`PluginX2`:

```mermaid
graph TB

subgraph OpenAPI1
operation11
operation12
operation13
end

subgraph OpenAPI2
operation21
operation22
operation23
end

subgraph APIManifestX
reference11
reference21
reference22
end

subgraph OpenAPI1_Sliced
operation11_sliced[operation11]
end

subgraph OpenAPI2_Sliced
operation21_sliced[operation21]
operation22_sliced[operation22]
end

subgraph PluginX1
function11
end

subgraph PluginX2
function21
function22
end

reference11 -.- operation11
reference21 -.- operation21
reference22 -.- operation22

operation11 -.- operation11_sliced -.- function11
operation21 -.- operation21_sliced -.- function21
operation22 -.- operation22_sliced -.- function22

style APIManifestX fill:green,color:white
style PluginX1 fill:blue,color:white
style PluginX2 fill:blue,color:white

```

To avoid this, the implementation of regular OpenAPI plugin generation
and API Manifest plugin generation meets at the function generation
level, so reuse starts at `CreateRestApiFunction`.

The PR also adds a KernelSyntaxExample for `/me/messages` endpoint of
Microsoft Graph.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: SergeyMenshykh <[email protected]>
2024-02-15 11:56:30 +00:00
Dmytro Struk 1ba6236f19 .Net: Improved Audio API by adding default setting values (#5026)
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Current audio interfaces have optional execution settings parameters in
order to be able to use audio API through Kernel in the future, where
execution settings are optional. But when using audio services directly,
this is not user friendly, because when optional execution settings are
not configured, services will throw an error.

In case of text-to-audio service, required field is voice. This PR sets
default value to `alloy` with the ability to overwrite.
For audio-to-text service, required field is filename. This PR sets
default value to `file.mp3` with the ability to overwrite.

With these changes execution settings are no longer required (they are
optional) for text-to-audio and audio-to-text conversion.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
2024-02-15 10:07:11 +00:00