feat: 添加 AI 推荐功能
新增 AI 推荐模块,包括前端界面和后端服务 添加 OpenAI API 密钥配置 实现工程数据分析和推荐功能
This commit is contained in:
23
src/ai/ai.controller.ts
Normal file
23
src/ai/ai.controller.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { Controller, Post, Body } from '@nestjs/common';
|
||||
import { AiService } from './ai.service';
|
||||
|
||||
export class BidDataDto {
|
||||
title: string;
|
||||
url: string;
|
||||
source: string;
|
||||
publishDate: string;
|
||||
}
|
||||
|
||||
export class BidsRequestDto {
|
||||
bids: BidDataDto[];
|
||||
}
|
||||
|
||||
@Controller('api/ai')
|
||||
export class AiController {
|
||||
constructor(private readonly aiService: AiService) {}
|
||||
|
||||
@Post('recommendations')
|
||||
async getRecommendations(@Body() request: BidsRequestDto) {
|
||||
return this.aiService.getRecommendations(request.bids);
|
||||
}
|
||||
}
|
||||
12
src/ai/ai.module.ts
Normal file
12
src/ai/ai.module.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { ConfigModule } from '@nestjs/config';
|
||||
import { AiController } from './ai.controller';
|
||||
import { AiService } from './ai.service';
|
||||
|
||||
@Module({
|
||||
imports: [ConfigModule],
|
||||
controllers: [AiController],
|
||||
providers: [AiService],
|
||||
exports: [AiService],
|
||||
})
|
||||
export class AiModule {}
|
||||
@@ -9,6 +9,7 @@ import { KeywordsModule } from './keywords/keywords.module';
|
||||
import { CrawlerModule } from './crawler/crawler.module';
|
||||
import { TasksModule } from './schedule/schedule.module';
|
||||
import { LoggerModule } from './common/logger/logger.module';
|
||||
import { AiModule } from './ai/ai.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -16,7 +17,7 @@ import { LoggerModule } from './common/logger/logger.module';
|
||||
ScheduleModule.forRoot(),
|
||||
ServeStaticModule.forRoot({
|
||||
rootPath: join(__dirname, '..', 'frontend', 'dist'),
|
||||
exclude: ['/api*'],
|
||||
exclude: ['/api/(.*)'],
|
||||
}),
|
||||
LoggerModule,
|
||||
DatabaseModule,
|
||||
@@ -24,6 +25,7 @@ import { LoggerModule } from './common/logger/logger.module';
|
||||
KeywordsModule,
|
||||
CrawlerModule,
|
||||
TasksModule,
|
||||
AiModule,
|
||||
],
|
||||
})
|
||||
export class AppModule {}
|
||||
Reference in New Issue
Block a user