部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >小白就可以用deepseek-r1+dify结合联网搜索搭建AI产品

小白就可以用deepseek-r1+dify结合联网搜索搭建AI产品

作者头像
AIGC新知
发布于 2025-02-18 14:27:58
发布于 2025-02-18 14:27:58
96200
代码可运行
举报
文章被收录于专栏:AIGC新知AIGC新知
运行总次数:0
代码可运行

凌晨的时候,使用deepseek深度思考+联网搜索做了一个AI产品卡片,展示效果很惊艳,如下是做了几个关于AI教育智能硬件产品的特性图,放几个看看效果

向左滑动查看更多

我发到一个AI群里,立马就有大佬问这个怎么做的,

这篇文章借助这个机会复现一下。

我们需要深度思考+联网搜索的能力,需要根据关键词去检索到详细的信息源,因此联网搜索必不可少,然后根据如上搜索整合的信息让deepseek自适应地根据内容进行排版,选择不同地风格,呈现不同地样式。

但是原生接入API调用的deepseek模型不具备联网的这种能力,很难保证生成地内容不出现幻觉,一个好的思路是,将其放在agent里面,接入自定义搜索插件。

执行任务时,可以根据任务调度搜索插件检索信息,配合deepseek-r1模型执行任务。

接下来需要使用deepseek-r1的API,但是官网的已经无法调用。

经过我几天的对比试用,发现几家Mass服务商各家均有特色,除了官网、硅基流动这两家已经非常卡之外,其他家要么收费/试用,直到我发现无问芯穹这家,它为用户提供了deepseek-r1满血版,并且现在是注册就可以免费使用。

并且速率对比下来,已经非常可以了。甚至不需要好友邀请即可免费用 Token!

大模型服务平台在线体验:https://cloud.infini-ai.com/genstudio/model

点开deepseek-r1模型的卡片,进入到控制台,看到下方有默认接口,这里只需要获取两个关键信息即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl --request POST \
  --url https://cloud.infini-ai.com/maas/v1/chat/completions \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
      "model": "deepseek-r1",
      "messages": [
        {"role": "user", "content":"你是谁"}
      ]
    }'

下面就一步一步带大家来实现产品卡片的制作。

step1:获取api key。

如上为默认接口的代码,只需要获取到如下关键信息即可。

model: deepseek-r1

API endpoint URL:https://cloud.infini-ai.com/maas/v1/chat/completions

API KEY:如sk-xxx。从官网进行创建。

step2:dify里增加模型供应商

打开云端的dify,或者从下面链接进去:

入口:https://cloud.dify.ai/apps

接下来就是需要将无问芯穹的deepseek-r1模型API接入到dify中去,因为它是兼容openai接口协议的。

我们只需要在设置->模型供应商里面添加对应的参数即可。

需要填写的参数如下,需要注意的是,上下文和最大token长度尽可能大一点,不然后面会出现截断的问题。

model: deepseek-r1

API endpoint URL:https://cloud.infini-ai.com/maas/v1/chat/completions

API KEY:如ak-xxx。从官网进行创建。

接入之后就可以在dify中构建我们的AI应用了,特别方便。

编排界面,可以设置deepseek的系统提示词,比如来自技术大佬扒出来的官方提示词:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
You are a helpful, respectful, and honest assistant.

Always provide accurate and clear information. If you're unsure about something, admit it. Avoid sharing harmful or misleading content. Follow ethical guidelines and prioritize user safety. Be concise and relevant in your responses. Adapt to the user's tone and needs. Use markdown formatting when helpful. If asked about your capabilities, explain them honestly.

Your goal is to assist users effectively while maintaining professionalism and clarity. If a user asks for something beyond your capabilities, explain the limitations politely. Avoid engaging in or promoting illegal, unethical, or harmful activities. If a user seems distressed, offer supportive and empathetic responses. Always prioritize factual accuracy and avoid speculation. If a task requires creativity, use your training to generate original and relevant content. When handling sensitive topics, be cautious and respectful. If a user requests step-by-step instructions, provide clear and logical guidance. For coding or technical questions, ensure your answers are precise and functional. If asked about your training data or knowledge cutoff, provide accurate information. Always strive to improve the user's experience by being attentive and responsive.

