国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

GPT Researcher:破解復(fù)雜研究的AI利器 原創(chuàng)

發(fā)布于 2024-6-4 08:05
瀏覽
0收藏

在現(xiàn)代研究環(huán)境中,處理如詳盡研究工作或?qū)W術(shù)論文撰寫等復(fù)雜任務(wù)對當(dāng)前的大型語言模型(如ChatGPT)來說是一個挑戰(zhàn)。這些任務(wù)通常需要長時間的手動干預(yù)和多步驟操作,現(xiàn)有的AI工具往往無法在沒有人類幫助的情況下完成這些復(fù)雜任務(wù)。

GPT Researcher 受到 Plan-and-Solve 方法的啟發(fā),提供了解決這一問題的方法。通過將復(fù)雜任務(wù)拆解為更小的子任務(wù)并并行執(zhí)行,GPT Researcher 提高了研究的效率和準(zhǔn)確性。它利用 大模型從多個在線資源中抓取和綜合信息,生成詳細(xì)研究的報告。其靈活的配置支持不同的大型語言模型和檢索器,使其能夠適應(yīng)各種研究需求。

本文展示了如何通過一條提示詞,讓GPT Researcher 生成對應(yīng)的研究報告。這展示了GPT Researcher 在自動化研究領(lǐng)域的巨大潛力,為未來的研究工作提供了新的思路和方法。

復(fù)雜任務(wù)處理:從頭CoT到Plan-And-Solve

在現(xiàn)代研究環(huán)境中,復(fù)雜任務(wù)如進(jìn)行詳盡的研究工作或撰寫學(xué)術(shù)論文,是目前的大型語言模型(包括AI聊天助理如ChatGPT)難以一次性完成的。這些任務(wù)通常需要長時間的手動干預(yù)和多步驟的操作,而現(xiàn)有的AI工具往往無法在沒有人類幫助的情況下完整地執(zhí)行這些復(fù)雜任務(wù)。然后,手動執(zhí)行研究任務(wù)既費(fèi)時又費(fèi)力,往往需要數(shù)周才能找到合適的資源和信息。雖然,當(dāng)前的大型語言模型已經(jīng)非常強(qiáng)大了,但它們主要訓(xùn)練于過去的數(shù)據(jù),存在著信息過時和幻覺風(fēng)險。此外,現(xiàn)有的啟用網(wǎng)絡(luò)搜索的解決方案通常只能訪問有限的資源,導(dǎo)致結(jié)論可能膚淺或有偏見。

為了應(yīng)對這些挑戰(zhàn),研究人員提出了鏈?zhǔn)剿季S(Chain of Thought, CoT)的思路。鏈?zhǔn)剿季S(Chain of Thought, CoT)是一種推理方法,旨在通過生成一系列中間步驟來逐步解決復(fù)雜問題,從而提高大型語言模型(LLMs)的解答能力。CoT 的核心理念是讓模型在回答復(fù)雜問題時,逐步生成中間推理步驟,每一步都為最終答案提供部分解答。這種方法通過分解問題,使模型能夠更清晰地理解并解決復(fù)雜的任務(wù)。

例如,假設(shè)我們要解決一個數(shù)學(xué)問題:“一個人走了3公里,又走了2公里,總共走了多少公里?”。通過CoT的方法,我們可以這樣進(jìn)行:

  • 理解問題:知道問題是關(guān)于總共走了多少公里。
  • 分解步驟:把走的每段路程列出來。
  • 逐步計算:先計算第一段3公里,再計算第二段2公里,然后把兩段路程加起來。
  • 得到答案:3公里 + 2公里 = 5公里。

通過這種逐步分解的方法,模型能夠更準(zhǔn)確地解決復(fù)雜的問題。這種拆解步驟的方式,傳統(tǒng)的CoT是通過示例的方式教給模型學(xué)習(xí)的。還是上面的例子,傳統(tǒng)CoT的做法是提供示例如下。

問題:一個人走了3公里,又走了2公里,總共走了多少公里?

步驟:

他先走了3公里。

然后又走了2公里。

把兩段距離加起來。

答案:3公里 + 2公里 = 5公里。

通過問題,步驟,答案的方式教給大模型如何處理復(fù)雜問題,也就是告訴大模型如何按照步驟進(jìn)行拆解和執(zhí)行復(fù)雜問題。隨著基座模型的參數(shù)量增加以及訓(xùn)練數(shù)據(jù)集的激增,模型的能力越來越強(qiáng),此時就出現(xiàn)了Zero-shot-CoT(Zero-shot Chain of Thought)。它是CoT 的一種變體,旨在無需任何示例的情況下,通過逐步推理提高LLMs的復(fù)雜問題解答能力。傳統(tǒng)的CoT 方法通常需要為每個任務(wù)提供一些示例,以幫助模型逐步解決問題。而Zero-shot-CoT 則通過輸入簡單的提示詞:“讓我們一步一步地思考”,引導(dǎo)模型生成多步驟的推理路徑,無需任何示例。

還是上面的例子,對于Zero-shot-CoT而言只需要輸入如下信息,然后得到結(jié)果:

