当前位置:首页 > 物联网 > 智能应用
[导读]DeepSeek开源AI模型的发布在技术界引起了很多兴奋。它允许开发人员完全在本地构建应用程序,而无需连接到在线AI模型(例如Claude,Chatgpt等)。开源模型在构建与生成AI集成的企业应用程序时为新机会打开了大门。

DeepSeek开源AI模型的发布在技术界引起了很多兴奋。它允许开发人员完全在本地构建应用程序,而无需连接到在线AI模型(例如Claude,Chatgpt等)。开源模型在构建与生成AI集成的企业应用程序时为新机会打开了大门。

在本文中,您将学习如何在个人机器上本地运行这样的模型,并构建全栈React和Nodejs驱动的应用程序,而不仅仅是另一个聊天机器人。您将能够使用此应用程序来更快地分析简历并做出更明智的招聘决定。在构建应用程序之前,重要的是要了解开源LLM的好处。

开源大语模型的好处

开源模型与使用专有模型相对于使用专有模型提供了一些关键好处:

具有成本效益且无许可证

开源LLM具有成本效益,不需要特殊许可。例如,截至撰写本文的日期,OpenAI的O1的成本为每百万美元的产出代币,开源DeepSeek R1的价格为2.19美元。

可自定义且可调

开源模型可以轻松地进行微调以满足独特的业务案例 - 允许构建更多特定于领域的用例。这导致企业应用程序中的优化性能。

增强数据安全性和隐私

开源使应用程序更加安全,因为宝贵的个人数据不需要上传到第三方服务器,并且只能停留在本地机器或公司网络上仅留在本地机器或公司网络中。这提供了很高的数据安全性。此外,可以对开源模型进行微调以删除所有数据偏差。

社区驱动,没有供应商锁定

开源模型享有巨大的社区支持,并受益于功能开发的快速发展。另一方面,使用属性模型使应用程序供应商锁定并依赖供应商公司提供功能更新。

借助此信息,您可以使用DeepSeek R1开源模型,Node.js和React构建一个真实的应用程序。

项目和建筑概述

您将构建简历分析仪的应用程序 - 它将帮助您了解上传简历的好处和缺点。 DeepSeek R1 LLM将分析上传的简历并提供反馈。您可以通过下面的插图了解应用程序的体系结构。

建筑图

基于React的用户界面使用REST API与基于NODEJS的后端进行通信。然后,Nodejs后端将用户请求发送到使用Ollama托管的DeepSeek R1。整个技术堆栈可以在单台计算机上运行,就像您在整个文章中所做的那样,也可以在更复杂的用例中托管多个容器。

先决条件

· 要运行该项目,您将需要一台具有一些计算功率的计算机,最好是具有NVIDIA图形卡的计算机。该项目已在NVIDIA 4090RTX基于Windows Machine和M2 MacBook Pro上开发和测试。

· 您需要在计算机上安装NodeJ。该项目已建立在Nodejs版本22.3.0上。您可以使用命令验证nodejs安装node -v。

· 您还需要您选择的编辑来完成代码。 构建应用程序时已经使用了Visual Studio代码,通常建议使用。

在本地设置并运行DeepSeek

要在本地运行DeepSeek R1,请按照以下步骤操作:

1。从其官方网站安装Ollama 。

2。安装完成后,您将能够使用ollama run计算机终端中的命令运行模型。

3。运行您选择的DeepSeek模型。本教程是使用DeepSeek R1 8-Billon参数模型构建的。您可以使用命令来运行它ollama run deepseek-r1:8b。

4。如果您的规范计算机比前提条件部分中提到的机器较低,则7b和1.5b参数模型也将起作用,但是生成的输出质量可能较低。

5。模型可能需要花费一些时间才能下载,因为它们需要下载。模型运行后,您应该能够在终端中提出一个问题并获取输出。您可以参考下面的插图,以查看行动中的DeepSeek R1 8B模型。

Ollama DeepSeek R1

6。DeepSeekR1是一种推理模型,因此,它在给出可以产生的第一个答案之前就考虑了。正如上面插图中强调的那样,它在给我们提示的答案之前就在思考。可以在标签中看到这种想法 。

克隆和运行nodejs后端

