11using System . Net . Http . Headers ;
2+ using FluentAssertions ;
23using Microsoft . Extensions . AI ;
4+ using Microsoft . SemanticKernel ;
35using Together . Models . ChatCompletions ;
46using Together . Models . Completions ;
57using Together . Models . Embeddings ;
68using Together . Models . Images ;
79using Together . Models . Rerank ;
10+ using Together . SemanticKernel ;
811
912namespace Together . Tests ;
1013
1114public class SemanticKernelIntegraionTests
1215{
1316 private static readonly string API_KEY = "API_KEY" ;
14-
15- private TogetherClient CreateTogetherClient ( )
16- {
17- var httpClient = new HttpClient ( ) ;
18- httpClient . Timeout = TimeSpan . FromSeconds ( TogetherConstants . TIMEOUT_SECS ) ;
19- return new TogetherClient ( httpClient , API_KEY ) ;
20- }
17+
2118
2219// [Fact
2320// #if !API_TEST
2421// (Skip = "This test is skipped because it requires a valid API key")
2522// #endif
2623// ]
2724
28- public async Task CompletionTest ( )
25+ [ Fact ]
26+ public async Task InvokePromptAsyncTest ( )
2927 {
30- var client = CreateTogetherClient ( ) ;
28+ var kernel = Kernel . CreateBuilder ( )
29+ . AddTogetherChatCompletion ( "meta-llama/Meta-Llama-3-70B-Instruct-Turbo" , API_KEY ) . Build ( ) ;
3130
31+ var answer = await kernel . InvokePromptAsync ( "Hi" ) ;
32+ answer . RenderedPrompt . Should ( ) . NotBeNullOrEmpty ( ) ;
33+ }
34+
35+ [ Fact ]
36+ public async Task CompletionTest ( )
37+ {
38+ var kernel = Kernel . CreateBuilder ( )
39+ . AddTogetherChatCompletion ( "meta-llama/Meta-Llama-3-70B-Instruct-Turbo" , API_KEY ) . Build ( ) ;
3240
33- var responseAsync = await client . Completions . CreateAsync ( new CompletionRequest
34- {
35- Prompt = "Hi" ,
36- Model = "meta-llama/Meta-Llama-3-70B-Instruct-Turbo" ,
37- MaxTokens = 20
38- } ) ;
39-
40- Assert . NotEmpty ( responseAsync . Choices . First ( )
41- . Text ) ;
41+ bool call = false ;
42+ kernel . ImportPluginFromFunctions ( "currentTime" , "return current time" ,
43+ [
44+ kernel . CreateFunctionFromMethod ( ( ) =>
45+ {
46+ call = true ;
47+ return new System . DateTime ( ) . ToString ( ) ;
48+ } , "GetCurrentTime" ) ,
49+ ] ) ;
50+
51+ var answer = await kernel . InvokePromptAsync ( "What is the current time?" ) ;
52+ answer . RenderedPrompt . Should ( ) . NotBeNullOrEmpty ( ) ;
53+ call . Should ( )
54+ . BeTrue ( ) ;
4255 }
56+ }
0 commit comments