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';
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, apiKey: string): Promise<string> {
const createChatgptDto: CreateChatgptDto = { prompt, apiKey };
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 generatedText = await this.generateText('What is the meaning of life?', '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}`);
}
}
```