From 1d5c6d2bd5ae828018479b0e2de058b775afcd37 Mon Sep 17 00:00:00 2001 From: lichao <2483469113@qq.com> Date: Sat, 8 Feb 2025 17:52:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=A1=85=E5=9F=BA?= =?UTF-8?q?=E6=B5=81=E5=8A=A8=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 5 +++++ src/app.module.ts | 2 ++ src/deepseek/deepseek.controller.ts | 15 ++++++++++++++ src/deepseek/deepseek.module.ts | 9 ++++++++ src/deepseek/deepseek.service.ts | 32 +++++++++++++++++++++++++++++ src/user/user.controller.ts | 1 - 6 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 src/deepseek/deepseek.controller.ts create mode 100644 src/deepseek/deepseek.module.ts create mode 100644 src/deepseek/deepseek.service.ts diff --git a/.env b/.env index ef625ab..7a6ef35 100644 --- a/.env +++ b/.env @@ -5,10 +5,15 @@ SERVER_USER='root' PASSWORD='lichao1314' DB_NAME='auth_db' +# github GITHUB_CLIENT_ID=Ov23lihk723FlNAwlFg6 GITHUB_CLIENT_SECRET=b839f50bba1f006ffdd43fb73c5ae221a54e1e2e GITHUB_CALLBACK_URL=http://localhost:3030/auth/github/callback +# 飞书 FEISHU_APP_ID=cli_a66a897f687a5013 FEISHU_APP_SECRET=s106GAbbCZk66OcHN69Rng5TaLK6fiH2 + +# 深寻 +SILICONFLOW_API_KEY=sk-ojmkkuyrfigcmdlijbirbjaqmuwhhfsddcqdvpvayspqrupc diff --git a/src/app.module.ts b/src/app.module.ts index 011e92a..f79acc0 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -8,6 +8,7 @@ import { UserModule } from './user/user.module'; import { User } from './user/entities/user.entity'; import { AuthModule } from './auth/auth.module'; import { LarkModule } from './lark/lark.module'; +import { DeepseekModule } from './deepseek/deepseek.module'; @Module({ imports: [ @@ -34,6 +35,7 @@ import { LarkModule } from './lark/lark.module'; UserModule, AuthModule, LarkModule, + DeepseekModule, ], controllers: [AppController], providers: [AppService], diff --git a/src/deepseek/deepseek.controller.ts b/src/deepseek/deepseek.controller.ts new file mode 100644 index 0000000..a9dbc1f --- /dev/null +++ b/src/deepseek/deepseek.controller.ts @@ -0,0 +1,15 @@ +import { Body, Controller, Post } from '@nestjs/common'; +import { DeepseekService } from './deepseek.service'; +import { Public } from 'src/auth/decorators/public.decorator'; + +@Controller('deepSeek') +export class DeepseekController { + constructor(private readonly deepseekService: DeepseekService) {} + + @Public() + @Post('chat') + async chat(@Body() body: { message: string }) { + const response = await this.deepseekService.chatRequest(body.message); + return response; + } +} diff --git a/src/deepseek/deepseek.module.ts b/src/deepseek/deepseek.module.ts new file mode 100644 index 0000000..28f3d41 --- /dev/null +++ b/src/deepseek/deepseek.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; +import { DeepseekService } from './deepseek.service'; +import { DeepseekController } from './deepseek.controller'; + +@Module({ + controllers: [DeepseekController], + providers: [DeepseekService], +}) +export class DeepseekModule {} diff --git a/src/deepseek/deepseek.service.ts b/src/deepseek/deepseek.service.ts new file mode 100644 index 0000000..25b1fc0 --- /dev/null +++ b/src/deepseek/deepseek.service.ts @@ -0,0 +1,32 @@ +import { Injectable } from '@nestjs/common'; +import axios from 'axios'; + +@Injectable() +export class DeepseekService { + async chatRequest(message: string) { + const url = 'https://api.siliconflow.cn/v1/chat/completions'; + try { + const response = await axios.post( + url, + { + messages: [ + { + content: message, + role: 'user', + }, + ], + model: 'deepseek-ai/DeepSeek-V3', + stream: false, + }, + { + headers: { + Authorization: `Bearer ${process.env.SILICONFLOW_API_KEY}`, + }, + }, + ); + return response.data; + } catch (error) { + console.log(error); + } + } +} diff --git a/src/user/user.controller.ts b/src/user/user.controller.ts index a5585b4..f2d87a2 100644 --- a/src/user/user.controller.ts +++ b/src/user/user.controller.ts @@ -4,7 +4,6 @@ import { Body, UnauthorizedException, BadRequestException, - Get, } from '@nestjs/common'; import { UserService } from '../user/user.service'; import { Public } from '../auth/decorators/public.decorator';