Skip to content

Commit d7a312c

Browse files
Merge branch 'main' into dev
2 parents 0273b06 + 622434a commit d7a312c

File tree

12 files changed

+458
-43
lines changed

12 files changed

+458
-43
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Broken Link Checker
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- '**/*.md'
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
markdown-link-check:
14+
name: Check Markdown Broken Links
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout Repo
19+
uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
23+
# For PR : Get only changed markdown files
24+
- name: Get changed markdown files (PR only)
25+
id: changed-markdown-files
26+
if: github.event_name == 'pull_request'
27+
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46
28+
with:
29+
files: |
30+
**/*.md
31+
32+
33+
# For PR: Check broken links only in changed files
34+
- name: Check Broken Links in Changed Markdown Files
35+
id: lychee-check-pr
36+
if: github.event_name == 'pull_request' && steps.changed-markdown-files.outputs.any_changed == 'true'
37+
uses: lycheeverse/[email protected]
38+
with:
39+
args: >
40+
--verbose --exclude-mail --no-progress --exclude ^https?://
41+
${{ steps.changed-markdown-files.outputs.all_changed_files }}
42+
failIfEmpty: false
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
46+
# For manual trigger: Check all markdown files in repo
47+
- name: Check Broken Links in All Markdown Files in Entire Repo (Manual Trigger)
48+
id: lychee-check-manual
49+
if: github.event_name == 'workflow_dispatch'
50+
uses: lycheeverse/[email protected]
51+
with:
52+
args: >
53+
--verbose --exclude-mail --no-progress --exclude ^https?://
54+
'**/*.md'
55+
failIfEmpty: false
56+
env:
57+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

App/kernel-memory/README.md

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class instance in .NET backend/console/desktop apps in synchronous mode. This ap
4141
works as well as in ASP.NET Web APIs and Azure Functions. Each request is processed
4242
immediately, although calling clients are responsible for handling transient errors.
4343