初始提示:“一個人走了3公里,又走了2公里,總共走了多少公里?讓我們一步一步地思考。”

推理步驟:

首先,這個人走了3公里。

接著,他又走了2公里。

把這兩段距離加起來。

答案提取:因此,答案(阿拉伯?dāng)?shù)字)是5。

通過Zero-shot-CoT,模型能夠在沒有示例的情況下,通過“讓我們一步一步地思考”的提示,自行推理并解決問題。

盡管Zero-shot-CoT取得了成功,但它仍然存在三個主要缺陷,

  • 計算錯誤:模型在推理過程中可能會產(chǎn)生計算錯誤。
  • 缺失步驟錯誤:模型可能會遺漏一些必要的中間步驟。
  • 語義誤解錯誤:模型可能會誤解問題的語義,導(dǎo)致不準(zhǔn)確的答案。

為了解決Zero-shot-CoT的方法所存在的問題,研究人員又提出了Plan-and-Solve(PS)方法。PS提示由兩個部分組成:

  • 計劃:首先制定計劃,將整個任務(wù)劃分為更小的子任務(wù)。
  • 執(zhí)行:然后根據(jù)計劃執(zhí)行這些子任務(wù)。通過這種方法,PS提示能夠使LLMs明確地設(shè)計解決問題的計劃,并在預(yù)測最終答案之前生成中間推理過程。

了解GPT Researcher:從架構(gòu)到流程

前面我們介紹了通過CoT的思路解決了負(fù)責(zé)任務(wù)的執(zhí)行問題,同時也提出了由于CoT存在的問題,因此研究任務(wù)提出了Plan-and-Solve(PS)的方案。接下來,我們會基于Plan-and-Solve的思路來看看最佳實(shí)踐:GPT Researcher,它是一種自主代理,能夠生成詳細(xì)、真實(shí)和公正的研究報告,并提供專注于相關(guān)資源、大綱和課程的定制選項(xiàng)。受到最近的 Plan-and-Solve 和 RAG 論文的啟發(fā),GPT Researcher 解決了速度、確定性和可靠性問題,通過并行代理工作(而不是同步操作)提供更穩(wěn)定的性能和更高的速度。

當(dāng)前的LLMs(大語言模型)面臨一些顯著的問題。首先,由于它們的訓(xùn)練數(shù)據(jù)基于過去和過時的信息,導(dǎo)致模型在生成內(nèi)容時常常出現(xiàn)幻覺,這使得它們難以勝任實(shí)時研究任務(wù)。此外,許多LLMs的輸出僅限于短令牌,這對于生成長篇、詳細(xì)的研究報告來說是不夠的。支持網(wǎng)絡(luò)搜索的解決方案(例如 ChatGPT + Web 插件)也存在局限性,因?yàn)樗鼈儍H能訪問有限的資源和內(nèi)容,這可能導(dǎo)致結(jié)論膚淺或有偏見。依賴少數(shù)精選資源進(jìn)行研究可能會在確定研究問題或任務(wù)的正確結(jié)論時產(chǎn)生偏差。

為了解決這些問題,GPT Researcher 采用了Plan-and-Solve的方法,通過先制定計劃將復(fù)雜任務(wù)分解為更小的子任務(wù),然后并行執(zhí)行這些子任務(wù),從而提高了研究的效率和準(zhǔn)確性。通過并行處理,GPT Researcher 能夠同時訪問和整合大量的網(wǎng)絡(luò)資源,生成客觀和詳盡的研究報告。這不僅解決了當(dāng)前LLMs在信息時效性、輸出長度和資源有限性方面的不足,還減少了人為干預(yù)的需求,大大提升了研究任務(wù)的穩(wěn)定性和速度。GPT Researcher 的這種創(chuàng)新方法展示了其在在線研究領(lǐng)域的巨大潛力,為未來的自動化研究提供了新的思路和方法。GPT Researcher 的核心特點(diǎn)包括:

  • 計劃與執(zhí)行模型:采用PS提示方法,將復(fù)雜任務(wù)劃分為子任務(wù),并逐步執(zhí)行。
  • 并行處理:利用Python的asyncio庫,實(shí)現(xiàn)并行處理,顯著縮短研究時間。
  • 多源信息聚合:從多個在線資源中抓取信息,并對其進(jìn)行總結(jié)和過濾,生成客觀和事實(shí)性的研究報告。
  • 高效報告生成:使用GPT-4模型生成詳細(xì)的研究報告,提供結(jié)構(gòu)良好、信息豐富的內(nèi)容。

