node-DeepResearch开源ai程序用于深入调查查询,继续搜索、阅读网页、推理,直到找到答案

news2025/7/21 2:46:12

​一、软件介绍

文末提供程序和源码下载

       node-DeepResearch开源ai程序用于深入调查查询,继续搜索、阅读网页、推理,直到找到答案。

重要提示

     与 OpenAI/Gemini/Perfasciity 的“深度研究”不同,我们只专注于通过迭代过程找到正确的答案 。我们不会针对长篇文章进行优化,这是一个完全不同的问题 ——所以如果你需要从深度搜索中获得快速、简洁的答案,你来对地方了。如果您正在寻找像 OpenAI/Gemini/Perplexity 那样的 AI 生成的长报告,那么这不适合您。

二、Try it Yourself 亲自试一试

We host an online deployment of this exact codebase, which allows you to do a vibe-check; or use it as daily productivity tools.
我们托管了这个确切代码库的在线部署,它允许您进行氛围检查;或将其用作日常生产力工具。

https://search.jina.ai

The official API is also available for you to use:
官方 API 也可供您使用:

https://deepsearch.jina.ai/v1/chat/completions
Learn more about the API at https://jina.ai/deepsearch
在 https://jina.ai/deepsearch 了解有关 API 的更多信息

三、Install 安装

代码文末可直接下载更快速

cd node-DeepResearch
npm install

四、Usage 用法

We use Gemini (latest gemini-2.0-flash) / OpenAI / LocalLLM for reasoning, Jina Reader for searching and reading webpages, you can get a free API key with 1M tokens from jina.ai.
我们使用 Gemini(最新 gemini-2.0-flash )/ OpenAI / LocalLLM 进行推理,使用 Jina Reader 搜索和阅读网页,您可以从 jina.ai 获得带有 1M 令牌的免费 API 密钥。

export GEMINI_API_KEY=...  # for gemini
# export OPENAI_API_KEY=... # for openai
# export LLM_PROVIDER=openai # for openai
export JINA_API_KEY=jina_...  # free jina api key, get from https://jina.ai/reader

npm run dev $QUERY
 

您还可以使用我们的官方 DeepSearch API:

https://deepsearch.jina.ai/v1/chat/completions
You can use it with any OpenAI-compatible client.
您可以将它与任何 OpenAI 兼容的客户端一起使用。

For the authentication Bearer, API key, rate limit, get from https://jina.ai/deepsearch.
对于身份验证 Bearer、API 密钥、速率限制,从 https://jina.ai/deepsearch 获取。

Client integration guidelines
客户端集成准则
If you are building a web/local/mobile client that uses Jina DeepSearch API, here are some design guidelines:
如果您正在构建一个使用 Jina DeepSearch API 的 web/本地/移动客户端,以下是一些设计准则:

Our API is fully compatible with OpenAI API schema, this should greatly simplify the integration process. The model name is jina-deepsearch-v1.
我们的 API 与 OpenAI API 架构完全兼容,这应该会大大简化集成过程。型号名称为 jina-deepsearch-v1 .
Our DeepSearch API is a reasoning+search grounding LLM, so it's best for questions that require deep reasoning and search.
我们的 DeepSearch API 是 reasoning+search grounding LLM,因此最适合需要深度推理和搜索的问题。
Two special tokens are introduced <think>...</think>. Please render them with care.
引入了 <think>...</think> 两个特殊令牌。请小心渲染它们。
Citations are often provided, and in Github-flavored markdown footnote format, e.g. [^1], [^2], ...
通常会提供引文,并且采用 Github 风格的 markdown 脚注格式,例如 [^1] , [^2] , ...
Guide the user to get a Jina API key from https://jina.ai, with 1M free tokens for new API key.
引导用户从 https://jina.ai 获取 Jina API 密钥,新 API 密钥有 1M 免费令牌。
There are rate limits, between 10RPM to 30RPM depending on the API key tier.
存在 10RPM 到 30RPM 之间的速率限制,具体取决于 API 密钥层。
Download Jina AI logo here
在此处下载 Jeena Ae 徽标
Demo 演示
was recorded with gemini-1.5-flash, the latest gemini-2.0-flash leads to much better results!
与 一起录制 gemini-1.5-flash ,最新的 gemini-2.0-flash 结果要好得多!

Query: "what is the latest blog post's title from jina ai?" 3 steps; answer is correct!
查询: "what is the latest blog post's title from jina ai?" 3 个步骤;答案是正确的!

