35 lines
		
	
	
		
			1021 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			1021 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import { expect, tap } from '@push.rocks/tapbundle';
							 | 
						||
| 
								 | 
							
								import * as qenv from '@push.rocks/qenv';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const testQenv = new qenv.Qenv('./', './.nogit/');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import * as smartai from '../ts/index.js';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								let testSmartai: smartai.SmartAi;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tap.test('OpenAI Chat: should create a smartai instance with OpenAI provider', async () => {
							 | 
						||
| 
								 | 
							
								  testSmartai = new smartai.SmartAi({
							 | 
						||
| 
								 | 
							
								    openaiToken: await testQenv.getEnvVarOnDemand('OPENAI_TOKEN'),
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								  await testSmartai.start();
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tap.test('OpenAI Chat: should create chat response', async () => {
							 | 
						||
| 
								 | 
							
								  const userMessage = 'How are you?';
							 | 
						||
| 
								 | 
							
								  const response = await testSmartai.openaiProvider.chat({
							 | 
						||
| 
								 | 
							
								    systemMessage: 'Hello',
							 | 
						||
| 
								 | 
							
								    userMessage: userMessage,
							 | 
						||
| 
								 | 
							
								    messageHistory: [],
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								  console.log(`userMessage: ${userMessage}`);
							 | 
						||
| 
								 | 
							
								  console.log(response.message);
							 | 
						||
| 
								 | 
							
								  expect(response.role).toEqual('assistant');
							 | 
						||
| 
								 | 
							
								  expect(response.message).toBeTruthy();
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tap.test('OpenAI Chat: should stop the smartai instance', async () => {
							 | 
						||
| 
								 | 
							
								  await testSmartai.stop();
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default tap.start();
							 |