GPT Researcher 的win docker安裝攻略

github網址是:https://github.com/assafelovic/gpt-researcher
因為docker安裝方法不夠清晰,因此寫一個使用方法

以下是針對 Windows 系統 使用 Docker 運行 AI-Researcher 項目的 詳細分步指南


步驟 1:安裝 Docker

  1. 下載 Docker Desktop
    訪問 Docker 官網 下載 Windows 版安裝包。
  2. 安裝并啟動 Docker
    • 雙擊安裝包,按默認選項完成安裝。
    • 安裝完成后,啟動 Docker Desktop。首次啟動會提示啟用 WSL2,點擊確認。
    • 等待 Docker 圖標在任務欄顯示為綠色(表示已運行)。

!!! 安裝前需要增加一些代理,因為docker國內不能訪問

打開設置——docker engine ,增加代碼

  "registry-mirrors": ["https://docker.1panel.live","https://hub.rat.dev"]

步驟 2:配置環境變量文件(.env

  1. 克隆 .env.example 文件

    • 在項目根目錄(含 docker-compose.yml 的文件夾)中,找到 .env.example 文件。
    • 復制此文件,右鍵 → 復制 → 粘貼到同一目錄。
    • 將粘貼后的副本重命名為 .env(刪除 .example 后綴)。
  2. 編輯 .env 文件

    • 右鍵 → 用記事本或 VS Code 打開 .env 文件。
    • 填寫你的 API 密鑰(如 OpenAI、Google 等):
      OPENAI_API_KEY=你的OpenAI_API密鑰
      GOOGLE_API_KEY=你的Google_API密鑰
      ...
      
    • 保存文件(確保文件名是 .env,不是 .env.txt)。

    注意

    • 如果文件名顯示為 .env.txt,需在文件資源管理器開啟“顯示文件擴展名”后重命名。
      (方法:資源管理器 → 查看 → 勾選“文件擴展名”)

步驟 3:調整 docker-compose.yml 文件

  1. 用文本編輯器打開 docker-compose.yml

    • 右鍵文件 → 用 VS Code 或記事本打開。
  2. 注釋不需要的服務

    • 找到 services 下的服務(如 celeryredis 等),修改ports
  gptr-nextjs:pull_policy: buildimage: gptresearcher/gptr-nextjsstdin_open: trueenvironment:CHOKIDAR_USEPOLLING: "true"LOGGING_LEVEL: INFONEXT_PUBLIC_GA_MEASUREMENT_ID: ${NEXT_PUBLIC_GA_MEASUREMENT_ID}NEXT_PUBLIC_GPTR_API_URL: ${NEXT_PUBLIC_GPTR_API_URL}build:dockerfile: Dockerfile.devcontext: frontend/nextjsvolumes:- /app/node_modules- ./frontend/nextjs:/app- ./outputs:/app/outputsrestart: alwaysports:- 3333:3000
  • 保存文件。

步驟 4:啟動 Docker 容器

  1. 打開終端(PowerShell 或 CMD)

    • 在項目根目錄的地址欄輸入 cmdpowershell,回車打開命令行。
  2. 運行 Docker 命令

    docker compose up --build
    
    • 如果報錯,嘗試:
      docker-compose up --build  # 舊版本 Docker 可能需要此寫法
      

    過程說明

    • --build 會重新構建鏡像(首次運行或代碼修改后需要)。
    • 等待下載鏡像和構建完成(首次可能較久,依賴網絡速度)。

步驟 5:訪問應用

  1. 訪問 React 前端
    構建完成后,在瀏覽器輸入:

    http://localhost:3333
    
  2. 訪問 Python 后端 API
    后端服務運行在:

    http://localhost:8000
    

完整流程總結

  1. 安裝 Docker Desktop → 啟動并確認運行狀態。
  2. 復制 .env.example → 重命名 .env → 填寫 API 密鑰。
  3. 編輯 docker-compose.yml → 注釋不需要的服務。
  4. 在項目目錄打開終端 → 運行 docker compose up --build
  5. 訪問 http://localhost:3000 使用應用。

如有其他問題,可提供錯誤截圖或日志進一步排查! 🚀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74608.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74608.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74608.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【后端】【Django DRF】從零實現RBAC 權限管理系統

Django DRF 實現 RBAC 權限管理系統 在 Web 應用中,權限管理 是一個核心功能,尤其是在多用戶系統中,需要精細化控制不同用戶的訪問權限。本文介紹如何使用 Django DRF 設計并實現 RBAC(基于角色的訪問控制)系統&…

C#基礎學習(五)函數中的ref和out

1. 引言:為什么需要ref和out? ?問題背景:函數參數默認按值傳遞,值類型在函數內修改不影響外部變量;引用類型重新賦值時外部對象不變。?核心作用:允許函數內部修改外部變量的值,實現“雙向傳參…

八綱辨證總則

一、八綱辨證的核心定義 八綱即陰、陽、表、里、寒、熱、虛、實,是中醫分析疾病共性的綱領性辨證方法。 作用:通過八類證候歸納疾病本質,為所有辨證方法(如臟腑辨證、六經辨證)的基礎。 二、八綱分類與對應關系 1. 總…

【linux重設gitee賬號密碼 克隆私有倉庫報錯】

出現問題時 Cloning into xxx... remote: [session-1f4b16a4] Unauthorized fatal: Authentication failed for https://gitee.com/xxx/xxx.git/解決方案 先打開~/.git-credentials vim ~/.git-credentials或者創建一個 torch ~/.git-credentials 添加授權信息 username/pa…

綠聯NAS安裝內網穿透實現無公網IP也能用手機平板遠程訪問經驗分享

文章目錄 前言1. 開啟ssh服務2. ssh連接3. 安裝cpolar內網穿透4. 配置綠聯NAS公網地址 前言 大家好,今天給大家帶來一個超級炫酷的技能——如何在綠聯NAS上快速安裝cpolar內網穿透工具。想象一下,即使沒有公網IP,你也能隨時隨地遠程訪問自己…

CSS 美化頁面(一)

一、CSS概念 CSS(Cascading Style Sheets,層疊樣式表)是一種用于描述 HTML 或 XML(如 SVG、XHTML)文檔 樣式 的樣式表語言。它控制網頁的 外觀和布局,包括字體、顏色、間距、背景、動畫等視覺效果。 二、CS…

空轉 | GetAssayData doesn‘t work for multiple layers in v5 assay.

問題分析 當我分析多個樣本的時候,而我的seurat又是v5時,通常就會出現這樣的報錯。 錯誤的原因有兩個: 一個是參數名有slot變成layer 一個是GetAssayData 不是自動合并多個layers,而是選擇保留。 那么如果我們想合并多個樣本&…

UE4學習筆記 FPS游戲制作17 讓機器人持槍 銷毀機器人時也銷毀機器人的槍 讓機器人射擊

添加武器插槽 打開機器人的Idle動畫,方便查看武器位置 在動畫面板里打開骨骼樹,找到右手的武器節點,右鍵添加一個插槽,重命名為RightWeapon,右鍵插槽,添加一個預覽資產,選擇Rifle,根…

【JavaScript】七、函數

文章目錄 1、函數的聲明與調用2、形參默認值3、函數的返回值4、變量的作用域5、變量的訪問原則6、匿名函數6.1 函數表達式6.2 立即執行函數 7、練習8、邏輯中斷9、轉為布爾型 1、函數的聲明與調用 function 函數名(形參列表) {函數體 }eg: // 聲明 function sayHi…

硬件基礎--05_電壓

電壓(電勢差) 有了電壓,電子才能持續且定向移動起來,所有電壓是形成電流的必要條件。 電壓越大,能“定向移動”起來的電子就越多,電流就會越大。 有電壓的同時,形成閉合回路才會有電流,不是有電壓就有電流…

ES數據過多,索引拆分

公司企微聊天數據存儲在 ES 中,雖然按照企業分儲在不同的ES 索引中,但某些常用的企微主體使用量還是很大。4年中一個索引存儲數據已經達到46多億條數據,占用存儲3.1tb, ES 配置 由于多一個副本,存儲得翻倍,成本考慮…

存儲服務器是指什么

今天小編主要來為大家介紹存儲服務器主要是指什么,存儲服務器與傳統的物理服務器和云服務器是不同的,其是為了特定的目標所設計的,在硬件配置方式上也有著一定的區別,存儲空間會根據需求的不同而改變。 存儲服務器中一般會配備大容…

golang不使用鎖的情況下,對slice執行并發寫操作,是否會有并發問題呢?

背景 并發問題最簡單的解決方案加個鎖,但是,加鎖就會有資源爭用,提高并發能力其中的一個優化方向就是減少鎖的使用。 我在之前的這篇文章《開啟多個協程,并行對struct中的每個元素操作,是否會引起并發問題?》中討論過多協程場景下struct的并發問題。 Go語言中的slice在…

Java知識整理round1

一、常見集合篇 1. 為什么數組索引從0開始呢?假如從1開始不行咩 數組(Array):一種用連續的內存空間存儲相同數據類型數據的線性數據結構 (1)在根據數組索引獲取元素的時候,會用索引和尋址公式…

【C++指針】搭建起程序與內存深度交互的橋梁(下)

🔥🔥 個人主頁 點擊🔥🔥 每文一詩 💪🏼 往者不可諫,來者猶可追——《論語微子篇》 譯文:過去的事情已經無法挽回,未來的歲月還可以迎頭趕上。 目錄 C內存模型 new與…

JavaScript創建對象的多種方式

在JavaScript中,創建對象有多種方式,每種方式都有其優缺點。本文將介紹四種常見的對象創建模式:工廠模式、構造函數模式、原型模式和組合模式,并分析它們的特點以及如何優化。 1. 工廠模式 工廠模式是一種簡單的對象創建方式&am…

muduo庫的思路梳理

前言 對于muduo庫源碼的剖析我發現還是有些混亂的,所以這里再次梳理一下muduo網絡庫爭取可以簡單明了 首先對于muduo庫來說,不能想的得太過于復雜,它無非就是一個線程池加上epoll組成的網絡庫 這里我們從用的角度出發理解muoduo網絡庫 #inc…

Keil5 安裝全攻略

Keil5 安裝全攻略 Keil5 是一款廣泛用于嵌入式開發的 IDE,支持多種微控制器架構(如 ARM、C51)。本文將詳細介紹 Keil5 的安裝步驟、常見問題及解決方法,幫助您快速上手。 1. 安裝前的準備工作 (1) 系統要求 操作系統&#xff1…

C語言do...while語句將數字反轉后輸出

一、題目引入 輸入一個數字,將各位數字反轉后輸出? 參考代碼: 二、分析代碼 接著圖片中的分析 第一 ->a 的值變為12 第二 ->進入while循環條件,a為12不等于0循環才停止(a的值為12,顯然不等于0) 所以繼續進行循環 第三 ->此時b的值為12取各位上的數字(即2) 打印…

優選算法系列(前綴和 _下) k

目錄 五:和為 k 的子數組(medium) 題目鏈接:560. 和為 K 的子數組 - 力扣(LeetCode) 解法: 代碼: 六:和可被 K 整除的子數組(medium) 題目鏈…