在了解了GPT Researcher核心特點(diǎn)之后,我們來通過下圖了解一下它的架構(gòu)。

  • Task:整個研究任務(wù)是由一個特定的研究查詢或任務(wù)驅(qū)動的。這一步驟確定了需要解決的問題,并為后續(xù)的任務(wù)制定了明確的目標(biāo)。
  • Planner:“計劃者”代理的主要任務(wù)是生成研究問題。根據(jù)研究查詢,計劃者會制定一系列具體的研究問題,這些問題共同構(gòu)成對任務(wù)的全面理解。計劃者確保研究問題覆蓋了任務(wù)的各個方面,從而為后續(xù)的信息搜集和分析打下基礎(chǔ)。
  • Researcher:“執(zhí)行者”代理負(fù)責(zé)根據(jù)計劃者生成的每個研究問題尋找最相關(guān)的信息。這個步驟中,執(zhí)行者代理會觸發(fā)爬蟲代理,在網(wǎng)絡(luò)上抓取與每個研究問題相關(guān)的資源。執(zhí)行者代理利用注入gpt3.5-turbo和gpt-4-turbo的大模型來處理和分析這些信息
  • Query:在執(zhí)行代理搜集信息的過程中,系統(tǒng)會不斷發(fā)出查詢請求。這些查詢是基于研究問題設(shè)計的,目的是在網(wǎng)絡(luò)上找到最相關(guān)和最新的信息資源。每個查詢都是一個精確的問題,確保獲取的信息是高質(zhì)量且相關(guān)的。

Publisher:此時,“計劃者”會過濾并匯總所有相關(guān)信息,創(chuàng)建最終的研究報告。這個步驟包括對所有抓取到的資源進(jìn)行總結(jié),并跟蹤其來源,確保信息的可靠性和可追溯性。最終的研究報告由”發(fā)布者“進(jìn)行發(fā)布,它整合了所有的總結(jié)信息,提供一個全面、詳盡且公正的研究結(jié)果。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

GPT Researcher 架構(gòu)

通過對GPT Researcher 的架構(gòu)分析,我們將GPT Researcher 的工作流程整理如下:

  • 生成研究問題提綱:形成對任何給定任務(wù)的客觀意見。
  • 觸發(fā)爬蟲代理:對于每個研究問題,從網(wǎng)上資源中抓取相關(guān)信息。
  • 總結(jié)和過濾:對抓取的資源進(jìn)行總結(jié)和過濾,僅保留相關(guān)信息。
  • 生成研究報告:聚合所有總結(jié)的資源,使用GPT-4生成最終的研究報告。

初探GPT Researcher:代碼結(jié)構(gòu)與基本配置

