ChatGPT OpenAI API’si Nest.js ile Nasıl kullanılır?

ChatGPT, OpenAI tarafından sunulan bir yapay zeka dil modelidir. Bu model, doğal dil işleme sorunlarına çözüm bulmak için kullanılabilir. Nest.js ise, Node.js tabanlı bir web uygulama çerçevesidir. Bu makalede, ChatGPT OpenAI API'sini Nest.js ile nasıl kullanabileceğinizi ele alacağım.

ChatGPT OpenAI API’si Nest.js ile Nasıl kullanılır?
ChatGPT OpenAI API’si Nest.js ile Nasıl kullanılır?

Gereksinimler

ChatGPT OpenAI API'sini Nest.js ile kullanmak için aşağıdaki gereksinimlere ihtiyacınız vardır:

  1. OpenAI hesabı ve API anahtarı: OpenAI hesabınızı oluşturarak, API anahtarınızı alabilirsiniz.

  2. Nest.js: Nest.js uygulamasını yükleyin ve yapılandırın.

  3. Axios: Axios, HTTP istekleri göndermek için kullanılan bir Node.js modülüdür. Nest.js uygulamasında Axios modülünü yükleyin.

ChatGPT OpenAI API'sini Nest.js ile Kullanma

  1. Axios Modülünü Yükleme

Nest.js uygulamasında, Axios modülünü yüklemek için aşağıdaki komutu kullanın:

npm install axios
  1. OpenAI API Anahtarını Yapılandırma

OpenAI API anahtarını Nest.js uygulamasında yapılandırmak için aşağıdaki adımları izleyin:

a. Uygulama klasöründe .env adlı bir dosya oluşturun.

b. .env dosyasına aşağıdaki satırı ekleyin:

javascript
OPENAI_API_KEY=<API Anahtarı>

c. API anahtarını <API Anahtarı> yerine yazın.

d. .env dosyasını kaydedin.

  1. OpenAI API'sine İstek Gönderme

Nest.js uygulamasında, Axios modülünü kullanarak OpenAI API'sine istek göndermek için aşağıdaki adımları izleyin:

a. Axios modülünü Nest.js uygulamasına ekleyin:

typescript
import axios from axios;

b. openai.service.ts adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:

typescript
import { Injectable } from @nestjs/common; import axios from axios; import { ConfigService } from @nestjs/config; @Injectable() export class OpenaiService { private apiKey: string; constructor(private configService: ConfigService) { this.apiKey = this.configService.get<string>(OPENAI_API_KEY); } async generateText(prompt: string): Promise<string> { const url = https://api.openai.com/v1/engines/davinci-codex/completions; const data = { prompt: prompt, max_tokens: 100, temperature: 0.5, }; const headers = { Content-Type: application/json, Authorization: `Bearer ${this.apiKey}`, }; const response = await axios.post(url, data, { headers: headers }); return response.data.choices[0].text; } }

c. OpenaiService sınıfını Nest.js uygulamasına enjekte edin:

typescript
import { Module } from @nestjs/common; import { ConfigModule } from @nestjs/config; import { OpenaiService } from ./openai.service; @Module({ imports: [ConfigModule], providers: [OpenaiService], exports: [OpenaiService], }) export class OpenaiModule {}

d. app.module.ts adlı dosyayı açın ve OpenaiModule uygulama modülüne ekleyin:

typescript
import { Module } from @nestjs/common; import { ConfigModule } from @nestjs/config; import { OpenaiModule } from ./openai/openai.module; @Module({ imports: [ConfigModule.forRoot(), OpenaiModule], controllers: [], providers: [], }) export class AppModule {}

e. Son olarak, OpenaiService sınıfını istediğiniz herhangi bir serviste enjekte edebilirsiniz ve OpenAI API'sine istek gönderebilirsiniz. Örneğin, app.controller.ts adlı dosyayı açın ve aşağıdaki kodu ekleyin:

typescript
import { Controller, Get } from @nestjs/common; import { OpenaiService } from ../openai/openai.service; @Controller() export class AppController { constructor(private openaiService: OpenaiService) {} @Get() async generateText(): Promise<string> { const prompt = Hello, how are you?; const response = await this.openaiService.generateText(prompt); return response; } }

Bu örnekte, generateText metodu, OpenAI API'sine prompt adlı bir metin dizisi gönderir ve API'den gelen yanıtı döndürür.

ChatGPT OpenAI API'si, Nest.js uygulamasında kullanılabilecek güçlü bir doğal dil işleme aracıdır. Axios modülü ile birlikte kullanarak, API'ye istek göndermek kolaydır. Bu makalede, ChatGPT OpenAI API'sini Nest.js ile nasıl kullanabileceğinizi adım adım gösterdim. Bu yöntemi kullanarak, Nest.js uygulamanızı daha da geliştirebilir ve doğal dil işleme sorunlarına daha etkili bir şekilde çözüm bulabilirsiniz.