Skip to content

Commit ba5dad0

Browse files
committed
Added Meta samples
1 parent 79a58a7 commit ba5dad0

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
using System.Threading.Tasks;
2+
using NUnit.Framework;
3+
using Zatomic.AI.Providers.Meta;
4+
5+
namespace Zatomic.AI.Providers.Samples
6+
{
7+
[TestFixture, Explicit]
8+
public class MetaSamples : BaseSample
9+
{
10+
private readonly string _apiKey;
11+
private readonly string _model;
12+
13+
public MetaSamples()
14+
{
15+
_apiKey = Configuration["Meta:ApiKey"];
16+
_model = Configuration["Meta:Model"];
17+
}
18+
19+
[Test]
20+
public async Task Chat()
21+
{
22+
var client = new MetaChatClient(_apiKey);
23+
var request = new MetaChatRequest(_model);
24+
request.AddSystemMessage(SystemPrompt);
25+
request.AddUserMessage(UserPrompt);
26+
27+
var response = await client.ChatAsync(request);
28+
WriteOutput(response.CompletionMessage.Content.Text);
29+
WriteOutput(response.Usage.PromptTokens, response.Usage.CompletionTokens, response.Usage.TotalTokens, response.Duration.Value);
30+
}
31+
32+
[Test]
33+
public async Task ChatStream()
34+
{
35+
var client = new MetaChatClient(_apiKey);
36+
var request = new MetaChatRequest(_model);
37+
request.AddSystemMessage(SystemPrompt);
38+
request.AddUserMessage(UserPrompt);
39+
40+
int inputTokens = 0;
41+
int outputTokens = 0;
42+
int totalTokens = 0;
43+
decimal duration = 0;
44+
45+
await foreach (var result in client.ChatStreamAsync(request))
46+
{
47+
WriteOutput(result.Chunk);
48+
49+
if (result.InputTokens.HasValue) inputTokens = result.InputTokens.Value;
50+
if (result.OutputTokens.HasValue) outputTokens = result.OutputTokens.Value;
51+
if (result.TotalTokens.HasValue) totalTokens = result.TotalTokens.Value;
52+
if (result.Duration.HasValue) duration = result.Duration.Value;
53+
}
54+
55+
WriteOutput(inputTokens, outputTokens, totalTokens, duration);
56+
}
57+
}
58+
}

0 commit comments

Comments
 (0)