Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

nestjs-chatgpt

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nestjs-chatgpt

NestJS module for interacting with the OpenAI's ChatGPT API

  • 1.0.6
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
81
decreased by-49.69%
Maintainers
1
Weekly downloads
 
Created
Source

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}`);
  }
}

```

Keywords

FAQs

Package last updated on 01 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc