forked from SciSharp/LLamaSharp
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathLLamaSharp.csproj
More file actions
102 lines (89 loc) · 5.69 KB
/
Copy pathLLamaSharp.csproj
File metadata and controls
102 lines (89 loc) · 5.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net8.0</TargetFrameworks>
<RootNamespace>LLama</RootNamespace>
<Nullable>enable</Nullable>
<LangVersion>13</LangVersion>
<Platforms>AnyCPU;x64;Arm64</Platforms>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<Version>0.27.0</Version>
<Authors>Rinne, Martin Evans, jlsantiago and all the other contributors in https://github.com/SciSharp/LLamaSharp/graphs/contributors.</Authors>
<Company>SciSharp STACK</Company>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Copyright>MIT, SciSharp STACK $([System.DateTime]::UtcNow.ToString(yyyy))</Copyright>
<RepositoryUrl>https://github.com/SciSharp/LLamaSharp</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageIconUrl>https://avatars3.githubusercontent.com/u/44989469?s=200&v=4</PackageIconUrl>
<PackageTags>LLama, LLM, GPT, ChatGPT, NLP, AI, Chat Bot, SciSharp</PackageTags>
<Description>
LLamaSharp is a cross-platform library to run 🦙LLaMA/Mtmd model (and others) in your local device.
Based on [llama.cpp](https://github.com/ggerganov/llama.cpp), inference with LLamaSharp is efficient on both CPU and GPU.
With the higher-level APIs and RAG support, it's convenient to deploy LLM (Large Language Model) in your application with LLamaSharp.
</Description>
<PackageReleaseNotes>
Updated llama.cpp version to 3f7c29d318e317b63f54c558bc69803963d7d88c
</PackageReleaseNotes>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageOutputPath>packages</PackageOutputPath>
<Platforms>AnyCPU;x64;Arm64</Platforms>
<PackageId>LLamaSharp</PackageId>
<Configurations>Debug;Release;GPU</Configurations>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<PropertyGroup>
<PackageReadmeFile>README.md</PackageReadmeFile>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<None Include="..\README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
<PackageReference Include="IsExternalInit" Version="1.0.3" PrivateAssets="all" />
<PackageReference Include="System.Memory" Version="4.6.3" PrivateAssets="all" />
<PackageReference Include="System.Text.Json" Version="10.0.7" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.HighPerformance" Version="8.4.2" />
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="10.0.7" />
<PackageReference Include="Microsoft.Bcl.Memory" Version="10.0.7" />
<PackageReference Include="Microsoft.Extensions.AI.Abstractions" Version="10.5.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.5" />
<PackageReference Include="System.Linq.Async" Version="7.0.0" />
<PackageReference Include="System.Linq.AsyncEnumerable" Version="10.0.2" />
<PackageReference Include="System.Numerics.Tensors" Version="10.0.5" />
</ItemGroup>
<PropertyGroup>
<BinaryReleaseId>c0c7e147e7efa6c58587_test</BinaryReleaseId>
</PropertyGroup>
<PropertyGroup>
<FirstTargetFramework Condition=" '$(TargetFrameworks)' == '' ">$(TargetFramework)</FirstTargetFramework>
<FirstTargetFramework Condition=" '$(FirstTargetFramework)' == '' ">$(TargetFrameworks.Split(';')[0])</FirstTargetFramework>
</PropertyGroup>
<!-- When UnzipReleaseBinaries is called, this will run first, as UnzipReleaseBinaries depends on it (check DependsOnTargets of UnzipReleaseBinaries) -->
<Target Name="DownloadReleaseBinaries">
<Message Importance="High" Text="Download '$(BinaryReleaseId)/deps.zip' to 'runtimes'" />
<DownloadFile SourceUrl="https://github.com/SciSharp/LLamaSharpBinaries/releases/download/$(BinaryReleaseId)/deps.zip" DestinationFolder="runtimes" DestinationFileName="deps.zip" SkipUnchangedFiles="true" Retries="3" />
</Target>
<!-- This automatically runs after CheckReleaseBinaries has completed, but only if SkipDownloadReleaseBinaries is not true -->
<Target Name="UnzipReleaseBinaries" DependsOnTargets="DownloadReleaseBinaries" AfterTargets="CheckReleaseBinaries" Condition="'$(SkipDownloadReleaseBinaries)' != 'true'">
<Message Importance="High" Text="Unzip '$(BinaryReleaseId)/deps.zip'" />
<Unzip SourceFiles="runtimes/deps.zip" DestinationFolder="runtimes/deps/" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" Include="*.dll;*.so;*.dylib;" />
<WriteLinesToFile File="runtimes/release_id.txt" Lines="$(BinaryReleaseId)" Overwrite="true" />
</Target>
<Target Name="CheckReleaseBinaries">
<!-- First, we read the previous binary release id from disk -->
<ReadLinesFromFile File="runtimes/release_id.txt">
<Output TaskParameter="Lines" ItemName="PreviousBinaryReleaseId" />
</ReadLinesFromFile>
<!-- If the previous binary release id is the same as the current one (which we define at the top of this file), we skip the download -->
<PropertyGroup>
<SkipDownloadReleaseBinaries Condition="'%(PreviousBinaryReleaseId.Identity)' == '$(BinaryReleaseId)' AND Exists('runtimes/deps/')">true</SkipDownloadReleaseBinaries>
</PropertyGroup>
</Target>
<!-- This always gets called before the build. The race condition between inner builds (netstandard2.0, net8.0)
is prevented by the release_id.txt sentinel: the outer build downloads/extracts and writes the sentinel,
then inner builds read it and skip. -->
<Target Name="PrepareReleaseBinaries" BeforeTargets="DispatchToInnerBuilds;BeforeBuild">
<MSBuild Projects="$(MSBuildProjectFile)" Targets="CheckReleaseBinaries" Properties="TargetFramework=$(FirstTargetFramework)" />
</Target>
</Project>