feat: 添加硅基流动相关接口

This commit is contained in:
lichao 2025-02-08 17:52:54 +08:00
parent caa43298ef
commit 1d5c6d2bd5
6 changed files with 63 additions and 1 deletions

5
.env
View File

@ -5,10 +5,15 @@ SERVER_USER='root'
PASSWORD='lichao1314' PASSWORD='lichao1314'
DB_NAME='auth_db' DB_NAME='auth_db'
# github
GITHUB_CLIENT_ID=Ov23lihk723FlNAwlFg6 GITHUB_CLIENT_ID=Ov23lihk723FlNAwlFg6
GITHUB_CLIENT_SECRET=b839f50bba1f006ffdd43fb73c5ae221a54e1e2e GITHUB_CLIENT_SECRET=b839f50bba1f006ffdd43fb73c5ae221a54e1e2e
GITHUB_CALLBACK_URL=http://localhost:3030/auth/github/callback GITHUB_CALLBACK_URL=http://localhost:3030/auth/github/callback
# 飞书
FEISHU_APP_ID=cli_a66a897f687a5013 FEISHU_APP_ID=cli_a66a897f687a5013
FEISHU_APP_SECRET=s106GAbbCZk66OcHN69Rng5TaLK6fiH2 FEISHU_APP_SECRET=s106GAbbCZk66OcHN69Rng5TaLK6fiH2
# 深寻
SILICONFLOW_API_KEY=sk-ojmkkuyrfigcmdlijbirbjaqmuwhhfsddcqdvpvayspqrupc

View File

@ -8,6 +8,7 @@ import { UserModule } from './user/user.module';
import { User } from './user/entities/user.entity'; import { User } from './user/entities/user.entity';
import { AuthModule } from './auth/auth.module'; import { AuthModule } from './auth/auth.module';
import { LarkModule } from './lark/lark.module'; import { LarkModule } from './lark/lark.module';
import { DeepseekModule } from './deepseek/deepseek.module';
@Module({ @Module({
imports: [ imports: [
@ -34,6 +35,7 @@ import { LarkModule } from './lark/lark.module';
UserModule, UserModule,
AuthModule, AuthModule,
LarkModule, LarkModule,
DeepseekModule,
], ],
controllers: [AppController], controllers: [AppController],
providers: [AppService], providers: [AppService],

View File

@ -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;
}
}

View File

@ -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 {}

View File

@ -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);
}
}
}

View File

@ -4,7 +4,6 @@ import {
Body, Body,
UnauthorizedException, UnauthorizedException,
BadRequestException, BadRequestException,
Get,
} from '@nestjs/common'; } from '@nestjs/common';
import { UserService } from '../user/user.service'; import { UserService } from '../user/user.service';
import { Public } from '../auth/decorators/public.decorator'; import { Public } from '../auth/decorators/public.decorator';