前面介紹了GPT Researcher 的架構(gòu)和工作流程,我們來看看它是如何使用的。我們可以通過GitHub 地址(https://github.com/assafelovic/gpt-researcher)訪問GPT Researcher,如下圖所示從去年底到現(xiàn)在這個項(xiàng)目已經(jīng)有10K+star 了。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

接著,我們會安裝GPT Researcher,確保系統(tǒng)中安裝 Python 3.11 或更高版本。請參考[這里](https://www.python.org/downloads/)獲取詳細(xì)的安裝指南。

通過如下命令,下載項(xiàng)目并導(dǎo)航到其目錄:

git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher

下載GPT Researcher的源碼之后,可以通過下圖來看看它的內(nèi)部結(jié)構(gòu)。

  • Backend 文件夾中的代碼文件用來處理GPT Researcher的后臺網(wǎng)絡(luò)請求,這里利用FastAPI 框架創(chuàng)建應(yīng)用程序,它具有處理靜態(tài)文件、模板渲染和 WebSocket 連接的功能。
  • Docs文件夾用來存放使用手冊以及GPT Researcher最新的Blog 文章。
  • Examples文件夾提供了簡單的GPT Researcher例子。
  • Frontend 文件夾包含 GPT Researcher前端界面的信息, 包括html、css、js 等文件。
  • Gpt_researcher 文件夾存放核心代碼,包括參數(shù)配置、上下文管理、大模型管理、代理、函數(shù)、提示詞管理、記憶管理、網(wǎng)絡(luò)爬蟲工具以及搜索引擎工具等。
  • Mulit_agents 用來支持多代理模式。
  • Outputs 用來保存輸出的研究文檔,目前GPT Researcher支持研究結(jié)果以word、MD等多種文檔的方式下載。
  • Main.py 是 GPT Researcher Web 應(yīng)用的入口文件,我們通過它啟動整個應(yīng)用。
  • Requirements.txt 用來存放依賴的組件庫,然后需要結(jié)合PIP 命令對其中包含的組件進(jìn)行安裝,從而保證GPT Researcher的運(yùn)行。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

由于GPT Researcher 需要借助大模型以及網(wǎng)絡(luò)搜索技術(shù)完成研究工作,所以需要獲取兩者的訪問權(quán)限。因此我們需要對大模型和搜索引擎的API密鑰進(jìn)行設(shè)置,可以使用兩種方法設(shè)置API密鑰:直接導(dǎo)出或?qū)⑵浯鎯υ? .env 文件中。這里的API 密鑰是用來訪問大模型(OpenAI)和搜索引擎(Tavily Search API)的,需要通過API密鑰的方式獲取二者的訪問權(quán)限。

可以通過如下命令完成:

export OPENAI_API_KEY={Your OpenAI API Key here}
export TAVILY_API_KEY={Your Tavily API Key here}

同時,還可以通過配置文件完成密鑰的配置,在gpt-researcher目錄中找到.env 文件,打開該文件進(jìn)行API 密鑰的設(shè)置。

并輸入以下密鑰:

OPENAI_API_KEY={Your OpenAI API Key here}
TAVILY_API_KEY={Your Tavily API Key here}

執(zhí)行 GPT Researcher:研究報告與成果解析

在完成了下載和配置工作之后,我們需要運(yùn)行GPT Researcher 看看它能否幫助我們解決復(fù)雜的研究工作。

在執(zhí)行之前需要通過如下命令安裝依賴項(xiàng),也就是依賴的組件庫。

pip install -r requirements.txt

接著,通過命令行使用 FastAPI 運(yùn)行代理,啟動 GPT Researcher 的Web 應(yīng)用。

uvicorn main:app --reload

此時,控制臺會輸出如下內(nèi)容:

NFO:     Will watch for changes in these directories: ['/Users/cuihao/Doc/39 GPT/zhibo code/gpt-researcher']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [15959] using WatchFiles
INFO:     Started server process [15961]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     127.0.0.1:51267 "GET / HTTP/1.1" 200 OK
INFO:     127.0.0.1:51279 "GET /static/gptr-logo.png HTTP/1.1" 200 OK
INFO:     127.0.0.1:51267 "GET /site/styles.css HTTP/1.1" 200 OK
INFO:     127.0.0.1:51279 "GET /site/scripts.js HTTP/1.1" 200 OK
INFO:     127.0.0.1:51279 "GET /static/favicon.ico HTTP/1.1" 200 OK

說明GPT Researcher 的Web 應(yīng)用已經(jīng)啟動,并且告訴使用者可以通過http://127.0.0.1:8000的地址訪問GPT Researcher。

啟動之后會看到如下圖的界面,即GPT Researcher 的宣傳語。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

接著會看到GPT Researcher 的主界面,如下圖所示:

在 “What would you like me to research next? ”下方的文本框,可以輸入你要研究的內(nèi)容,也就是提示詞信息。

在”What type of report would you like me to generate?”下方會提供一個下拉框,可以選擇研究報告的類型,目前提供三類:

  • Summary Short and fast (~2 min):摘要類型,特點(diǎn)是內(nèi)容較少但是生成速度較快。
  • Detailed In depth and longer (~5 min):詳細(xì)類型,更加有深度,內(nèi)容比較多,生成速度會慢一點(diǎn)。
  • Resource Report:原始報告,將提供所有網(wǎng)絡(luò)搜索的內(nèi)容以供參考。

在”Agent Output”的部分會看到研究的計劃和任務(wù)的執(zhí)行情況。“Research Report” 中會生成最終的生成報告。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

介紹完GPT Researcher的整體布局之后,我們來實(shí)測一下它的研究能力,如下圖所示,輸入“ai agent 在企業(yè)中的應(yīng)用”作為我們的研究主題,并且選擇Summary類型作為報告生成方式。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

點(diǎn)擊“Research”按鈕之后開始執(zhí)行研究任務(wù),同時Agent Output輸出如下圖所示內(nèi)容。

Thinking about research questions for the task...

GPT Researcher在生成研究問題,以便為特定任務(wù)形成客觀和全面的研究框架。

Starting the research task for 'ai agent 在企業(yè)中的應(yīng)用'...

GPT Researcher開始執(zhí)行具體的研究任務(wù),基于用戶提供的主題 "ai agent 在企業(yè)中的應(yīng)用"。

Business Analyst Agent

GPT Researcher采用了一個特定的“商業(yè)分析代理”來處理研究任務(wù)。

I will conduct my research based on the following queries: ['ai agent 在企業(yè)中的應(yīng)用 2024', 'ai agent 在企業(yè)中的應(yīng)用 中國 2024', 'ai agent 在企業(yè)中的應(yīng)用 案例分析 2024', 'ai agent 在企業(yè)中的應(yīng)用']...

GPT Researcher列出了將要使用的具體查詢。這些查詢反映了研究任務(wù)的多維度,包括時間、地點(diǎn)和具體應(yīng)用案例。

Running research for 'ai agent 在企業(yè)中的應(yīng)用 2024'...

顯示GPT Researcher實(shí)際開始對指定查詢執(zhí)行研究任務(wù)。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

執(zhí)行過程中如果切換到控制臺,從命令行的輸出來看,發(fā)現(xiàn)如下內(nèi)容。由于內(nèi)容較多,我們截取其中一部分給大家解釋。

??Starting the research task for 'ai agent 在企業(yè)中的應(yīng)用'...

??https://api.chatanywhere.tech/v1??

?? Business Analyst Agent

??https://api.chatanywhere.tech/v1??

??I will conduct my research based on the following queries: ['ai agent 在企業(yè)中的應(yīng)用 2024', 'ai agent 在企業(yè)中的應(yīng)用 中國 2024', 'ai agent 在企業(yè)中的應(yīng)用 案例分析 2024', 'ai agent 在企業(yè)中的應(yīng)用']...

??Running research for 'ai agent 在企業(yè)中的應(yīng)用 2024'...

? Added source url to research: https://zhuanlan.zhihu.com/p/675595267

? Added source url to research: https://www.technologyreview.com/2024/05/14/1092407/googles-astra-is-its-first-ai-for-everything-agent/

? Added source url to research: https://zhuanlan.zhihu.com/p/676245844

? Added source url to research: https://www.infoq.cn/article/bqmoGzkvE4GwWsvruqHp

? Added source url to research: https://www.thepaper.cn/newsDetail_forward_27225624

?? Researching for relevant information...

??Getting relevant content based on query: ai agent 在企業(yè)中的應(yīng)用 2024...

?? Source: https://www.thepaper.cn/newsDetail_forward_27225624

Title:

Content: 登錄

《2024年AI Agent行業(yè)報告》——大模型時代的“APP”,探索新一代人機(jī)交互及協(xié)作范式

原創(chuàng) 劉瑤 甲子光年

60頁報告,和100+場景梳理,可能依然趕不上飛速發(fā)展的AI Agent!

隨著大型模型在各行各業(yè)的廣泛應(yīng)用,基于大型模型的人工智能體(AI Agent)迎來了快速發(fā)展的階段。研究AI Agent是人類不斷接近人工通用智能(AGI)的探索之一。知名AI Agent項(xiàng)目AutoGPT已經(jīng)在GitHub的星星數(shù)已經(jīng)達(dá)到 140,000 顆,進(jìn)一步反映了用戶對于AI Agents 項(xiàng)目的廣泛興趣和支持。

隨著AI Agent變得越來越易用和高效,"Agent+"的產(chǎn)品越來越多,未來AI Agent有望成為AI應(yīng)用層的基本架構(gòu),涵蓋toC和toB產(chǎn)品等不同領(lǐng)域。

因此甲子光年推出《2024年AI Agent行業(yè)報告》,探討AI Agent在概念變化,學(xué)術(shù)及商業(yè)界的嘗試與探索,對各行業(yè)、各場景對于AIGC技術(shù)的需求進(jìn)行調(diào)研及梳理,展示AI Agent領(lǐng)域近期的突破及商業(yè)實(shí)踐范式,對未來行業(yè)的趨勢進(jìn)行研判。

原標(biāo)題:《《2024年AI Agent行業(yè)報告》——大模型時代的“APP”,探索新一代人機(jī)交互及協(xié)作范式|甲子光年智庫》

<省略部分內(nèi)容……>

這里的輸出結(jié)果更加詳細(xì),方便我們了解GPT Researcher的工作流程,大致包括如下5個步驟:

啟動研究任務(wù):

開始研究主題為“ai agent 在企業(yè)中的應(yīng)用”的任務(wù)。

選擇和執(zhí)行商業(yè)分析代理:

選擇了“Business Analyst Agent”作為執(zhí)行任務(wù)的代理。

生成查詢:

生成了一系列研究查詢,此時會調(diào)用搜索引擎,查詢內(nèi)容包括:

  • 'ai agent 在企業(yè)中的應(yīng)用 2024'
  • 'ai agent 在企業(yè)中的應(yīng)用 中國 2024'
  • 'ai agent 在企業(yè)中的應(yīng)用 案例分析 2024'
  • 'ai agent 在企業(yè)中的應(yīng)用'

執(zhí)行具體查詢:

對每個查詢分別進(jìn)行研究,并添加相關(guān)的資源URL,例如:

https://zhuanlan.zhihu.com/p/675595267 等。

獲取相關(guān)內(nèi)容:

從添加的資源URL中獲取相關(guān)內(nèi)容,并展示部分內(nèi)容摘要。例如:

《2024年AI Agent行業(yè)報告》:探討AI Agent在各行各業(yè)的應(yīng)用、概念變化、學(xué)術(shù)及商業(yè)界的嘗試與探索。

上面這些研究、搜索、匯總工作都是由GPT Researcher 自動完成不需要人工干預(yù),大約2分鐘之后整個過程執(zhí)行完畢。此時,我們可以通過選擇下載報告文件類型的方式選擇要下載的文件格式。這里我選擇了Word 和MD的文件格式進(jìn)行下載,如下圖所示,與此同時在源代碼目錄下outputs 目錄中也會生成對應(yīng)的文件。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

我們打開Word 文件,查看其內(nèi)容如下圖所示。左邊顯示了研究報告的目錄結(jié)構(gòu),包括:基本概念,應(yīng)用場景,技術(shù)架構(gòu),優(yōu)勢和挑戰(zhàn)等,看上去還比較全面。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

在研究報告的最后,還提供了參考文獻(xiàn)的鏈接,如下圖所示,這些文獻(xiàn)都是來自于互聯(lián)網(wǎng)搜索的結(jié)果。

GPT Researcher:破解復(fù)雜研究的AI利器-AI.x社區(qū)

集成GPT Researcher:從應(yīng)用到擴(kuò)展

通過執(zhí)行GPT Researcher讓其為我們研究“ai agent 在企業(yè)中的應(yīng)用”,這個操作過程是通過GPT Researcher提供的Web 應(yīng)用界面完成的。如果我們需要將GPT Researcher的能力集成到自己的項(xiàng)目中,我們就需要將 GPTResearcher 引入到現(xiàn)有的 Python 項(xiàng)目中。

大致步驟如下,首先需要導(dǎo)入相關(guān)模塊并定義全局常量,如研究查詢和報告類型。然后,通過定義異步函數(shù)來初始化GPT Researcher 實(shí)例并執(zhí)行研究任務(wù)。最后,運(yùn)行主函數(shù)以生成和打印研究報告。

我們將上述擴(kuò)展過程整理成如下代碼:

from gpt_researcher import GPTResearcher
import asyncio
QUERY = "<填寫需要研究的內(nèi)容>"
REPORT_TYPE = "research_report"
async def fetch_report(query, report_type):
    researcher = GPTResearcher(query=query, report_type=report_type, config_path=None)
    await researcher.conduct_research()
    report = await researcher.write_report()
    return report
async def generate_research_report():
    report = await fetch_report(QUERY, REPORT_TYPE)
    print(report)
if __name__ == "__main__":
    asyncio.run(generate_research_report())

代碼內(nèi)容主要使用GPT Researcher調(diào)用研究任務(wù)的計劃、執(zhí)行、搜索、總結(jié)的能力,詳細(xì)代碼解釋如下:

(1) 導(dǎo)入模塊

from gpt_researcher import GPTResearcher
import asyncio

導(dǎo)入了自定義模塊 gpt_researcher 中的 GPTResearcher 類,用于后續(xù)研究報告的生成。同時導(dǎo)入了 asyncio 模塊,用于支持異步編程。

(2) 定義全局常量

QUERY = "<填寫需要研究的內(nèi)容>"
REPORT_TYPE = "research_report"

定義了兩個全局常量:QUERY 保存查詢問題,REPORT_TYPE 保存報告類型。

(3) 異步函數(shù) fetch_report

async def fetch_report(query, report_type):
    researcher = GPTResearcher(query=query, report_type=report_type, config_path=None)
    await researcher.conduct_research()
    report = await researcher.write_report()
    return report

定義了一個名為 fetch_report 的異步函數(shù),用于根據(jù)給定的查詢和報告類型獲取研究報告。

  • 創(chuàng)建 GPTResearcher 實(shí)例,傳入查詢和報告類型。
  • 調(diào)用 conduct_research 方法執(zhí)行研究。
  • 調(diào)用 write_report 方法生成報告并返回。

(4) 異步函數(shù) generate_research_report

async def generate_research_report():
    report = await fetch_report(QUERY, REPORT_TYPE)
    print(report)

定義了一個名為 generate_research_report 的異步函數(shù),用于執(zhí)行生成研究報告的主要邏輯。調(diào)用 fetch_report 函數(shù)獲取研究報告。打印生成的報告。

(5) 主程序入口

if __name__ == "__main__":
    asyncio.run(generate_research_report())

在腳本作為主程序運(yùn)行時,調(diào)用 asyncio.run 方法執(zhí)行 generate_research_report 函數(shù),啟動異步任務(wù)并生成報告。

整體而言這段代碼,使用異步編程技術(shù),通過 GPTResearcher 類生成關(guān)于指定查詢的研究報告,并在主程序中執(zhí)行生成并打印結(jié)果。

定制GPT Researcher:從配置到應(yīng)用

我們不僅可以將GPT Researcher集成應(yīng)用中,還可以對大模型,搜索引擎等信息進(jìn)行定制。在源代碼目錄下面的gpt_researcher/config目錄下面,存在配置文件 config.py,文件中描述了所有可以配置的環(huán)境變量。基于這些環(huán)境變量,你可以根據(jù)具體需求靈活定制 GPT Researcher。包括選擇不同的搜索引擎、嵌入提供商和大語言模型提供商,以確保獲得最佳的研究結(jié)果。而這些配置參數(shù)設(shè)置在.env 文件中保存。說白了,就是config.py 文件中定義配置的信息,具體的配置在.env 中描述。

config.py 文件中的配置類定義如下:

def __init__(self, config_file: str = None):
        """Initialize the config class."""
        self.config_file = os.path.expanduser(config_file) if config_file else os.getenv('CONFIG_FILE')
        self.retriever = os.getenv('RETRIEVER', "tavily")
        self.embedding_provider = os.getenv('EMBEDDING_PROVIDER', 'openai')
        self.llm_provider = os.getenv('LLM_PROVIDER', "openai")
        self.fast_llm_model = os.getenv('FAST_LLM_MODEL', "gpt-3.5-turbo-16k")
        self.smart_llm_model = os.getenv('SMART_LLM_MODEL', "gpt-4o")
        self.fast_token_limit = int(os.getenv('FAST_TOKEN_LIMIT', 2000))
        self.smart_token_limit = int(os.getenv('SMART_TOKEN_LIMIT', 4000))
        self.browse_chunk_max_length = int(os.getenv('BROWSE_CHUNK_MAX_LENGTH', 8192))
        self.summary_token_limit = int(os.getenv('SUMMARY_TOKEN_LIMIT', 700))
        self.temperature = float(os.getenv('TEMPERATURE', 0.55))
        self.user_agent = os.getenv('USER_AGENT', "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
                                                   "(KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0")
        self.max_search_results_per_query = int(os.getenv('MAX_SEARCH_RESULTS_PER_QUERY', 5))
        self.memory_backend = os.getenv('MEMORY_BACKEND', "local")
        self.total_words = int(os.getenv('TOTAL_WORDS', 800))
        self.report_format = os.getenv('REPORT_FORMAT', "APA")
        self.max_iterations = int(os.getenv('MAX_ITERATIONS', 3))
        self.agent_role = os.getenv('AGENT_ROLE', None)
        self.scraper = os.getenv("SCRAPER", "bs")
        self.max_subtopics = os.getenv("MAX_SUBTOPICS", 3)

        self.load_config_file()

    def load_config_file(self) -> None:
        """Load the config file."""
        if self.config_file is None:
            return None
        with open(self.config_file, "r") as f:
            config = json.load(f)
        for key, value in config.items():
            setattr(self, key.lower(), value)

由于配置參數(shù)內(nèi)容比較多,這里我們挑選幾個經(jīng)常用的配置給大家介紹。這些配置參數(shù)可以在 .env 文件中設(shè)置,并在 Config 類初始化時加載。以下是主要配置選項(xiàng)的介紹:

RETRIEVER:用于檢索資源的網(wǎng)絡(luò)搜索引擎。默認(rèn)值為 tavily,可選項(xiàng)包括 duckduckgo、bing、google、serper、searx。通過設(shè)置 RETRIEVER 環(huán)境變量,可以選擇不同的搜索引擎。例如,在.env 中使用 Bing 搜索引擎:

RETRIEVER=bing

EMBEDDING_PROVIDER:嵌入模型的提供商。默認(rèn)值為 openai,可選項(xiàng)包括 ollama、huggingface、azureopenai、custom。可以通過設(shè)置 EMBEDDING_PROVIDER 環(huán)境變量來選擇不同的提供商:

EMBEDDING_PROVIDER=huggingface

LLM_PROVIDER:大語言模型(LLM)的提供商。默認(rèn)值為 openai,可選項(xiàng)包括 google、ollama、groq 等。可以通過設(shè)置 LLM_PROVIDER 環(huán)境變量選擇不同的 LLM 提供商:

LLM_PROVIDER= openai

FAST_LLM_MODEL:用于快速 LLM 操作(如摘要)的模型名稱。默認(rèn)值為 gpt-3.5-turbo-16k。可以通過設(shè)置 FAST_LLM_MODEL 環(huán)境變量調(diào)整此模型:

FAST_LLM_MODEL=gpt-3.5-turbo-16k

SMART_LLM_MODEL:用于復(fù)雜操作(如生成研究報告和推理)的模型名稱。默認(rèn)值為 gpt-4o。可以通過設(shè)置 SMART_LLM_MODEL 環(huán)境變量來選擇合適的模型:

SMART_LLM_MODEL=gpt-4o

總結(jié)

GPT Researcher 在自動化研究領(lǐng)域中展示了顯著的進(jìn)步,解決了傳統(tǒng)大型語言模型的局限性。通過采用 Plan-and-Solve 方法,GPT Researcher 能夠高效處理以前需要大量人力的復(fù)雜任務(wù)。它能夠拆解任務(wù)、進(jìn)行并行處理,并從多個來源生成詳細(xì)的報告,確保高準(zhǔn)確性和客觀性。此外,其靈活的配置使用戶可以根據(jù)具體的研究需求對其進(jìn)行定制,增強(qiáng)了其在各種領(lǐng)域的實(shí)用性。隨著AI技術(shù)的不斷發(fā)展,像GPT Researcher這樣的工具將在簡化研究過程方面發(fā)揮關(guān)鍵作用,使高質(zhì)量的信息變得更加易于獲取,并減少完成綜合研究所需的時間和精力。

參考

??https://papers.nips.cc/paper_files/paper/2022/file/8bb0d291acd4acf06ef112099c16f326-Paper-Conference.pdf??

??https://ar5iv.labs.arxiv.org/html/2305.04091??

作者介紹

崔皓,51CTO社區(qū)編輯,資深架構(gòu)師,擁有18年的軟件開發(fā)和架構(gòu)經(jīng)驗(yàn),10年分布式架構(gòu)經(jīng)驗(yàn)。

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
已于2024-6-4 08:31:57修改
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦
高清欧美一区二区三区| 日韩国产精品大片| 欧美视频在线观看一区| 欧美精品久久96人妻无码| 你微笑时很美电视剧整集高清不卡| 91精品欧美久久久久久动漫| 日韩有码免费视频| 日本伊人色综合网| 国产精品午夜一区二区欲梦| 欧美一级做一级爱a做片性| 亚洲动漫第一页| 日韩精品一区二区三区久久| 午夜一级久久| 国产欧美精品一区二区| 91精品尤物| 中文字幕精品在线视频| 天堂8中文在线| 色综合久久久久久久| 69国产精品| 久久精品亚洲麻豆av一区二区 | 成人四虎影院| 欧美电影在线免费观看| 在线电影av| 亚洲综合一二区| 成人蜜桃视频网站网址| 国产欧美精品一区二区色综合朱莉| 影音先锋欧美资源| 久久精品亚洲| 国产亚洲一区在线播放| 欧美+亚洲+精品+三区| 国产精品永久免费视频| 国模精品一区| 国产成人精品一区二区| 女同久久另类99精品国产| 韩国19禁主播vip福利视频| 日本精品在线播放| 久久999免费视频| 亚洲精品一区国产| 久久久亚洲国产| 噜噜噜天天躁狠狠躁夜夜精品| 欧美成人精品影院| 午夜日韩影院| 777精品视频| 九色精品国产蝌蚪| 国产中文字幕91| 欧美日韩一区自拍| 精品伦精品一区二区三区视频| 亚洲欧洲日本一区二区三区| 美日韩免费视频| 久久亚洲电影| 成人一区二区av| 99riav久久精品riav| 狠狠热免费视频| 伊人夜夜躁av伊人久久| 视频一区二区在线播放| 欧美亚洲综合在线| 欧美videossex| 一本色道久久88综合日韩精品 | 蜜臀a∨国产成人精品| 在线成人性视频| www.视频一区| 精品999在线| 亚洲成av人在线观看| 99re在线视频| 亚洲欧洲自拍偷拍| av综合网站| 91精品在线一区| 日韩av一区二| 欧美变态另类刺激| 亚洲一区二区视频在线观看| 国产小视频免费在线观看| 欧美本精品男人aⅴ天堂| 国产私拍福利精品视频二区| 久久综合伊人77777尤物| 日韩www.| 亚洲免费视频播放| 亚洲日本丝袜连裤袜办公室| 91社区在线| 曰本色欧美视频在线| 亚洲精品亚洲人成在线| 国产一区二区黄色| 波多野结衣中文一区| 97影院在线观看| 日韩精品一区二| 国产伦理久久久久久妇女| 国产美女精品在线观看| caoporn国产一区二区| 中文字幕视频在线| 亚洲男女性事视频| 在线成人动漫av| 亚洲一区高清| 综合亚洲深深色噜噜狠狠网站| 成人精品一区二区三区免费| 亚洲一级黄色片| 国产精品99在线观看| av日韩在线看| 日韩欧美国产一区二区| 伊人久久一区| 九九九九九精品| 国产精品久久久久精k8| 天天干在线视频论坛| 91av在线免费观看| 美女视频一区在线观看| 天海翼女教师无删减版电影| 亚洲欧美成人网| 久久久久美女| 成年人免费大片| 欧美成人午夜电影| 成人羞羞在线观看网站| 97视频久久久| 欧美日韩精品系列| 成人免费在线电影网| 中文字幕中文字幕在线中心一区| 亚洲国产精品人人做人人爽| 黄色精品视频网站| 日本一区视频在线| 亚洲福利一区二区三区| 国产精品日本一区二区不卡视频| 久久一区二区三区av| 亚洲国产成人tv| y111111国产精品久久久| 一区二区三区四区五区精品| 日韩欧美999| 色婷婷久久久| 日本中文字幕网址| 亚洲成人黄色在线观看| 日韩中字在线| 青青草av网站| 亚洲欧美精品一区| 亚洲区第一页| 在线看片你懂得| 国产91精品久久久| 久久综合国产精品| 日本黄色一区| www.-级毛片线天内射视视| 欧美精品在线视频| 欧美日韩免费观看一区=区三区| av天在线播放| 91av国产在线| 亚洲欧美日韩国产手机在线| 色播一区二区| 成人黄色片视频| 中文字幕9999| 国产成人一区在线| 精精国产xxx在线视频app| 欧美国产视频在线观看| 欧美午夜影院一区| 亚洲欧洲日韩| 在线资源av| 91天堂在线视频| 亚洲成av人片在线| 国产成人影院| 一级毛片免费视频| 成人精品aaaa网站| 好吊成人免视频| 91精品国产91久久久久久密臀 | 宅男噜噜噜66一区二区| 日色在线视频| 91免费欧美精品| 91国偷自产一区二区使用方法| 你懂的视频一区二区| 成人在线免费电影| 免费久久99精品国产自| 欧美日韩一二三区| 亚洲欧美清纯在线制服| 调教一区二区| 亚洲av综合色区| 91精品一区二区三区在线观看| 日日夜夜精品视频天天综合网| 国产蜜臀在线| 国产成人艳妇aa视频在线| www.久久久久久.com| 国产日韩精品一区二区浪潮av| 日本亚洲不卡| 国产乱视频在线观看| 日韩视频在线观看国产| 国产一区二区三区在线播放免费观看| av亚洲精华国产精华| 韩国精品福利一区二区三区| 在线看a视频| 先锋影音欧美| 精品国产欧美一区二区三区成人 | 最近2018中文字幕免费在线视频| 国产欧美精品久久久| 欧美日韩小视频| 久久成人免费网| 欧美天堂在线| 中国大陆高清aⅴ毛片| 国产亚洲第一区| 亚洲男人av在线| 中文字幕一区二区5566日韩| 婷婷综合激情| h片在线观看视频免费| 老司机午夜av| 成人欧美一区二区| 国产视频亚洲视频| 亚洲欧美电影一区二区| 麻豆91精品| 91精品啪在线观看国产爱臀| 成年在线观看免费人视频|