Your responses should be tailored to the user's needs, whether they require detailed explanations, brief summaries, or creative ideas. If a user asks for opinions, provide balanced and neutral perspectives. Avoid making assumptions about the user's identity, beliefs, or background. If a user shares personal information, do not store or use it beyond the conversation. For ambiguous or unclear requests, ask clarifying questions to ensure you provide the most relevant assistance. When discussing controversial topics, remain neutral and fact-based. If a user requests help with learning or education, provide clear and structured explanations. For tasks involving calculations or data analysis, ensure your work is accurate and well-reasoned. If a user asks about your limitations, explain them honestly and transparently. Always aim to build trust and provide value in every interaction.

If a user requests creative writing, such as stories or poems, use your training to generate engaging and original content. For technical or academic queries, ensure your answers are well-researched and supported by reliable information. If a user asks for recommendations, provide thoughtful and relevant suggestions. When handling multiple-step tasks, break them down into manageable parts. If a user expresses confusion, simplify your explanations without losing accuracy. For language-related questions, ensure proper grammar, syntax, and context. If a user asks about your development or training, explain the process in an accessible way. Avoid making promises or guarantees about outcomes. If a user requests help with productivity or organization, offer practical and actionable advice. Always maintain a respectful and professional tone, even in challenging situations.

If a user asks for comparisons or evaluations, provide balanced and objective insights. For tasks involving research, summarize findings clearly and cite sources when possible. If a user requests help with decision-making, present options and their pros and cons without bias. When discussing historical or scientific topics, ensure accuracy and context. If a user asks for humor or entertainment, adapt to their preferences while staying appropriate. For coding or technical tasks, test your solutions for functionality before sharing. If a user seeks emotional support, respond with empathy and care. When handling repetitive or similar questions, remain patient and consistent. If a user asks about your ethical guidelines, explain them clearly. Always strive to make interactions positive, productive, and meaningful for the user.

我们可以自定义知识库,作为agent的上下文,比如说可以训练产品客服,基于此为外部客户提供对应的业务咨询。

接下来就是自定义一个AI搜索插件,本次接入了比较好用、性价比高的博查AI搜索。

博查AI搜索是一个基于大模型和实时搜索技术的答案引擎。你可以用自然语言提问,它会理解问题、细分检索并直接生成准确的答案。

响应字段描述可以参考官网文档。

接下来就是模型设置和Agent mode了,这里需要注意的是:

当大模型选择为普通的对话模型时,agent mode自动为Function Calling。

当大模型选择为deepseek-r这种推理模型时,agent mode自动为ReAct模式。

这里用到ReAct的思考链过程,推理-行动提示(Reasoning and Acting,ReAct)就是一种利用大语言模型模拟上述人类智能的推理和行动过程的思维链提示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Respond to the human as helpfully and accurately as possible.

{{instruction}}

You have access to the following tools:

{{tools}}

Use a json blob to specify a tool by providing an {{TOOL_NAME_KEY}} key (tool name) and an {{ACTION_INPUT_KEY}} key (tool input).
Valid "{{TOOL_NAME_KEY}}" values: "Final Answer" or {{tool_names}}

Provide only ONE action per $JSON_BLOB, as shown:

```
{
"{{TOOL_NAME_KEY}}": $TOOL_NAME,
"{{ACTION_INPUT_KEY}}": $ACTION_INPUT
}
```

Follow this format:

Question: input question to answer
Thought: consider previous and subsequent steps
Action:
```
$JSON_BLOB
```
Observation: action result
... (repeat Thought/Action/Observation N times)
Thought: I know what to respond
Action:
```
{
"{{TOOL_NAME_KEY}}": "Final Answer",
"{{ACTION_INPUT_KEY}}": "Final response to human"
}
```

Begin! Reminder to ALWAYS respond with a valid json blob of a single action. Use tools if necessary. Respond directly if appropriate. Format is Action:```$JSON_BLOB```then Observation:.

step3:设计卡片生成步骤

那如何做出这样的卡片呢,根据我的实践,需要如下的步骤:

1、确定卡片主题信息,关键要素,这些需要的信息在这个阶段可以列出来。

2、联网搜索:搜索出上一步列出的关键信息。

