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.

Gereksinimler
ChatGPT OpenAI API'sini Nest.js ile kullanmak için aşağıdaki gereksinimlere ihtiyacınız vardır:
OpenAI hesabı ve API anahtarı: OpenAI hesabınızı oluşturarak, API anahtarınızı alabilirsiniz.
Nest.js: Nest.js uygulamasını yükleyin ve yapılandırın.
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
- 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
- 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:
javascriptOPENAI_API_KEY=<API Anahtarı>
c. API anahtarını <API Anahtarı>
yerine yazın.
d. .env
dosyasını kaydedin.
- 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:
typescriptimport axios from axios;
b. openai.service.ts
adlı bir dosya oluşturun ve aşağıdaki kodu ekleyin:
typescriptimport { 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:
typescriptimport { 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:
typescriptimport { 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:
typescriptimport { 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.