Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internet search support for full model like DeepSeek R1 | 联网搜索支持到全模型如 DeepSeek R1 #6843

Open
arvinxx opened this issue Mar 9, 2025 · 43 comments
Labels
🌠 Feature Request New feature or request | 特性与建议

Comments

@arvinxx
Copy link
Contributor

arvinxx commented Mar 9, 2025

Version 1.70.0 has supported online search for the full model. We welcome everyone to provide feedback on usage~


v.1.70.0 已支持到全模型的联网搜索,欢迎大家提出使用反馈~

@arvinxx arvinxx pinned this issue Mar 9, 2025
@lobehub lobehub deleted a comment from lobehubbot Mar 9, 2025
@dosubot dosubot bot added the 🌠 Feature Request New feature or request | 特性与建议 label Mar 9, 2025
@agluo
Copy link

agluo commented Mar 9, 2025

用deepseek 官方api ,r1无法触发联网emmm

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Using deepseek official API, r1 cannot trigger networking emmm

@agluo
Copy link

agluo commented Mar 9, 2025

Image是我问的方式不对吗?

@mondepari
Copy link

@arvinxx yesterday I tried to make edits to make the search work. The thing is that when building a Docker image, various errors pop up: either with node_modules from packages/web-crawler (error of undefined rights) errors in the code eslint complains about spelling). I'll check now, maybe I'm doing something wrong? Do I need to run pnpm install commands after making edits to the code? When running pnpm dev locally, everything works, but it doesn't compile the Docker file

@ChenLuoi
Copy link

前置判断模型,我使用了我手上大部分支持fc的模型
以下是测试结果

  1. qwen系列,包括qwen-plus和qwen-max: 出现400错误
    <400> InternalError.Algo.InvalidParameter: Input should be a valid dictionary or instance of PluginParameters: parameters.plugins

  2. grok-2-1212: 输出以下内容后直接中断

id: 9a59e274-9955-4698-a5cf-bbd071294752
event: text
data: "I"
  1. gemini-2.0-flash: 正常
  2. doubao-1.5-pro-32k: 正常
  3. qwen-2.0-14B: 大概率正常,偶尔会匹配到crawlSinglePage的tool

几个建议

  1. 这个前置小模型智能水平一般不会太高,大部分都不可能链式启动多个tool,这里只是为了搜索,可以去掉crawlSinglePage和crawlMultiPage,只保留search的tool;
  2. 建议在消息中将搜索结果和用户输入整合,并添加时间等必要信息,比如deepseek给出的prompt
  3. 前置判断模型的提示词也建议加上时间

@SAnBlog

This comment has been minimized.

@lobehubbot

This comment has been minimized.

@arvinxx

This comment has been minimized.

@lobehubbot

This comment has been minimized.

@arvinxx
Copy link
Contributor Author

arvinxx commented Mar 10, 2025

@ChenLuoi

qwen系列,包括qwen-plus和qwen-max: 出现400错误
<400> InternalError.Algo.InvalidParameter: Input should be a valid dictionary or instance of PluginParameters: parameters.plugins

这个我怀疑是入参没裁剪导致的,可能是系统bug,晚点我看看

grok-2-1212: 输出以下内容后直接中断

中断是正常的,我的实现中做的逻辑是,如果输出的 chunk 类型不是 fc,就停止搜索模型的输出,并开始生成。

这个前置小模型智能水平一般不会太高,大部分都不可能链式启动多个tool,这里只是为了搜索,可以去掉crawlSinglePage和crawlMultiPage,只保留search的tool;

这个我觉得不太好,我昨天测了下其实像 4omini 都能做到简单的链式调用多个 tool。所以还是保留比较合适。

建议在消息中将搜索结果和用户输入整合,并添加时间等必要信息,比如deepseek给出的prompt

目前搜索结果的返回里的确没加上时间,我补一下吧

前置判断模型的提示词也建议加上时间

这个现在没加吗?我记得应该有才对

@huangkairan
Copy link

huangkairan commented Mar 10, 2025

  1. 模型无法确定问题是否需要联网(如图)
  2. 模型联网搜索获取到的信息有误(看起来像是没有给时间相关的prompt)

Image

问天气,2次查的信息有些出入

Image

Image

@ChenLuoi
Copy link

@arvinxx

grok-2-1212: 输出以下内容后直接中断

中断是正常的,我的实现中做的逻辑是,如果输出的 chunk 类型不是 fc,就停止搜索模型的输出,并开始生成。

大部分fc的模型都是只返回fc的结果,但是部分模型,比如grok会在返回fc结果之前增加一段文本 I am searching for recent hot topics related to Boardmix using multiple search engines. 这种case会导致部分模型没法作为搜索辅助

前置判断模型的提示词也建议加上时间

这个现在没加吗?我记得应该有才对

从networks里面看好像是没有,没看代码,不知道在server有没有附加上去

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@arvinxx

grok-2-1212: Export the following content and directly interrupt it

Interrupts are normal, the logic I did in my implementation is that if the output chunk type is not fc, stop searching for the output of the model and start generating.