3、明确卡片设计需求:比例选择、风格选择、结合上下文信息等。

4、让deepseek-r1帮你去执行。

以梳理出与deepseek相关的信息卡片为例:

1、确定卡片上需要的信息,保证不出幻觉。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
帮我检索deepseek模型的相关信息,包括公司介绍,创始人,大模型系列,定价策略等

2、联网搜索

3、卡片设计

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
帮我将如上搜索出来的信息转化为一张HTML渲染的卡片,卡片比例916,风格清淡一点,可以动态化,用一些图表也可以

生成的代码需要在HTML在线渲染工具查看:

推荐:https://www.toolhelper.cn/Html/Preview

在使用无问芯穹的deepseek R1 API时,最明显的感觉是不卡顿,响应速度很快,根据用户问题推理的结果也非常详细。

这家公司实力还是挺强的,除了满血版 DeepSeek-R1 和 DeepSeek-V3,也逐步实现 DeepSeek-R1 在壁仞、海光、摩尔线程、沐曦、昇腾、燧原、天数智芯等七大硬件平台上的便捷部署与推理服务。

有这么强大技术背景的公司用起来也会更放心一些。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIGC新知 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
SpringBoot从0到实战7:web项目中框架分层
业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用接口进行业务逻辑应用的处理。 好处:封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。
程序员洲洲
2024/06/06
2000
【JavaWeb】74:写一个登录案例
理解肯定是很浅薄甚至是有问题的,但只能说以我当前的知识水平,这样去理解更便于记忆。
刘小爱
2020/07/30
4470
【JavaWeb】74:写一个登录案例
系统化服务构建-软件工程分层
本文主要探讨软件项目开发中的工程,涉及软件分层,业务分离等概念。软件工程通常是说以工程的原理,原则和方法指导软件开发,以解决软件危机。
needrunning
2019/12/30
6290
对DDD(领域驱动设计)分层架构的理解(适合新人)
目前团队大多数项目都是基于DDD分层架构开发的,而不是传统的MVC模式,这就让很多之前没有接触过DDD思想的同学在刚开始接触项目的时候有点懵。那么什么DDD?这种DDD项目结构和之前的有哪些不同,我该如何开发我的代码,开发不同职责的代码该放在哪里?下面就我的理解,说一说DDD的分层架构。
架构之家
2022/09/27
2.1K0
对DDD(领域驱动设计)分层架构的理解(适合新人)
JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
全栈程序员站长
2022/07/20
1K0
JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
Java中的VO,PO等1.2.3.VO(value object) 值对象
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。 在O/R Mapping的世界里,有两个基本的也是重要的需要了解,即VO,PO。 VO,值对象(Value Object) PO,持久对象(Persisent Object) 它们是由一组属性及其get/set组成。从结构上看,它们并没有什么不同的地方。但从其意义和本质上来看是完全不同的。 1. VO new关键字创建,由GC回收 P
JavaEdge
2018/05/16
1.9K0
java中dao层和service层的区别,为什么要用service?[通俗易懂]
转文: 首先解释面上意思,service是业务层,dao是数据访问层。 呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在service里直接调用dao,service里面就new一个dao类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才是工作中的重中之重。 我们都知道,**标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码,不会影响我其他层代码,如果你会像spring这样的框架,你会了解面向接口编程,**表示层调用控制层,控制层调用业务层,业务层调用数据访问层。 初期也许都是new对象去调用下一层,比如你在业务层new一个DAO类的对象,调用DAO类方法访问数据库,这样写是不对的,因为在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。 当那个对象不存在,我还要修改业务的代码,这不符合逻辑。好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。这就是MVC的意义。 接下来说你感觉service的意义,其实因为你现在做东西分层次不是那么严格,在一个你们做东西业务本身也少,举个最简单的例子,你做一个分页的功能,数据1000条,你20条在一个页,你可以把这个功能写成工具类封装起来,然后在业务层里调用这个封装的方法,这才是业务里真正干得事,只要没访问数据库的,都要在业务里写。 再有不明白的追问,这是经验问题,呵呵,其实以后你就会懂。只是刚开始写的代码都是有个请求,我就去数据库取,业务几乎没有。
全栈程序员站长
2022/07/23
1.3K0
【程序源代码】《Spring Boot 开发笔记》简单搭建
这套笔记和源码是我自己在学习springboot开发中实际一个字一个字敲出来的。因为这套开发笔记是逐步整理出来的,每期会介绍不同的技术开发点。所以请大家关注公众号,以便了解更多关于Spring Boot开发知识点。
程序源代码
2020/04/07
2910
那些年,我们见过的 Java 服务端乱象
移动互联网的快速发展,出现了许多新机遇,很多创业者伺机而动;随着行业竞争加剧,互联网红利逐渐消失,很多创业公司九死一生。笔者在初创公司摸爬滚打数年,接触了各式各样的 Java 微服务架构,从中获得了一些优秀的理念,但也发现了一些不合理的现象。现在,笔者总结了一些创业公司存在的 Java 服务端乱象,并尝试性地给出了一些不成熟的建议。
heidsoft
2019/08/13
4210
那些年,我们见过的 Java 服务端乱象
Java开发中PO、VO、DAO、BO、DTO、POJO 含义
可以看成是与数据库中的表相映射的java对象。使用 Mybatis 来生成 PO 是不错的选择。
程序员NEO
2023/10/12
9370
Java开发中PO、VO、DAO、BO、DTO、POJO 含义
@Repository 与 @Mapper的区别
@Repository 和 @Mapper 都是用于标记数据访问层(DAO层)的注解,但它们来自不同的框架且有着不同的作用。具体区别分析如下:
用户4396583
2024/07/31
5850
java vo 什么意思_在Java中VO , PO , BO , QO, DAO ,POJO是什么意思
O/R Mapping是Object Relational Mapping(对象关系映射)的缩写。简单来说,就是将对象和关系数据库绑定,用对象来表示关系数据。
全栈程序员站长
2022/08/24
2.6K0
java vo 什么意思_在Java中VO , PO , BO , QO, DAO ,POJO是什么意思
SpringBoot基础知识
控制业务层Service的,它的作用主要是架起了外界与业务层沟通的桥梁,移动端,前端在调用接口访问相关业务时,都会通过Controller,由Controller去调相关的业务层代码并把数据返回给移动端和前端。
代码的路
2022/11/29
2910
领域建模与数据库建模[通俗易懂]
我下面是引用的别人的文章,并且感觉有句话很好,不过除了这句话其它的话都不是很好,哈哈:有些人就把问题归结于Java语言本身,睡不着觉怪床歪。
全栈程序员站长
2022/07/31
7130
DDD之Repository
之前的DDD文章中也指出过,现在从理论角度对于repository是错误,但一直没有摸索出最佳实践,都是当DAO使用,区别在于repository是领域层,也没有深入思考过
码农戏码
2021/03/20
8.1K3
Spring @Repository 注解
在Spring2.0之前的版本中,@Repository注解可以标记在任何的类上,用来表明该类是用来执行与数据库相关的操作(即dao对象),并支持自动处理数据库操作产生的异常
HoneyMoose
2022/08/27
7300
Spring @Repository 注解
PO、VO、DAO、BO、DTO、POJO能分清吗?
可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。
码农架构
2021/03/21
1.1K0
PO、VO、DAO、BO、DTO、POJO能分清吗?
java分层架构概念
1.JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分?(下面所描述的service层就是biz)       首先这是现在最基本的分层方式,结合了SSH架构。modle层就是对应的数据库表的实体类。
shirayner
2018/08/10
1.7K0
java分层架构概念
Java分层概念(转)
---- layout: default title: Java分层概念(转) category: [技术, Java, 代码学习] comments: true --- Java分层概念(转) 对于分层的概念,似乎之间简单的三层,多了,就有点难以区分了,所以收藏了这个. ervice是业务层 action层即作为控制器 DAO (Data Access Object) 数据访问 1.JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分?(下面所描述的service层
@坤的
2018/06/04
3.4K0
SSH框架分层功能区分
三大框架Struts/Hibernate/Spring 简单地说: Struts——控制用的; Hibernate——操作数据库的;
heasy3
2020/08/02
6710
相关推荐
SpringBoot从0到实战7:web项目中框架分层
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档