Query: "what is the context length of readerlm-v2?" 2 steps; answer is correct!
查询: "what is the context length of readerlm-v2?" 2 个步骤;答案是正确的!

Query: "list all employees from jina ai that u can find, as many as possible" 11 steps; partially correct! but im not in the list :(
查询: "list all employees from jina ai that u can find, as many as possible" 11 个步骤;部分正确!但我不在列表中:(

Query: "who will be the biggest competitor of Jina AI" 42 steps; future prediction kind, so it's arguably correct! atm Im not seeing weaviate as a competitor, but im open for the future "i told you so" moment.
查询: "who will be the biggest competitor of Jina AI" 42 个步骤;未来预测类型,所以可以说是正确的!ATM 我不认为 weaviate 自己是竞争对手,但我对未来“我告诉过你”的时刻持开放态度。

More examples: 更多示例:

# example: no tool calling 
npm run dev "1+1="
npm run dev "what is the capital of France?"

# example: 2-step
npm run dev "what is the latest news from Jina AI?"

# example: 3-step
npm run dev "what is the twitter account of jina ai's founder"

# example: 13-step, ambiguious question (no def of "big")
npm run dev "who is bigger? cohere, jina ai, voyage?"

# example: open question, research-like, long chain of thoughts
npm run dev "who will be president of US in 2028?"
npm run dev "what should be jina ai strategy for 2025?"
Use Local LLM 使用本地LLM
Note, not every LLM works with our reasoning flow, we need those who support structured output (sometimes called JSON Schema output, object output) well. Feel free to purpose a PR to add more open-source LLMs to the working list.
请注意,并非每个LLM都适用于我们的推理流程,我们需要那些支持结构化输出(有时称为 JSON Schema 输出、对象输出)的人。请随意使用 PR 将更多开源LLMs添加到工作列表中。

If you use Ollama or LMStudio, you can redirect the reasoning request to your local LLM by setting the following environment variables:
如果您使用 Ollama 或 LMStudio,则可以通过设置以下环境变量将推理请求重定向到您的本地LLM:

export LLM_PROVIDER=openai  # yes, that's right - for local llm we still use openai client
export OPENAI_BASE_URL=http://127.0.0.1:1234/v1  # your local llm endpoint
export OPENAI_API_KEY=whatever  # random string would do, as we don't use it (unless your local LLM has authentication)
export DEFAULT_MODEL_NAME=qwen2.5-7b  # your local llm model name
OpenAI-Compatible Server API
OpenAI 兼容的服务器 API
If you have a GUI client that supports OpenAI API (e.g. CherryStudio, Chatbox) , you can simply config it to use this server.
如果您有支持 OpenAI API 的 GUI 客户端(例如 CherryStudio、Chatbox),您只需将其配置为使用此服务器即可。

Start the server: 启动服务器:

# Without authentication
npm run serve

# With authentication (clients must provide this secret as Bearer token)
npm run serve --secret=your_secret_token
The server will start on http://localhost:3000 with the following endpoint:
服务器将在 http://localhost:3000 上使用以下端点启动:

POST /v1/chat/completions
# Without authentication
curl http://localhost:3000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jina-deepsearch-v1",
    "messages": [
      {
        "role": "user",
        "content": "Hello!"
      }
    ]
  }'

# With authentication (when server is started with --secret)
curl http://localhost:3000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_secret_token" \
  -d '{
    "model": "jina-deepsearch-v1",
    "messages": [
      {
        "role": "user",
        "content": "Hello!"
      }
    ],
    "stream": true
  }'
Response format: 响应格式:

{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "jina-deepsearch-v1",
  "system_fingerprint": "fp_44709d6fcb",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "YOUR FINAL ANSWER"
    },
    "logprobs": null,
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 12,
    "total_tokens": 21
  }
}
For streaming responses (stream: true), the server sends chunks in this format:
对于流式响应 (stream: true),服务器按以下格式发送块:

{
  "id": "chatcmpl-123",
  "object": "chat.completion.chunk",
  "created": 1694268190,
  "model": "jina-deepsearch-v1",
  "system_fingerprint": "fp_44709d6fcb",
  "choices": [{
    "index": 0,
    "delta": {
      "content": "..."
    },
    "logprobs": null,
    "finish_reason": null
  }]
}
Note: The think content in streaming responses is wrapped in XML tags:
注意:流式响应中的 think content 包装在 XML 标记中:

<think>
[thinking steps...]
</think>
[final answer]
Docker Setup Docker 设置
Build Docker Image 构建 Docker 镜像
To build the Docker image for the application, run the following command:
要为应用程序构建 Docker 镜像,请运行以下命令:

