部署DeepSeek模型,进群交流最in玩法!
立即加群
发布
社区首页 >专栏 >这款国产AI神器放大招!破解中文内容生态最大痛点

这款国产AI神器放大招!破解中文内容生态最大痛点

原创
作者头像
code4it
发布2025-02-27 12:46:03
发布2025-02-27 12:46:03
8200
代码可运行
举报
文章被收录于专栏:码匠的流水账码匠的流水账
运行总次数:0
代码可运行

目前市面上的cherry-studio、page-assit、anythingLLM、open-webui、dify产品都号称能让大模型支持联网搜索,对国内搜索引擎没有支持或者支持的不太好,国内内容生态最好应该是微信了,今天发现DeepChat产品内置了搜狗的微信搜索,可以结合deepSeek实现联网搜索

DeepChat

DeepChat是一款连接强大AI与个人世界的智能助手,目前支持多个模型云服务:DeepSeek、OpenAI、硅基流动等,支持本地模型部署:Ollama,支持联网搜索。

searchManager

deepchat/src/main/presenter/threadPresenter/searchManager.ts

代码语言:javascript
代码运行次数:0
复制
const defaultEngines: SearchEngineTemplate[] = [
  {
    name: 'sogou',
    selector: '.news-list',
    searchUrl:
      'https://weixin.sogou.com/weixin?ie=utf8&s_from=input&_sug_=y&_sug_type_=&type=2&query={query}',
    extractorScript: `
      const results = []
      const items = document.querySelectorAll('.news-list li')
      items.forEach((item, index) => {
        const titleEl = item.querySelector('h3 a')
        const linkEl = item.querySelector('h3 a')
        const descEl = item.querySelector('p.txt-info')
        const faviconEl = item.querySelector('a[data-z="art"] img')
        if (titleEl && linkEl) {
          results.push({
            title: titleEl.textContent,
            url: linkEl.href,
            rank: index + 1,
            description: descEl ? descEl.textContent : '',
            icon: faviconEl ? faviconEl.src : ''
          })
        }
      })
      return results
    `
  },
  {
    name: 'google',
    selector: '#search',
    searchUrl: 'https://www.google.com/search?q={query}',
    extractorScript: `
      const results = []
      const items = document.querySelectorAll('#search .g')
      items.forEach((item, index) => {
        const titleEl = item.querySelector('h3')
        const linkEl = item.querySelector('a')
        const descEl = item.querySelector('.VwiC3b')
        const faviconEl = item.querySelector('img.XNo5Ab')
        if (titleEl && linkEl) {
          results.push({
            title: titleEl.textContent,
            url: linkEl.href,
            rank: index + 1,
            description: descEl ? descEl.textContent : '',
            icon: faviconEl ? faviconEl.src : ''
          })
        }
      })
      return results
    `
  },
  {
    name: 'baidu',
    selector: '#content_left',
    searchUrl: 'https://www.baidu.com/s?wd={query}',
    extractorScript: `
      const results = []
      const items = document.querySelectorAll('#content_left .result')
      items.forEach((item, index) => {
        const titleEl = item.querySelector('.t')
        const linkEl = item.querySelector('a')
        const descEl = item.querySelector('.c-abstract')
        const faviconEl = item.querySelector('.c-img')
        if (titleEl && linkEl) {
          results.push({
            title: titleEl.textContent,
            url: linkEl.href,
            rank: index + 1,
            description: descEl ? descEl.textContent : '',
            icon: faviconEl ? faviconEl.getAttribute('src') : ''
          })
        }
      })
      return results
    `
  },
  {
    name: 'bing',
    selector: '',
    searchUrl: 'https://www.bing.com/search?q={query}',
    extractorScript: `
      const results = []
      const items = document.querySelectorAll('#b_content .b_algo')
      items.forEach((item, index) => {
        const titleEl = item.querySelector('h2 a')
        const linkEl = item.querySelector('h2 a')
        const descEl = item.querySelector('.b_caption p')
        const faviconEl = item.querySelector('.wr_fav img')
        if (titleEl && linkEl) {
          results.push({
            title: titleEl.textContent,
            url: linkEl.href,
            rank: index + 1,
            description: descEl ? descEl.textContent : '',
            icon: faviconEl?.src ? faviconEl.src : ''
          })
        }
      })
      return results
    `
  }
]

DeepChat支持了sogou、google、baidu、bing,可以把看到sogou搜索是使用https://weixin.sogou.com/weixin?ie=utf8&s_from=input&_sug_=y&_sug_type_=&type=2&query={query}搜狗的微信搜索,通过解析网页内容来提取数据

结合LLM

deepchat/src/main/presenter/threadPresenter/index.ts

代码语言:javascript
代码运行次数:0
复制
      // 处理搜索
      if (userMessage.content.search) {
        searchResults = await this.startStreamSearch(
          conversationId,
          state.message.id,
          userMessage.content.text
        )
      }

      // 计算搜索提示词的token数量
      const searchPrompt = searchResults
        ? generateSearchPrompt(userMessage.content.text, searchResults)
        : ''

      // 添加当前用户消息,如果有搜索结果则替换为搜索提示词
      formattedMessages.push({
        role: 'user',
        content: searchPrompt || userMessage.content.text
      })   

      await this.llmProviderPresenter.startStreamCompletion(
        providerId,
        formattedMessages,
        modelId,
        state.message.id,
        temperature,
        maxTokens
      )

这里将搜索结果替换到formattedMessages,然后调用llmProviderPresenter.startStreamCompletion传给大模型,实现联网搜索

小结

DeepChat支持了sogou、google、baidu、bing,可以把看到sogou搜索是使用https://weixin.sogou.com/weixin?ie=utf8&s_from=input&_sug_=y&_sug_type_=&type=2&query={query}搜狗的微信搜索,通过解析网页内容来提取数据,最后将搜索结果传递给大模型实现联网搜索。

doc

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DeepChat
  • searchManager
  • 结合LLM
  • 小结
  • doc
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档