Skip to content

Commit 9f474c2

Browse files
committed
Add cited answering and benchmarked graph search
1 parent 7812bdf commit 9f474c2

85 files changed

Lines changed: 6801 additions & 461 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/benchmarks.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Benchmarks
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '0 4 * * 1'
7+
8+
env:
9+
DOTNET_VERSION: '10.0.x'
10+
11+
jobs:
12+
benchmark:
13+
name: BenchmarkDotNet full suite
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 45
16+
permissions:
17+
contents: read
18+
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v6
22+
with:
23+
submodules: true
24+
25+
- name: Setup .NET
26+
uses: actions/setup-dotnet@v5
27+
with:
28+
dotnet-version: ${{ env.DOTNET_VERSION }}
29+
30+
- name: Restore dependencies
31+
run: dotnet restore MarkdownLd.Kb.slnx
32+
33+
- name: Build
34+
run: dotnet build MarkdownLd.Kb.slnx --configuration Release --no-restore
35+
36+
- name: Run fuzzy edit-distance benchmarks
37+
run: dotnet run --project benchmarks/MarkdownLd.Kb.Benchmarks -c Release -- --filter "*FuzzyEditDistanceBenchmarks*"
38+
39+
- name: Run graph build benchmarks
40+
run: dotnet run --project benchmarks/MarkdownLd.Kb.Benchmarks -c Release -- --filter "*GraphBuildBenchmarks*"
41+
42+
- name: Run graph search benchmarks
43+
run: dotnet run --project benchmarks/MarkdownLd.Kb.Benchmarks -c Release -- --filter "*GraphSearchBenchmarks*"
44+
45+
- name: Run Tiktoken search benchmarks
46+
run: dotnet run --project benchmarks/MarkdownLd.Kb.Benchmarks -c Release -- --filter "*TiktokenSearchBenchmarks*"
47+
48+
- name: Upload benchmark artifacts
49+
uses: actions/upload-artifact@v7
50+
with:
51+
name: benchmarkdotnet-results
52+
path: artifacts/benchmarks/results
53+
if-no-files-found: error
54+
retention-days: 14

.github/workflows/validation.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ jobs:
4141
- name: Test with coverage
4242
run: dotnet test --solution MarkdownLd.Kb.slnx --configuration Release --verbosity normal -- --coverage --coverage-output-format cobertura --coverage-output "${{ github.workspace }}/TestResults/TUnitCoverage/coverage.cobertura.xml" --coverage-settings "${{ github.workspace }}/CodeCoverage.runsettings"
4343

44+
- name: Benchmark smoke
45+
run: dotnet run --project benchmarks/MarkdownLd.Kb.Benchmarks -c Release -- --filter "*FuzzyEditDistanceBenchmarks*"
46+
4447
- name: Pack
4548
run: dotnet pack MarkdownLd.Kb.slnx --configuration Release -p:IncludeSymbols=false -p:SymbolPackageFormat=snupkg --output ./artifacts
4649

@@ -51,6 +54,14 @@ jobs:
5154
path: TestResults/TUnitCoverage/coverage.cobertura.xml
5255
retention-days: 5
5356

57+
- name: Upload benchmark artifact
58+
uses: actions/upload-artifact@v7
59+
with:
60+
name: benchmark-smoke
61+
path: artifacts/benchmarks/results
62+
if-no-files-found: error
63+
retention-days: 5
64+
5465
- name: Upload package artifact
5566
uses: actions/upload-artifact@v7
5667
with:

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<PackageReadmeFile>README.md</PackageReadmeFile>
2626
<EnablePackageValidation>true</EnablePackageValidation>
2727
<Product>Markdown-LD Knowledge Bank</Product>
28-
<Version>0.2.0</Version>
28+
<Version>0.2.5</Version>
2929
<PackageVersion>$(Version)</PackageVersion>
3030
</PropertyGroup>
3131

Directory.Packages.props

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
</PropertyGroup>
55
<ItemGroup>
6+
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
67
<PackageVersion Include="dotNetRdf" Version="3.5.1" />
78
<PackageVersion Include="dotNetRdf.Dynamic" Version="3.5.1" />
89
<PackageVersion Include="dotNetRdf.Inferencing" Version="3.5.1" />
@@ -16,15 +17,15 @@
1617
<PackageVersion Include="ManagedCode.Storage.Core" Version="10.0.5" />
1718
<PackageVersion Include="ManagedCode.Storage.FileSystem" Version="10.0.5" />
1819
<PackageVersion Include="ManagedCode.Storage.VirtualFileSystem" Version="10.0.5" />
19-
<PackageVersion Include="Microsoft.Extensions.AI" Version="10.5.0" />
20-
<PackageVersion Include="Microsoft.Extensions.AI.Abstractions" Version="10.5.0" />
21-
<PackageVersion Include="Microsoft.Bcl.Memory" Version="10.0.6" />
20+
<PackageVersion Include="Microsoft.Extensions.AI" Version="10.5.1" />
21+
<PackageVersion Include="Microsoft.Extensions.AI.Abstractions" Version="10.5.1" />
22+
<PackageVersion Include="Microsoft.Bcl.Memory" Version="10.0.7" />
2223
<PackageVersion Include="Microsoft.ML.Tokenizers" Version="2.0.0" />
2324
<PackageVersion Include="Microsoft.ML.Tokenizers.Data.O200kBase" Version="2.0.0" />
24-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.4.0" />
25+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.5.1" />
2526
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.6.2" />
2627
<PackageVersion Include="Shouldly" Version="4.3.0" />
27-
<PackageVersion Include="TUnit" Version="1.37.10" />
28-
<PackageVersion Include="YamlDotNet" Version="17.0.1" />
28+
<PackageVersion Include="TUnit" Version="1.43.11" />
29+
<PackageVersion Include="YamlDotNet" Version="17.1.0" />
2930
</ItemGroup>
30-
</Project>
31+
</Project>

MarkdownLd.Kb.slnx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
<Solution>
2+
<Folder Name="/benchmarks/">
3+
<Project Path="benchmarks/MarkdownLd.Kb.Benchmarks/MarkdownLd.Kb.Benchmarks.csproj" />
4+
</Folder>
25
<Folder Name="/src/">
36
<Project Path="src/MarkdownLd.Kb/MarkdownLd.Kb.csproj" />
47
</Folder>

0 commit comments

Comments
 (0)