Most of the FC models only return the results of FC, but some models, such as grok, will add a piece of text before returning the results of FC. I am searching for recent hot topics related to Boardmix using multiple search engines. This case will cause some models to be unable to be used as search assistance.

The prompt words for the pre-judgment model are also recommended to add time

Haven't this been added now? I remember there should be talent

It seems that there is no code from the networks. I don't know if it is attached to the server.

@samurai00
Copy link

在一次会话中,第二次的搜索结果展示好像还是第一次的结果,但根据第二次的回答内容,看起来,实际搜索结果应该是对的。

Image
Image
Image
Image
Image

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


In a session, the second search result appears to be the first result, but according to the second answer, it seems that the actual search result should be correct.

Image
Image
Image
Image
Image

@arvinxx
Copy link
Contributor Author

arvinxx commented Mar 10, 2025

大部分fc的模型都是只返回fc的结果,但是部分模型,比如grok会在返回fc结果之前增加一段文本 I am searching for recent hot topics related to Boardmix using multiple search engines. 这种case会导致部分模型没法作为搜索辅助

的确… 我昨天测 Claude 3.7 的时候也发现有这个问题。我感觉通过 prompt 约束可以解决,但昨天太晚了没测。后面有空再试试看。

从networks里面看好像是没有,没看代码,不知道在server有没有附加上去

你看下 第一句消息,放在 system role 里的

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Most of the FC models only return the results of FC, but some models, such as grok, will add a piece of text before returning the results of FC. I am searching for recent hot topics related to Boardmix using multiple search engines. This case will cause some models to be unable to serve as search assistance.

Indeed... I also found this problem when I tested Claude 3.7 yesterday. I feel that it can be solved through prompt constraints, but it was too late yesterday and it was not tested. Try it later if you have time.

It seems that there is no code from the networks, I don't know if it is attached to the server

Look at the first message, put in the system role

@xt1990xt1990

This comment has been minimized.

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Image

Image
Both the official API and the Siliconflow Pro API report errors, and only the third-party API of Sophnet returns the search results. However, it feels strange to see the thinking process. Is there any problem with the way I open it?

@arvinxx

This comment has been minimized.

@shog86
Copy link

shog86 commented Mar 10, 2025

没能触发联网

1.70.0

改成Sreach online...之后可以了

image

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Failed to trigger the Internet

1.70.0

image

@xt1990xt1990

This comment has been minimized.

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


@xt1990xt1990 Have you configured the reasoner to allow it to use Function Calling?

I found the problem. After I turned off the function switch of r1, it was all normal. Thank you guys

@toddyoe
Copy link

toddyoe commented Mar 10, 2025

反馈两个问题:

  1. 前置辅助模型用gemini-2.0-flash-exp大概率触发不了联网搜索
  2. lobechat部署在vercel上,搜索的时候很多时候都报下面这个错误是什么原因?
    Image

@m0eak
Copy link

m0eak commented Mar 10, 2025

确实有些不稳定,也不知道怎么输入才能100%触发搜索,同一句话搜索一下 rtx5060的信息删除并重新生成第二次触发联网了

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


It is indeed a bit unstable, and I don’t know how to input it to trigger the search 100%. Search the same sentence. The information of rtx5060 is deleted and regenerated for the second trigger.

@arvinxx
Copy link
Contributor Author

arvinxx commented Mar 10, 2025

@m0eak 智能的问题就是在如果模型不够聪明的情况下就会显得很蠢 🤡 可能强制联网仍然是一个刚需?

@m0eak
Copy link

m0eak commented Mar 11, 2025

@m0eak 智能的问题就是在如果模型不够聪明的情况下就会显得很蠢 🤡 可能强制联网仍然是一个刚需?

能强制的话还是比较好的,因为现在有点量子力学的感觉,我也不知道他会不会联网😂

@Wool-yang
Copy link

Wool-yang commented Mar 11, 2025

目前存在

  1. 反复爬取 某个相同页面
  2. searxng 搜索结果雷同

这两个情况,会导致输入 tokens 很高
不知道能否做某种缓存或者其他机制来降低搜索的消耗费用

@Wool-yang
Copy link

联网查询底部的引用列表能否实现,点击相应的引用能够打开对应的链接的效果
目前是在结果和引用展示列表中互相跳转

@nzhdotme
Copy link

非常不稳定,openai 系统的 4o 4omini 辅助 r1 都联不了网
就 ds 的 v3 辅助 r1 可用,但经常卡死,搜索了无法 crawl 网页

@arvinxx
Copy link
Contributor Author

arvinxx commented Mar 11, 2025

这么看下来,还是需要一个强制联网功能的

@Sun-drenched
Copy link

目前存在

  1. 反复爬取 某个相同页面
  2. searxng 搜索结果雷同

这两个情况,会导致输入 tokens 很高 不知道能否做某种缓存或者其他机制来降低搜索的消耗费用

缓存的话,如果使用OpenAI / DeepSeek等API侧无感支持缓存的模型;应该是能自动启用缓存的