docker build -t deepresearch:latest .
Run Docker Container 运行 Docker 容器
To run the Docker container, use the following command:
要运行 Docker 容器,请使用以下命令:

docker run -p 3000:3000 --env GEMINI_API_KEY=your_gemini_api_key --env JINA_API_KEY=your_jina_api_key deepresearch:latest
Docker Compose
You can also use Docker Compose to manage multi-container applications. To start the application with Docker Compose, run:
您还可以使用 Docker Compose 来管理多容器应用程序。要使用 Docker Compose 启动应用程序,请运行:

docker-compose up


五、How Does it Work? 它是如何工作的?

Not sure a flowchart helps, but here it is:
不确定流程图是否有帮助,但这里是:

六、软件下载

迅雷网盘

本文信息来源于GitHub作者地址:GitHub - jina-ai/node-DeepResearch: Keep searching, reading webpages, reasoning until it finds the answer (or exceeding the token budget)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2392038.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#、C++、Java、Python 选择哪个好

选择哪种语言取决于具体需求&#xff1a;若关注性能和底层控制选C、若开发企业级应用选Java、若偏好快速开发和丰富生态选Python、若构建Windows生态应用选C#。 以Python为例&#xff0c;它因语法简洁、开发效率高、应用广泛而在AI、数据分析、Web开发等领域大放异彩。根据TIOB…

OpenGL Chan视频学习-8 How I Deal with Shaders in OpenGL

bilibili视频链接&#xff1a; 【最好的OpenGL教程之一】https://www.bilibili.com/video/BV1MJ411u7Bc?p5&vd_source44b77bde056381262ee55e448b9b1973 函数网站&#xff1a; docs.gl 说明&#xff1a; 1.之后就不再整理具体函数了&#xff0c;网站直接翻译会更直观也…

机器学习课程设计报告 —— 基于口红数据集的情感分析

目录 一、课程设计目的 二、数据预处理及分析 2.1 数据预处理 2.2 数据分析 三、特征选择 3.1 特征选择的重要性 3.2 如何进行特征选择 3.3 特征选择的依据 3.4 数据集的划分 四、模型训练与模型评估 4.1 所有算法模型不调参 4.2 K-近邻分类模型 4.3 GaussianNB模…

Windows安装Docker部署dify,接入阿里云api-key进行rag测试

一、安装docker 1.1 傻瓜式安装docker Get Docker | Docker Docs Docker原理&#xff08;图解秒懂史上最全&#xff09;-CSDN博客 官网选择好windows的安装包下载&#xff0c;傻瓜式安装。如果出现下面的报错&#xff0c;说明主机没有安装WSL 1.2 解决办法 安装 WSL | Mic…

Dify中 SYSTEM, USER, ASSISTANT 的关系、职责与使用方法

在Dify这类对话式AI应用构建平台中,SYSTEM, USER, ASSISTANT 这三种消息类型共同定义了与大型语言模型(LLM)交互的结构和上下文。它们的关系可以理解为: SYSTEM: 扮演着“导演”或“场景设定者”的角色。USER: 扮演着“提问者”或“任务发起者”的角色。ASSISTANT: 扮演着“…

【ArcGIS Pro草履虫大师】空间地图系列

地图系列是根据单个布局来构建的页面集合。 正常情况下&#xff0c;一个布局只能导出一个页面&#xff0c;通过地图系列则可以通过不同的视图、动态元素&#xff0c;构建并导出多个页面。 地图系列发展自ArcMap的【数据驱动页面】功能。 ArcGIS Pro中有3个地图系列&#xff…

1. 数据结构基本概念 (1)

本文部分ppt、视频截图来自&#xff1a;[青岛大学-王卓老师的个人空间-王卓老师个人主页-哔哩哔哩视频] 1. 数据结构基本概念 1.1 研究内容 数据结构是一门研究非数值计算的程序设计中计算机操作队形以及他们之间关系和操作的核心课程&#xff0c;学习的主要内容如下&#x…

函数抓取图片microsoft excel与wps的区别

microsoft excel 写出index函数 找到图片所在的位置 INDEX(员工数据库!$H:$H,MATCH(Sheet1!$B$3,员工数据库!$A:$A,0))将index函数定义为名称 插入截图 插入-屏幕截图-屏幕剪辑 选中给截图插入定义的公式 WPS 直接写公式抓取

openpi π₀ 项目部署运行逻辑(三)——策略推理服务器 serve_policy.py

