### Motivation and Context
To align docs, we should redirect developers to the documents on the
official learn site.
### Description
- Create redirects for docs files in repo that point users to
learn.microsoft.com.
- Update readme links to point to learn.microsoft.com
### Contribution Checklist
- [ ] 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 😄
Update the README for Python to include latest notebooks and add a link
to Learn Documentation site for the feature matrix
---------
Co-authored-by: Alex Chao <achao@achao>
### 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?
Brings parity to python implementation
2. What problem does it solve?
With the pgvector extension, Postgres is a viable option for the storing
of embeddings for memory in Semantic Kernel.
The C# implementation is already capable of this, but the feature has
yet to be added to python.
3. What scenario does it contribute to?
Additional options for memory storage
4. If it fixes an open issue, please link to the issue here.
-->
### Description
Implemention of the MemoryStore to use a Postgresql (with pgvector
extension) to resolve#1270
Taking a different approach from the .net implementation:
Collections as postgres schemas as opposed to collection being another
column in the table, willing to change to match but would love to have a
discussion comparing the options.
### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [x] The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with `dotnet format`
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
---------
Co-authored-by: Dmytro Struk <[email protected]>
Co-authored-by: Shawn Callegari <[email protected]>
Co-authored-by: Abby Harrison <[email protected]>
Co-authored-by: Abby Harrison <[email protected]>
### Motivation and Context
Redis supports cosine similarity search by the
[RediSearch](https://redis.io/docs/stack/search) module.
### Description
Add a new Semantic Memory Connector leveraging Redis with RediSearch
module. Update the syntax example to demonstrate how it is used.
Co-authored-by: Dmytro Struk <[email protected]>
### Motivation and Context
Resolves https://github.com/microsoft/semantic-kernel/issues/1187
### Description
- added an icon legend
- formatted planning section to align with other tables
- mark ChromaDB as implemented in python SK
- mark Azure Cognitive Search as partially implemented in .NET
### Motivation and Context
Postgres supports cosine similarity search by installing the [pgvector
extension](https://github.com/pgvector/pgvector).
### Description
Add a new Semantic Memory Connector leveraging Postgres with pgvector
extension. Update the syntax example to demonstrate how it is used.
### Motivation and Context
Porting conversation summary skill. Integration test is added as well.
Action item and topic will be ported later.
---------
Co-authored-by: Po-Wei Huang <[email protected]>
Co-authored-by: Abby Harrison <[email protected]>
Co-authored-by: Abby Harrison <[email protected]>
Co-authored-by: Devis Lucato <[email protected]>
Co-authored-by: Devis Lucato <[email protected]>
### Motivation and Context
Port MathSkill from C# to python3. This is essential for advanced skill
like plan
### Description
The PR includes two part. The first part is an implementation of
MathSkill. The implementation follows C# version.
It does several things:
1. Parse initial value
2. Get value from context
3. Sum or subtract
The unit test covers these scenarios:
1. Add/subtract value
2. Error should throw if string is not correct. Not able to parse.
Last part is the init.py and feature matrix.
Unit test pass locally.
Co-authored-by: Po-Wei Huang <[email protected]>
Co-authored-by: Mark Karle <[email protected]>
Co-authored-by: Devis Lucato <[email protected]>
### Motivation and Context
This PR introduces native python support for Hugging Face models that
can: complete text, generate new text, summarize, and that generate
embeddings. Currently only supports downloading the models locally from
the HF model hub. Future plans include supporting the HF inference API
as well.
### Description
- Added 2 services: `hf_text_completion` and `hf_text_embedding`
- `hf_text_completion` supports the following tasks: _text-generation_,
_text2text-generation_, and _summarization_
- `hf_text_embedding` supports any model supported by the
sentence-transformers pip package
- Added dependencies: pytorch, transformers, sentence-transformers to
`requirements.txt` and `poetry.lock`
- fixed typo: `get_embedding_service_service_id` ->
`get_embedding_service_id`
- Added a number of integration tests for supported HF models
### Motivation and Context
Users want to use ChatGPT as the service for their semantic functions.
This feature exists with the C# SK. ChatGPT is perfectly capable of
doing this. Additionally added more end-to-end tests with the intention
of being able to run them as integration tests for the Python SK.
### Description
- `OpenAIChatCompletion` now additionally inherits from
`TextCompletionClientBase`. This extends to `AzureOpenAIChatCompletion`.
- If a chat service is also a `TextCompletionClientBase`, it will be
added to both `text_services` and `chat_services`.
- Created 4 end-to-end tests that target the combination of Azure,
OpenAI, text service, and chat service. Abstracted common behavior for
these tests.
- Added asserts to these end-to-end tests. These should be run as
integration tests, but that will be handled in a separate PR.
### Motivation and Context
HttpSkill python version
### Description
- Porting the HttpSkill from C# to Python.
- Adding corresponding unit tests.
Co-authored-by: Abby Harrison <[email protected]>
### Motivation and Context
This pull request contains a series of changes that refactor and improve
the planning module and tests in the SemanticKernel project. The
planning module is responsible for creating and executing plans based on
natural language prompts and available skills. The changes aim to
simplify the code, enhance the functionality, and increase the test
coverage and quality of the planning module.
### Description
- Add a new SequentialPlanner class that uses semantic function to
generate plans from natural language prompts
- Add a new SequentialPlanParser class that parses the XML output of the
semantic function and converts it into a Plan object
- **Remove PlannerSkill**
- Rename PlannerConfig class that contains common configuration options
for planner instances, such as the maximum number of tokens, the
relevancy threshold, and the excluded or included functions
- Refactor the Plan class to make it more consistent and robust, and add
support for serialization, named outputs, and nested plans
- Add unit tests for the SequentialPlanner, SequentialPlanParser, and
Plan classes and refactor the existing planning tests to use mock
functions and skills.
- Fix a failing web skill test by skipping it due to inconsistent Bing
search results
### Motivation and Context
With the official publishing of the Python Semantic Kernel, we should be
informing the public of feature parity between Python and C#. Python is
currently playing catch up.
### Description
Removed the FEATURE_PARITY.md file from the python directory and added a
FEATURE_MATRIX.md file to the top level of the repo. The main REAME.md
now links to this file. Added a stronger breakdown of features that we
are tracking for SK.