Ollama服务也可以通过API访问。您将利用此API并构建基于Nodejs的后端层。该层将从用户中取上上载的PDF并从中提取文本。文本提取后,后端将通过Ollama API将文本馈送到DeepSeek R1模型,并恢复响应。此响应将发送给客户端以显示给用户。

1。使用此URL从GitHub克隆后端项目。理想情况下,您应该分配项目,然后克隆自己的本地副本。

2。克隆后,要运行项目,请使用CD转到项目根目录deepseek-ollama-backend。

3。一旦进入项目根,就通过给出npm install命令来安装依赖项。安装完成后,可以使用命令运行项目npm start。项目的核心是app.js 文件。检查下面提供的代码。

const express = require('express');

const multer = require('multer');

const pdfParse = require('pdf-parse');

const axios = require('axios');

const fs = require('fs');

const cors = require('cors');

const app = express();

app.use(cors());

app.use(express.json());

const upload = multer({

dest: 'uploads/',

fileFilter: (req, file, cb) => {

file.mimetype === 'application/pdf' ? cb(null, true) : cb(new Error('Only PDF files are allowed!'));

}

}).single('pdfFile');

app.post('/analyze-pdf', (req, res) => {

upload(req, res, async function(err) {

if (err) {

return res.status(400).json({ error: 'Upload error', details: err.message });

}

try {

if (!req.file) {

return res.status(400).json({ error: 'No PDF file uploaded' });

}

const dataBuffer = fs.readFileSync(req.file.path);

const data = await pdfParse(dataBuffer);

const pdfText = data.text;

fs.unlinkSync(req.file.path);

const response = await axios.post('http://127.0.0.1:11434/api/generate', {

model: "deepseek-r1:8b",

prompt: `Analyze this resume. Resume text is between two --- given ahead: ---${pdfText}---`,

stream: false

});

res.json({ success: true, message: 'Successfully connected to Ollama', ollamaResponse: response.data });

} catch (error) {

if (req.file && fs.existsSync(req.file.path)) {

fs.unlinkSync(req.file.path);

}

res.status(500).json({ error: 'Error processing PDF', details: error.message });

}

});

});

if (!fs.existsSync('uploads')) {

fs.mkdirSync('uploads');

}

const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {

console.log(`Server is running on port ${PORT}`);

});

4。客户通过调用/analyze-pdf类型的API端点与后端进行交互POST。客户端将用户删除的PDF文件作为有效载荷发送给此API。

5。服务器将该文件uploads临时存储在目录中,并将文本提取在文件中。

6。然后使用Ollama的Localhost API端点提示DeepSeek R1 。

7。DeepSeek R1分析了简历的内容并提供了反馈。然后,使用此分析使用该服务器对客户端响应res.json()。

克隆和运行React用户界面

该项目的用户界面将允许用户上传简历,将此简历发送到后端,然后将DeepSeek R1简历分析的结果显示给用户。它还将显示内部思想链或对DeepSeek R1的思考。

1。要开始,分叉然后从此Github URL中克隆该项目。如果您不打算进行许多自定义,则可以简单地克隆它。

2。克隆项目后,使用命令转到根项目目录cd deepseek-ollama-frontend。

3。在项目根部内,使用npm install命令安装必要的依赖项。安装完成后,使用命令启动项目npm run dev。

4。此React应用的主要组成部分是重新分析仪。在您选择的编辑中打开它并进行分析。

5。此组件提供了一个输入字段供用户上传文件。

6。上传的文件使用API端点发送到服务器。

7.服务器的响应分为两个部分的内部思考和模型的实际响应。

8。该AnalysisSection组件显示模型的响应以及包含ExpandableSection组件,该组件用于显示DeepSeek R1的内部思维。

9。导航到浏览器中的URL加载应用程序。上传您的简历(或任何样本简历),并观察DeepSeek R1收到的分析。

结论

DeepSeek R1提供了一个独特的机会,可以在内部完全 构建Genai-Power应用程序,并根据您的需求对其进行自定义。

在本文中,您了解了使用开源Genai模型的好处。此外,您已经使用DeepSeek R1,Node.js和React设置了一个真实的应用程序。此设置使您可以使用AI完全离线执行简历分析。您可以使用此工具在您的组织中雇用SMART,我建议您继续基于本文获得的知识并探索更多用例和应用程序。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