44-
![image](docs/infra-sync.png)
44+
![image](https://github.com/microsoft/kernel-memory/blob/main/docs/infra-sync.png?raw=true)
4545

4646
> ### Importing documents into your Kernel Memory can be as simple as this:
4747
>
@@ -114,7 +114,7 @@ search and retrieval through faceted navigation.
114114
Depending on your scenarios, you might want to run all the code **locally
115115
inside your process, or remotely through an asynchronous and scalable service.**
116116
117-
![image](docs/infra-async.png)
117+
![image](https://github.com/microsoft/kernel-memory/blob/main/docs/infra-async.png?raw=true)
118118
119119
If you're importing small files, and need only C# and can block
120120
the process during the import, local-in-process execution can be fine, using
@@ -252,7 +252,7 @@ on macOS/Linux:
252252
> }
253253
> ```
254254
255-
You can find a [full example here](examples/001-dotnet-WebClient/README.md).
255+
You can find a [full example here](https://github.com/microsoft/kernel-memory/blob/main/examples/001-dotnet-WebClient/README.md).
256256
257257
# Custom memory ingestion pipelines
258258
@@ -289,34 +289,34 @@ running the service locally with OpenAPI enabled.
289289
290290
## Examples
291291
292-
1. [Collection of Jupyter notebooks with various scenarios](examples/000-notebooks)
293-
2. [Using Kernel Memory web service to upload documents and answer questions](examples/001-dotnet-WebClient)
294-
3. [Importing files and asking question without running the service (serverless mode)](examples/002-dotnet-Serverless)
295-
4. [Using KM Plugin for Semantic Kernel](examples/003-dotnet-SemanticKernel-plugin)
296-
5. [Processing files with custom logic (custom handlers) in serverless mode](examples/004-dotnet-serverless-custom-pipeline)
297-
6. [Processing files with custom logic (custom handlers) in asynchronous mode](examples/005-dotnet-AsyncMemoryCustomPipeline)
298-
7. [Upload files and ask questions from command line using curl](examples/006-curl-calling-webservice)
299-
8. [Customizing RAG and summarization prompts](examples/101-dotnet-custom-Prompts)
300-
9. [Custom partitioning/text chunking options](examples/102-dotnet-custom-partitioning-options)
301-
10. [Using a custom embedding/vector generator](examples/103-dotnet-custom-EmbeddingGenerator)
302-
11. [Using custom LLMs](examples/104-dotnet-custom-LLM)
303-
12. [Using LLama](examples/105-dotnet-serverless-llamasharp)
304-
13. [Summarizing documents, using synthetic memories](examples/106-dotnet-retrieve-synthetics)
305-
14. [Using Semantic Kernel LLM connectors](examples/107-dotnet-SemanticKernel-TextCompletion)
306-
15. [Using custom content decoders](examples/108-dotnet-custom-content-decoders)
307-
16. [Using a custom web scraper to fetch web pages](examples/109-dotnet-custom-webscraper)
308-
17. [Generating answers with Anthropic LLMs](examples/110-dotnet-anthropic)
309-
18. [Hybrid Search with Azure AI Search](examples/111-dotnet-azure-ai-hybrid-search)
310-
19. [Writing and using a custom ingestion handler](examples/201-dotnet-serverless-custom-handler)
311-
20. [Running a single asynchronous pipeline handler as a standalone service](examples/202-dotnet-custom-handler-as-a-service)
312-
21. [Test project using KM package from nuget.org](examples/203-dotnet-using-core-nuget)
313-
22. [Integrating Memory with ASP.NET applications and controllers](examples/204-dotnet-ASP.NET-MVC-integration)
314-
23. [Sample code showing how to extract text from files](examples/205-dotnet-extract-text-from-docs)
315-
24. [.NET configuration and logging](examples/206-dotnet-configuration-and-logging)
316-
25. [Expanding chunks retrieving adjacent partitions](examples/207-dotnet-expanding-chunks-on-retrieval)
317-
26. [Using local models via LM Studio](examples/208-dotnet-lmstudio)
318-
27. [Using Context Parameters to customize RAG prompt during a request](examples/209-dotnet-using-context-overrides)
319-
28. [Creating a Memory instance without KernelMemoryBuilder](examples/210-KM-without-builder)
292+
1. [Collection of Jupyter notebooks with various scenarios](https://github.com/microsoft/kernel-memory/tree/main/examples/000-notebooks)
293+
2. [Using Kernel Memory web service to upload documents and answer questions](https://github.com/microsoft/kernel-memory/tree/main/examples/001-dotnet-WebClient)
294+
3. [Importing files and asking question without running the service (serverless mode)](https://github.com/microsoft/kernel-memory/tree/main/examples/002-dotnet-Serverless)
295+
4. [Using KM Plugin for Semantic Kernel](https://github.com/microsoft/kernel-memory/tree/main/examples/003-dotnet-SemanticKernel-plugin)
296+
5. [Processing files with custom logic (custom handlers) in serverless mode](https://github.com/microsoft/kernel-memory/tree/main/examples/004-dotnet-serverless-custom-pipeline)
297+
6. [Processing files with custom logic (custom handlers) in asynchronous mode](https://github.com/microsoft/kernel-memory/tree/main/examples/005-dotnet-async-memory-custom-pipeline)
298+
7. [Upload files and ask questions from command line using curl](https://github.com/microsoft/kernel-memory/tree/main/examples/006-curl-calling-webservice)
299+
8. [Customizing RAG and summarization prompts](https://github.com/microsoft/kernel-memory/tree/main/examples/101-dotnet-custom-Prompts)
300+
9. [Custom partitioning/text chunking options](https://github.com/microsoft/kernel-memory/tree/main/examples/102-dotnet-custom-partitioning-options)
301+
10. [Using a custom embedding/vector generator](https://github.com/microsoft/kernel-memory/tree/main/examples/103-dotnet-custom-EmbeddingGenerator)
302+
11. [Using custom LLMs](https://github.com/microsoft/kernel-memory/tree/main/examples/104-dotnet-custom-LLM)
303+
12. [Using LLama](https://github.com/microsoft/kernel-memory/tree/main/examples/105-dotnet-serverless-llamasharp)
304+
13. [Summarizing documents, using synthetic memories](https://github.com/microsoft/kernel-memory/tree/main/examples/106-dotnet-retrieve-synthetics)
305+
14. [Using Semantic Kernel LLM connectors](https://github.com/microsoft/kernel-memory/tree/main/examples/107-dotnet-SemanticKernel-TextCompletion)
306+
15. [Using custom content decoders](https://github.com/microsoft/kernel-memory/tree/main/examples/108-dotnet-custom-content-decoders)
307+
16. [Using a custom web scraper to fetch web pages](https://github.com/microsoft/kernel-memory/tree/main/examples/109-dotnet-custom-webscraper)
308+
17. [Generating answers with Anthropic LLMs](https://github.com/microsoft/kernel-memory/tree/main/examples/110-dotnet-anthropic)
309+
18. [Hybrid Search with Azure AI Search](https://github.com/microsoft/kernel-memory/tree/main/examples/111-dotnet-azure-ai-hybrid-search)
310+
19. [Writing and using a custom ingestion handler](https://github.com/microsoft/kernel-memory/tree/main/examples/201-dotnet-serverless-custom-handler)
311+
20. [Running a single asynchronous pipeline handler as a standalone service](https://github.com/microsoft/kernel-memory/tree/main/examples/202-dotnet-custom-handler-as-a-service)
312+
21. [Test project using KM package from nuget.org](https://github.com/microsoft/kernel-memory/tree/main/examples/203-dotnet-using-KM-nuget)
313+
22. [Integrating Memory with ASP.NET applications and controllers](https://github.com/microsoft/kernel-memory/tree/main/examples/204-dotnet-ASP.NET-MVC-integration)
314+
23. [Sample code showing how to extract text from files](https://github.com/microsoft/kernel-memory/tree/main/examples/205-dotnet-extract-text-from-docs)
315+
24. [.NET configuration and logging](https://github.com/microsoft/kernel-memory/tree/main/examples/206-dotnet-configuration-and-logging)
316+
25. [Expanding chunks retrieving adjacent partitions](https://github.com/microsoft/kernel-memory/tree/main/examples/207-dotnet-expanding-chunks-on-retrieval)
317+
26. [Using local models via LM Studio](https://github.com/microsoft/kernel-memory/tree/main/examples/208-dotnet-lmstudio)
318+
27. [Using Context Parameters to customize RAG prompt during a request](https://github.com/microsoft/kernel-memory/tree/main/examples/209-dotnet-using-context-overrides)
319+
28. [Creating a Memory instance without KernelMemoryBuilder](https://github.com/microsoft/kernel-memory/tree/main/examples/210-KM-without-builder)
320320
321321
## Tools
322322
@@ -336,24 +336,24 @@ running the service locally with OpenAPI enabled.
336336
- **Microsoft.KernelMemory.WebClient:** .NET web client to call a running instance of Kernel Memory web service.
337337
338338
[![Nuget package](https://img.shields.io/nuget/vpre/Microsoft.KernelMemory.WebClient)](https://www.nuget.org/packages/Microsoft.KernelMemory.WebClient/)
339-
[![Example code](https://img.shields.io/badge/example-code-blue)](examples/001-dotnet-WebClient)
339+
[![Example code](https://img.shields.io/badge/example-code-blue)](https://github.com/microsoft/kernel-memory/tree/main/examples/001-dotnet-WebClient)
340340
341341
- **Microsoft.KernelMemory.Core:** Kernel Memory core library including all extensions, can be used to build custom pipelines and handlers, contains
342342
also the serverless client to use memory in a synchronous way without the web service.
343343
344344
[![Nuget package](https://img.shields.io/nuget/vpre/Microsoft.KernelMemory.Core)](https://www.nuget.org/packages/Microsoft.KernelMemory.Core/)
345-
[![Example code](https://img.shields.io/badge/example-code-blue)](examples/002-dotnet-Serverless)
345+
[![Example code](https://img.shields.io/badge/example-code-blue)](https://github.com/microsoft/kernel-memory/tree/main/examples/002-dotnet-Serverless)
346346
347347
- **Microsoft.KernelMemory.Service.AspNetCore:** an extension to load Kernel Memory into your ASP.NET apps.
348348
349349
[![Nuget package](https://img.shields.io/nuget/vpre/Microsoft.KernelMemory.Service.AspNetCore)](https://www.nuget.org/packages/Microsoft.KernelMemory.Service.AspNetCore/)
350-
[![Example code](https://img.shields.io/badge/example-code-blue)](examples/204-dotnet-ASP.NET-MVC-integration)
350+
[![Example code](https://img.shields.io/badge/example-code-blue)](https://github.com/microsoft/kernel-memory/tree/main/examples/204-dotnet-ASP.NET-MVC-integration)
351351
352352
- **Microsoft.KernelMemory.SemanticKernelPlugin:** a Memory plugin for Semantic Kernel,
353353
replacing the original Semantic Memory available in SK.
354354
355355
[![Nuget package](https://img.shields.io/nuget/vpre/Microsoft.KernelMemory.SemanticKernelPlugin)](https://www.nuget.org/packages/Microsoft.KernelMemory.SemanticKernelPlugin/)
356-
[![Example code](https://img.shields.io/badge/example-code-blue)](examples/003-dotnet-SemanticKernel-plugin)
356+
[![Example code](https://img.shields.io/badge/example-code-blue)](https://github.com/microsoft/kernel-memory/tree/main/examples/003-dotnet-SemanticKernel-plugin)
357357
358358
### Packages for Python, Java and other languages
359359

App/kernel-memory/extensions/LlamaSharp/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ This project contains the
77
[LLama](https://ai.meta.com/blog/large-language-model-llama-meta-ai/)
88
LLM connector to access to LLama LLM models and generate text,
99
leveraging the
10-
[LLamaSharp]((https://scisharp.github.io/LLamaSharp)) project.
10+
[LLamaSharp](https://scisharp.github.io/LLamaSharp) project.
1111

1212

App/kernel-memory/infra/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,5 @@ var memory = new MemoryWebClient(
5959
apiKey: "...your WebServiceAuthorizationKey1...");
6060
```
6161

62-
We recommend reviewing the [examples](../examples/) included in the repository, e.g. starting from
63-
[001-dotnet-WebClient](../examples/001-dotnet-WebClient).
62+
We recommend reviewing the [examples](https://github.com/microsoft/kernel-memory/tree/main/examples) included in the repository, e.g. starting from
63+
[001-dotnet-WebClient](https://github.com/microsoft/kernel-memory/tree/main/examples/001-dotnet-WebClient).

Deployment/bicep/azurestorageaccount.bicep

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ param skuName string = 'Standard_LRS'
1010
@description('The kind of the storage account')
1111
param kind string = 'StorageV2'
1212

13+
@allowed([
14+
'TLS1_2'
15+
'TLS1_3'
16+
])
17+
@description('Optional. Set the minimum TLS version on request to storage. The TLS versions 1.0 and 1.1 are deprecated and not supported anymore.')
18+
param minimumTlsVersion string = 'TLS1_2'
19+
1320
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
1421
name: storageAccountName
1522
location: location
@@ -19,6 +26,7 @@ resource storageAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
1926
kind: kind
2027
properties: {
2128
accessTier: 'Hot'
29+
minimumTlsVersion: minimumTlsVersion
2230
}
2331
}
2432

0 commit comments

Comments
 (0)