Skip to content

Commit 0ad4803

Browse files
add sample app using Mscc.GenerativeAI.Microsoft package
1 parent eeca402 commit 0ad4803

File tree

3 files changed

+74
-0
lines changed

3 files changed

+74
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<ProjectReference Include="..\..\src\Mscc.GenerativeAI.Microsoft\Mscc.GenerativeAI.Microsoft.csproj" />
12+
</ItemGroup>
13+
14+
<ItemGroup>
15+
<None Update=".env">
16+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
17+
</None>
18+
</ItemGroup>
19+
20+
</Project>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using Microsoft.Extensions.AI;
2+
using Mscc.GenerativeAI;
3+
using Mscc.GenerativeAI.Microsoft;
4+
5+
GenerativeAIExtensions.ReadDotEnv();
6+
var apiKey = Environment.GetEnvironmentVariable("GOOGLE_API_KEY");
7+
var model = "gemini-1.5-pro-latest";
8+
var prompt = "What is AI?";
9+
10+
IChatClient chatClient = new GeminiChatClient(apiKey, model);
11+
12+
var response = await chatClient.CompleteAsync(prompt);
13+
Console.WriteLine(response.Message);
14+
15+
response = await chatClient.CompleteAsync(
16+
"Translate the following text into Pig Latin: I love .NET and AI");
17+
Console.WriteLine(response.Message);
18+
19+
// Create embeddings using the appropriate model.
20+
model = "text-embedding-004";
21+
IEmbeddingGenerator<string,Embedding<float>> generator =
22+
new GeminiEmbeddingGenerator(apiKey, model);
23+
var embeddings = await generator.GenerateAsync([prompt]);
24+
Console.WriteLine(string.Join(", ", embeddings[0].Vector.ToArray()));

samples/samples.sln

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Web.Mvc", "Web.Mvc\Web.Mvc.
1313
EndProject
1414
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SemanticKernel.Gemini", "SemanticKernel.Gemini\SemanticKernel.Gemini.csproj", "{3955FD4D-CBC8-4CF6-9BAB-31B02DADEEC0}"
1515
EndProject
16+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Console.HikeBenefitsSummary", "Console.HikeBenefitsSummary\Console.HikeBenefitsSummary.csproj", "{51C1F508-F281-4631-A0A0-904D026414AC}"
17+
EndProject
18+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Console.HikeChatter", "Console.HikeChatter\Console.HikeChatter.csproj", "{3CC1ED0A-D3CA-4A6D-97E5-C866D1A2B66F}"
19+
EndProject
20+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Console.HikerAI", "Console.HikerAI\Console.HikerAI.csproj", "{EB19E607-4C4D-4B04-A2B3-DDD5A3833019}"
21+
EndProject
22+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mscc.GenerativeAI.Microsoft", "..\src\Mscc.GenerativeAI.Microsoft\Mscc.GenerativeAI.Microsoft.csproj", "{4C59046E-DB37-4FDF-858E-8896F725343A}"
23+
EndProject
24+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MicrosoftExtensions.Gemini", "MicrosoftExtensions.Gemini\MicrosoftExtensions.Gemini.csproj", "{D5EA3C55-64E4-45B8-AB92-DE3E3509BFB6}"
25+
EndProject
1626
Global
1727
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1828
Debug|Any CPU = Debug|Any CPU
@@ -39,6 +49,26 @@ Global
3949
{3955FD4D-CBC8-4CF6-9BAB-31B02DADEEC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
4050
{3955FD4D-CBC8-4CF6-9BAB-31B02DADEEC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
4151
{3955FD4D-CBC8-4CF6-9BAB-31B02DADEEC0}.Release|Any CPU.Build.0 = Release|Any CPU
52+
{51C1F508-F281-4631-A0A0-904D026414AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
53+
{51C1F508-F281-4631-A0A0-904D026414AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
54+
{51C1F508-F281-4631-A0A0-904D026414AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
55+
{51C1F508-F281-4631-A0A0-904D026414AC}.Release|Any CPU.Build.0 = Release|Any CPU
56+
{3CC1ED0A-D3CA-4A6D-97E5-C866D1A2B66F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
57+
{3CC1ED0A-D3CA-4A6D-97E5-C866D1A2B66F}.Debug|Any CPU.Build.0 = Debug|Any CPU
58+
{3CC1ED0A-D3CA-4A6D-97E5-C866D1A2B66F}.Release|Any CPU.ActiveCfg = Release|Any CPU
59+
{3CC1ED0A-D3CA-4A6D-97E5-C866D1A2B66F}.Release|Any CPU.Build.0 = Release|Any CPU
60+
{EB19E607-4C4D-4B04-A2B3-DDD5A3833019}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
61+
{EB19E607-4C4D-4B04-A2B3-DDD5A3833019}.Debug|Any CPU.Build.0 = Debug|Any CPU
62+
{EB19E607-4C4D-4B04-A2B3-DDD5A3833019}.Release|Any CPU.ActiveCfg = Release|Any CPU
63+
{EB19E607-4C4D-4B04-A2B3-DDD5A3833019}.Release|Any CPU.Build.0 = Release|Any CPU
64+
{4C59046E-DB37-4FDF-858E-8896F725343A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
65+
{4C59046E-DB37-4FDF-858E-8896F725343A}.Debug|Any CPU.Build.0 = Debug|Any CPU
66+
{4C59046E-DB37-4FDF-858E-8896F725343A}.Release|Any CPU.ActiveCfg = Release|Any CPU
67+
{4C59046E-DB37-4FDF-858E-8896F725343A}.Release|Any CPU.Build.0 = Release|Any CPU
68+
{D5EA3C55-64E4-45B8-AB92-DE3E3509BFB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
69+
{D5EA3C55-64E4-45B8-AB92-DE3E3509BFB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
70+
{D5EA3C55-64E4-45B8-AB92-DE3E3509BFB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
71+
{D5EA3C55-64E4-45B8-AB92-DE3E3509BFB6}.Release|Any CPU.Build.0 = Release|Any CPU
4272
EndGlobalSection
4373
GlobalSection(SolutionProperties) = preSolution
4474
HideSolutionNode = FALSE

0 commit comments

Comments
 (0)