ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LongtermChatExternalSources安全与成本指南:7个技巧保护OpenAI API密钥并降低Token开销

LongtermChatExternalSources安全与成本指南:7个技巧保护OpenAI API密钥并降低Token开销 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 开销下降一半以上——这正是把长记忆聊天机器人从玩具变成可以长期跑的关键一步。【免费下载链接】LongtermChatExternalSourcesGPT-3 chatbot with long-term memory and external sources项目地址: https://gitcode.com/gh_mirrors/lo/LongtermChatExternalSources创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表