nestjs-chatgpt
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

ChatGptService

This service allows you to generate text using the OpenAI API. It uses the axios library to make a post request to the OpenAI API with the provided prompt and API key.

The service exports a single method, generateText, which takes an object with a prompt and apiKey property as an argument. The prompt property should be a string containing the text you would like to generate a response for, and the apiKey property should be a string containing your OpenAI API key.

The generateText method returns a promise that resolves to the generated text.

Usage

To use the ChatGptService, you will first need to import it and the CreateChatgptDto:

import { ChatGptService } from 'nestjs-chatgpt';

You will also need to import the Injectable decorator from @nestjs/common:

import { Injectable } from '@nestjs/common';

in your module you have to include the apiKey in forRoot method:

@Module({
  imports: [ChatGptModule.forRoot('Your apiKey')],
})
export class AppModule {}

You can then use the ChatGptService in a controller or another service by injecting it with the @Injectable() decorator:

@Injectable()
export class MyController {
  constructor(private readonly chatGptService: ChatGptService) {}

  async generateText(prompt: string): Promise<string> {
    const createChatgptDto: CreateChatgptDto = { prompt };
    return this.chatGptService.generateTextGPT3(createChatgptDto);
  }
}
@Injectable()
export class MyController {
  constructor(private readonly chatGptService: ChatGptService) {}

  async generateText(prompt: string, model: string, apiKey: string): Promise<string> {
    const createChatgptDto: CreateChatgptDto = { prompt, model };
    return this.chatGptService.generateText(createChatgptDto);
  }
}

You can then use the generateText method in your controller or service to generate text for the provided prompt:

@Injectable()
const generatedTextGPT3 = await this.generateTextGPT3('What is the meaning of life?', 'my-api-key');
console.log(generatedText);
@Injectable()
const generatedTextGPT3 = await this.generateText('What is the meaning of life?', 'text-davinci-003','my-api-key');
console.log(generatedText);

Error Handling

The generateText method throws a HttpException if there is an error with generating the text.

It is recommended to catch the exception and handle it appropriately in your controller or service.

try {
  const generatedText = await this.generateText('What is the meaning of life?', 'my-api-key');
  console.log(generatedText);
} catch (error) {
  if (error instanceof HttpException) {
    console.log(`Error generating text: ${error.message}`);
  }
}

```

Readme

Keywords

Package Sidebar

Install

npm i nestjs-chatgpt

Weekly Downloads

140

Version

1.0.6

License

MIT

Unpacked Size

15.7 kB

Total Files

28

Last publish

Collaborators

  • engcfraposo