jarvis-kb-nest
v0.0.2
Published
<h1 align="center">Jarvis KB Nest</h1>
Downloads
6
Readme
Installing
Package manager
Using npm:
$ npm install jarvis-kb-nest
Using yarn:
$ yarn add jarvis-kb-nest
Once the package is installed, you can import the library using import
:
import { JarvisKBModule } from 'jarvis-kb-nest';
Example
Params
import { ConfigModule, ConfigService } from '@nestjs/config';
const jarvisModuleParams = {
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) => ({
secretKey: configService.getOrThrow<string>('SECRET_KEY'),
publicKey: configService.getOrThrow<string>('PUBLIC_KEY'),
}),
};
export default jarvisModuleParams;
Module
import { Module } from '@nestjs/common';
import { AssistantController } from './assistant.controller';
import { JarvisKBModule } from 'jarvis-kb-nest';
import jarvisModuleParams from './helpers/jarvis-kb-module-params';
import { AssistantService } from './assistant.service';
@Module({
imports: [JarvisKBModule.forRootAsync(jarvisModuleParams)],
controllers: [AssistantController],
providers: [AssistantService],
})
export class AssistantModule {}
Service
import { Injectable } from '@nestjs/common';
import { ThreadRecipe, TokenManager } from 'jarvis-kb-nest';
@Injectable()
export class AssistantService {
constructor(
private threadRecipe: ThreadRecipe,
private tokenManager: TokenManager,
) {}
async createThread(firstMessage?: string) {
try {
const thread = await this.threadRecipe.createThread(firstMessage);
return thread;
} catch (error) {
throw error;
}
}
async getThreads() {
try {
const threads = await this.threadRecipe.getThreads();
return threads;
} catch (error) {
throw error;
}
}
async retrieveMessage(openAiThreadId: string) {
try {
const messages = await this.threadRecipe.retrieveMessage(openAiThreadId);
return messages;
} catch (error) {
throw error;
}
}
async chatWithAssistant(openAiThreadId: string, message: string) {
try {
const messages = await this.threadRecipe.doAskAssistant(
openAiThreadId,
message,
);
return messages;
} catch (error) {
throw error;
}
}
generateToken() {
try {
const token = this.tokenManager.generateUserToken();
return token;
} catch (error) {
throw error;
}
}
}