π₀ 主控脚本都在 scripts 中&#xff1a; 其中&#xff0c;serve_policy.py 是 openpi 中的策略推理服务端脚本&#xff0c;作用为&#xff1a;启动一个 WebSocket 服务器&#xff0c;加载预训练策略模型&#xff0c;等待外部请求&#xff08;如来自 main.py 的控制程序&…

基于vue框架的独居老人上门护理小程序的设计r322q(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,护理人员,服务预约,服务评价,服务类别,护理项目,请假记录 开题报告内容 基于Vue框架的独居老人上门护理小程序的设计开题报告 一、研究背景与意义 &#xff08;一&#xff09;研究背景 随着社会老龄化的加剧&#xff0c;独居老…

【前端】Hexo一键生成目录插件推荐_放入Hexo博客

效果 使用 安装 npm install hexo-auto-toc插件会自动对<article>包含下的所有内容进行解析&#xff0c;自动生成目录。如果你的文章页面结构中内容没被<article>包裹&#xff0c;需要自行添加它&#xff08;即blog文件夹下的index.html&#xff09;查看效果 hex…

宫格导航--纯血鸿蒙组件库AUI

摘要&#xff1a; 宫格导航(A_GirdNav)&#xff1a;可设置导航数据&#xff0c;建议导航项超过16个&#xff0c;可设置“更多”图标指向的页面路由。最多显示两行&#xff0c;手机每行最多显示4个图标&#xff0c;折叠屏每行最多6个图标&#xff0c;平板每行最多8个图标。多余图…

RNN 循环神经网络:原理与应用

一、RNN 的诞生背景 传统神经网络&#xff08;如 MLP、CNN&#xff09;在处理独立输入时表现出色&#xff0c;但现实世界中存在大量具有时序依赖的序列数据&#xff1a; 自然语言&#xff1a;"我喜欢吃苹果" 中&#xff0c;"苹果" 的语义依赖于前文 "…

若依框架 账户管理 用户分配界面解读

下载下来若依网站后 先对 后端代码进行解读 首先项目架构&#xff1a; 一般用 admin 这个比较多进行二次开发 其他 rouyi-common,rouyi-framework:为公共部分 rouyi-generator&#xff1a;代码生成部分 ruoyi-quartz&#xff1a;定时任务 ruoyi-system&#xff1a;系统任务 …

文档贡献 | 技术文档贡献流程及注意事项(保姆级教程)

内容目录 一、注册流程 二、创建分支&#xff08;Fork&#xff09; 三、使用GitLab界面更新文件的MR流程 四、使用Git命令行工具更新文件的MR流程 五、注意事项 一、注册流程 1、注册页面 在长安链平台注册页面&#xff0c;输入手机号码 &#xff0c;点击 “获取验证码”…

open-vscode-server +nodejs 安装

GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。https://gitcode.com/gh_mirrors/op/openvscode-server/?utm_sourceartical_gitcode&ind…

知行之桥如何将消息推送到钉钉群?

在钉钉平台中&#xff0c;机器人主要分为企业机器人和自定义机器人两类。本文将重点介绍如何通过自定义机器人&#xff0c;实现将知行之桥 EDI 系统的通知消息高效推送至钉钉群&#xff0c;帮助企业第一时间掌握业务动态。 一、在钉钉群中添加自定义机器人 在需要接收知行之桥…

09《从依赖管理到容器化部署:Maven 全链路实战笔记,解锁 Java 项目自动化构建的终极奥秘》

目录 一、Maven 核心基础强化 &#xff08;一&#xff09;Maven 架构与工作原理 1. 核心组件解析 2. 工作流程图示​编辑 &#xff08;二&#xff09;项目结构深度实践 1. 标准目录扩展说明 2. 多模块项目典型结构示例​编辑 二、依赖管理高级进阶 &#xff08;一&…

<el-date-picker>组件传参时,选中时间和传参偏差8小时

遇到一个bug&#xff0c;不仔细看&#xff0c;都不一定能发现&#xff0c;bug描述&#xff1a;我们有一个搜索框&#xff0c;里面有一个时间选择器&#xff0c;当我使用<el-date-picker>时&#xff0c;我发现当我选择时分秒之后&#xff0c;显示都正常&#xff0c;但是当…

ST MCU CAN模块--TTCAN模式浅析

ST MCU CAN模块使用总结 1 前言 ​ 传统CAN 采用事件触发消息传输机制,CSMA/ CD AMP( Carrier-Sense Mult iple Access w ith Co llision Detect ion and Arbit ration on Message Priorit ies, 载波侦听、多路访问、冲突检测、优先级仲裁) 介质访问控制机制, 即多个消息同时…