Commit Graph
21 Commits
Author SHA1 Message Date
Matthew Bolaños 39395422b6 Create pointers to learn.microsoft.com (#2159)
### 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 😄
2023-07-25 22:41:13 +00:00
Alex ChaoandAlex Chao d454735d5b Python: Update Python README and FEATURE_MATRIX (#2004)
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>
2023-07-17 16:42:03 +00:00
88d67deffe Python: postgres memory store (#1354)
### 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]>
2023-07-11 21:52:08 +00:00
John Oliver a9fc0caf14 Update feature matrix with the latest Java state (#1872) 2023-07-08 03:01:57 +00:00
Devis Lucato d8ed339ed7 Update Memory Connectors feature matrix (#1759)
* Add Chroma for Python
* Move up top Memory connectors with wider support
* Update Azure Search note
2023-06-28 13:38:55 -07:00
JadynandDmytro Struk 5078c2f719 Redis connector for Semantic Memory (#1178)
### 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]>
2023-06-09 16:15:05 +00:00
Stuart Cam 5742bb1ce8 Weaviate connector (#1219)
Adds a WeaviateMemoryStore, which allows for memories to be stored in Weaviate.
2023-06-08 14:21:58 -07:00
Devis LucatoandAbby Harrison 371f54b3f8 Bump SK python version from 0.2.9 to 0.3.0 (#1342)
New release and updated feature matrix

---------

Co-authored-by: Abby Harrison <[email protected]>
2023-06-05 13:07:47 -07:00
18cd0cd042 Add support for weaviate as a memory store (Python) (#804)
Add support for weaviate as a memory store
see #803

Co-authored-by: Abby Harrison <[email protected]>
Co-authored-by: Devis Lucato <[email protected]>
Co-authored-by: Abby Harrison <[email protected]>
2023-06-05 09:37:41 -07:00
Abby Harrison ecfddc54e9 Update Feature Matrix with icon legend and fix out-of-date fields (#1188)
### 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
2023-05-26 17:10:23 -07:00
Bruno BorgesandMark Wallace 1ee6461007 Feature Matrix for the Java SK (Experimental) (#1189)
Co-authored-by: Mark Wallace <[email protected]>
2023-05-25 21:09:11 +00:00
Jadyn c88d42e530 Postgres connector for Semantic Memory (#946)
### 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.
2023-05-19 15:57:10 +00:00
ca8d6148d0 Pinecone memory connector (#1065)
Pinecone vector database implementation
Original PR: https://github.com/microsoft/semantic-kernel/pull/770
---------

Co-authored-by: Kevdome3000 <[email protected]>
Co-authored-by: tech <[email protected]>
Co-authored-by: Shawn Callegari <[email protected]>
Co-authored-by: Abby Harrison <[email protected]>
2023-05-18 13:44:27 -07:00
9fccbe4410 [Python] Conversation summary skill porting part I (#853)
### 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]>
2023-05-13 01:02:31 +00:00
7cd0feacea [Python] Port MathSkill from C# to python3 (#841)
### 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]>
2023-05-11 06:20:46 +00:00
Abby Harrison f6059cdf94 Python/Local Hugging Face Inference for Completions and Embeddings (#658)
### 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
2023-04-26 17:07:29 -07:00
Abby Harrison 548429dd78 Python SK: Use ChatGPT for Semantic Functions (#643)
### 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.
2023-04-25 11:42:46 -07:00
Jerome TremblayandAbby Harrison cef3fc34e4 Python: Adding core HttpSkill (#504)
### 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]>
2023-04-21 14:19:16 -07:00
Lee Miller 77259db3e3 Remove PlannerSkill and add SequentialPlanner (#523)
### 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
2023-04-21 16:01:26 +00:00
Lucas A. Meyer 8d47c2ec4c Update FEATURE_MATRIX.md (#546)
Fixing a typo in the Chat-GPT model name
2023-04-19 19:19:36 -07:00
Abby Harrison c2b3a6bf7a Feature matrix improvements (#509)
### 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.
2023-04-18 23:41:26 -07:00