
LongtermChatExternalSources安全與成本指南7個技巧保護OpenAI API密鑰并降低Token開銷【免費下載鏈接】LongtermChatExternalSourcesGPT-3 chatbot with long-term memory and external sources項目地址: https://gitcode.com/gh_mirrors/lo/LongtermChatExternalSourcesLongtermChatExternalSources 是一個基于 GPT-3 的長短期記憶聊天機器人GPT-3 chatbot with long-term memory and external sources。每與它說一句話背后會觸發多達 6 次 OpenAI API 調用密鑰以明文文件存放、日志全量落盤既有關鍵的 API 密鑰安全隱患也有實打實的 Token 開銷。本文提供 7 個可立即上手的技巧幫你保護 OpenAI API 密鑰并顯著降低 Token 成本。先搞懂密鑰與費用發生在哪里項目結構非常精簡讀懂下面這張表你就抓住了全部安全與成本要點文件/目錄作用安全/成本關注點chat.py主對話循環讀取密鑰、發起所有 API 調用openaiapikey.txt存放 OpenAI API 密鑰明文文件泄露高危點nexus/每輪對話的完整日志含 1536 維向量本地隱私數據internal_notes/對話摘要筆記每輪重新生成一次gpt3_logs/完整 Prompt 模型回復存檔磁盤膨脹、隱私外溢關鍵點在于每發一條消息程序會依次完成 4 次 embedding 向量調用用戶輸入、筆記塊、模型回復各向量化和 2 次 text-davinci-003 補全調用筆記摘要 正式回復。這就是 Token 開銷的根源也是下面技巧 4~7 的優化空間。第一部分3個技巧保護 OpenAI API 密鑰 技巧1確保密鑰文件永不進版本庫程序在 chat.py 第 142 行直接讀取項目根目錄的openaiapikey.txt作為密鑰。倉庫自帶的 .gitignore 已將該文件排除在 Git 之外——這是唯一一層保護請遵守它不要改文件名或刪掉.gitignore里的openaiapikey.txt條目否則密鑰會被 commit 上傳公開倉庫中幾乎不可能徹底清除不要把整個項目文件夾通過網盤、壓縮包分享給他人dream_sequence.pydream_sequence.py 第 80 行以相同方式讀取密鑰整個目錄都應視為含密目錄在 README.md 的安裝說明中官方特意強調密鑰文件末尾不要有空行no trailing newline因為程序原樣讀取文件內容復制密鑰時請只保留密鑰本身技巧2用最小權限鎖住密鑰文件即使不上傳 Git明文密鑰躺在項目根目錄仍可能被同機器用戶、備份工具或惡意腳本讀到。在 Mac/Linux 上執行一條命令把權限收緊到只有自己能讀chmod 600 openaiapikey.txtWindows 用戶建議將項目放在受控的、僅當前賬戶可訪問的目錄中并避免把該目錄設為共享文件夾。技巧3在 OpenAI 后臺設置消費上限并專鑰專用為聊天機器人實驗單獨創建一個 API 密鑰與生產業務密鑰隔離一旦跑飛可以單獨吊銷互不影響在 OpenAI 控制臺的 Billing 頁面設置 monthly hard limit月度硬性上限并開啟低余額告警給意外調用裝上總閘注意 chat.py 內置了最多 5 次的失敗重試循環網絡抖動時單次請求最多多花 5 倍費用——消費上限是最后的保險絲第二部分4個技巧降低 Token 開銷 技巧4按需調小 max_tokens 上限gpt3_completion 默認參數tokens400且 prompt_response.txt 明確要求模型輸出long, verbose, detailed answer——每次回復都可能吃滿 400 個輸出 Tokendavinci-003 的輸出單價是輸入的近 3 倍。如果你只需要簡短答復把該默認值改為 150~200或將 Prompt 中的 long, verbose, detailed 改為 concise單次成本即可下降一半以上。技巧5減少記憶檢索條數主循環在 chat.py 第 156 行調用fetch_memories(vector, conversation, 10)每輪都拉取 10 條最相關歷史去生成摘要。而摘要的輸入越長text-davinci-003的輸入 Token 越多。日常閑聊場景把 10 改為 3~5摘要質量基本無損輸入費用卻明顯下降只有長話題深挖時才需要完整記憶。技巧6復用筆記避免每輪重復摘要summarize_memorieschat.py 第 77~95 行每輪對話都會重新調用一次補全 API 生成筆記哪怕相關記憶與上一輪高度重合。源碼中已留下 TODOdo this in the background over time 和 search existing notes first。你可以把internal_notes/中已有的筆記按向量相似度檢索后直接復用僅在無命中時才調用 API 生成新筆記讓摘要任務在空閑時段后臺執行既省費用又降低對話延遲技巧7關閉全量日志省磁盤更省隱私程序每次調用都會把完整 Prompt 模型回復原樣寫入 gpt3_logs/chat.py 第 128~131 行而 Prompt 里包含你的全部對話內容nexus/下的日志同樣逐句留存倉庫中僅示例數據就近 1.1 MB。建議定期清理gpt3_logs/、internal_notes/中與 Token 賬單無關的舊文件它們不參與記憶檢索刪除不影響功能長期運行時將nexus/納入加密備份或定期歸檔避免個人隱私無限累積若需臨時排查問題可只保留最近一天的日志安全與成本速查清單 ?類別操作涉及位置預期收益密鑰安全保持.gitignore排除openaiapikey.txt.gitignore防止密鑰隨代碼泄露密鑰安全chmod 600收緊文件權限openaiapikey.txt防止本機其他賬戶讀取密鑰安全獨立密鑰 Billing 消費上限OpenAI 控制臺異常調用有總閘Token 成本max_tokens400 → 150~200chat.py 第 110 行輸出費用減半以上Token 成本記憶檢索 10 條 → 3~5 條chat.py 第 156 行摘要輸入費用下降Token 成本復用internal_notes/已有筆記chat.py 第 77~95 行減少重復補全調用隱私與磁盤定期清理gpt3_logs/、歸檔nexus/gpt3_logs/、nexus/控制數據外溢與膨脹寫在最后LongtermChatExternalSources 用不到 200 行代碼就實現了帶長期記憶的 GPT-3 對話體驗它的密鑰管理與成本模型也極具代表性密鑰只靠.gitignore一層紙防線每輪對話固定燒掉 6 次 API 調用。按本文 7 個技巧逐項落實后你可以把密鑰風險收斂到本機最小權限 云端消費上限雙保險同時讓單次對話的 Token 開銷下降一半以上——這正是把長記憶聊天機器人從玩具變成可以長期跑的關鍵一步?!久赓M下載鏈接】LongtermChatExternalSourcesGPT-3 chatbot with long-term memory and external sources項目地址: https://gitcode.com/gh_mirrors/lo/LongtermChatExternalSources創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考