@canisminor1990
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Currently exists

  1. Repeatedly crawl a certain page
  2. The search results of the same as in the searxng

These two situations will cause the input tokens to be very high. I don’t know if some kind of caching or other mechanism can be used to reduce the cost of searching.

For cache, if you use OpenAI/DeepSeek and other API-side sensing-free model to support cache; it should be able to automatically enable cache.

@Sun-drenched
Copy link

Sun-drenched commented Mar 11, 2025

这么看下来,还是需要一个强制联网功能的

但是强制每次都联网/爬取多个网页的话,太烧token了——无论是辅助模型还是对话模型。对于相似问题抓取相同网页,造成大量token浪费以及时间延误的话,用户体验也不会好。而且辅助模型的token消耗不会被聊天工具栏“上下文明细”中体现,容易给用户带来“无感”的大量资源消耗。使用支持缓存的模型可以大幅缓解,但不是每个用户都会选择使用支持缓存的模型(他们的渠道是否支持缓存也是变量)。——感觉这部分是否应该在UI上有消耗大量token的风险提示?

另外,在辅助模型判断搜索意图的过程中,是否可以一并要求辅助模型对爬取内容进行去杂提纯以及总结后再返回给正式模型呢?一方面是节约对话模型token,另一方面,爬取出来的网页(特别是naive方式爬取的)实际上可能有大量冗余乃至干扰内容,知识含量低。

@canisminor1990
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


From this point of view, a forced networking function is still needed

But it would be too token to force networking/crawl multiple web pages every time - whether it is an auxiliary model or a dialogue model. If crawling the same web pages with similar problems causes a lot of token waste and time delay, the user experience will not be good. Moreover, the token consumption of the auxiliary model will not be reflected in the "Context Details" of the chat toolbar, which will easily bring users a large amount of resource consumption without feeling. Using a secondary model that supports caching can be greatly mitigated, but not every user will choose to use a model that supports caching (whether their channel supports caching is also a variable). ——I feel that this part should have a risk warning of consuming a large amount of tokens on the UI?

In addition, in the process of judging search intentions by auxiliary models, can the auxiliary models be required to remove and purify the crawled content and then summarize it before returning it to the formal model? On the one hand, it saves the dialogue model token. On the other hand, the crawled web pages (especially crawled in naive form) may actually have a lot of redundancy or even interfere with content, and have a low knowledge content.

@Cheukfung
Copy link

在用辅助模型联网搜索的时候,可能是没有带上时间,会导致回答的时候日期错乱。比如ds r1配合Gemini 2.0 flash辅助搜索:今天的NBA比赛,Gemini调用搜索插件的时候生硬的搜索 今天 NBA 比赛。返回的网页也不一定带准确日期,就会导致结果也不准确。建议在辅助模型加上当前时间的prompt。如果加上“ 今天是北京时间2025年3月12日,今天有什么NBA比赛” 就完全没问题了

Image

Image

@canisminor1990
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


When searching online with auxiliary models, it may not be possible to bring time, which will lead to a confusing date when answering. For example, ds r1 cooperates with Gemini 2.0 flash assisted search: Today's NBA game, Gemini searches hard when calling the search plug-in Today's NBA game. The returned web page does not necessarily have an accurate date, which will lead to inaccurate results. It is recommended to add the current time prop to the auxiliary model. If you add "Today is March 12, 2025, Beijing time, what NBA games are there today?", it will be no problem

Image

Image

@samurai00
Copy link

我用下来,感觉本地 Ollama 部署的 Command R7B 相对来说更「愿意」触发搜索,但也不是很符合直觉,经常想要触发,但无动于衷。

尝试过这些:

  • Command R7B
  • Gemini 2.0 Flash
  • Phi 4 Mini
  • Qwen 2.5 32B
  • Qwen 2.5 7B

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


I used it and felt that the Command R7B deployed by Ollama is relatively more "willing to" trigger searches, but it is not very intuitive. I often want to trigger them, but I am indifferent.

Try these:

  • Command R7B
  • Gemini 2.0 Flash
  • Phi 4 Mini
  • Qwen 2.5 32B
  • Qwen 2.5 7B

@hardy-one
Copy link

有没有计划添加强制使用 “搜索辅助模型” 的功能?最近体验下来,有些模型链式调用插件的能力似乎比较有限,gpt-4o-mini 这种模型训练的链式调用搜索做的挺好的,但是模型能力又差一些,可以考虑运行强制用 gpt-4o-mini 这种作为“搜索辅助模型”进行搜索,然后对话模型只负责对话。

@lobehubbot
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


Are there any plans to add a feature that forces the use of Search Assisted Models? Recently, I have experienced that some models have limited capabilities in chain call plug-ins. The chain call search trained by gpt-4o-mini is quite good, but the model capability is a bit poor. You can consider running a forced search using gpt-4o-mini as a "search auxiliary model", and then the dialogue model is only responsible for dialogue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌠 Feature Request New feature or request | 特性与建议
Projects
None yet
Development

No branches or pull requests