news 2026/9/5 18:43:45

2 个配置项跑通 MemGPT Groq 接入:完整修复“密钥缺失”与流式报错指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2 个配置项跑通 MemGPT Groq 接入:完整修复“密钥缺失”与流式报错指南

2 个配置项跑通 MemGPT Groq 接入:完整修复“密钥缺失”与流式报错指南

【免费下载链接】MemGPTPlatform for stateful agents: AI with advanced memory that can learn and self-improve over time.项目地址: https://gitcode.com/GitHub_Trending/me/MemGPT

MemGPT(Letta)是一个让 AI Agent 拥有长期记忆并能持续自我改进的有状态智能体平台。我们在给它接入 Groq 高速推理服务时,最常见的两个报错是No API key provided(密钥缺失)和流式调用时的NotImplementedError。这两个问题只需要 2 个配置项就能解决:配置 Groq API key,并把流式输出显式关闭。下面先给可用配置,再逐条解释根因。

跑通的最小配置:2 个配置项一张表看懂

下面这张表就是本次排障的全部答案,先照着配,后文再讲为什么:

配置项应设置的值白话解释
groq_api_key(或环境变量GROQ_API_KEY你的真实密钥,形如gsk_...Groq 服务的身份凭证,没有它请求直接被拒
streamFalse关闭流式输出,因为 Groq 客户端根本没实现流式

以下代码用于创建模型调用参数对象,LLMConfig(letta/schemas/llm_config.py)就是承载“用哪个模型、连哪个端点、是否流式”等参数的配置载体:

from letta.schemas.llm_config import LLMConfig llm_config = LLMConfig( model="llama3-70b-8192", model_endpoint="https://api.groq.com/openai/v1", # Groq 的 API 基础地址 stream=False, # 必须显式关闭流式 )

Groq API key 配置:两条查找路径与配置写法

No API key provided的根因在 letta/llm_api/groq_client.py:GroqClient发起请求时按固定优先级取密钥,两条路径都为空才会报这个错:

api_key = model_settings.groq_api_key or os.environ.get("GROQ_API_KEY")
  1. 项目配置model_settings.groq_api_key,即 letta/settings.py 中model_settingsgroq_api_key字段(model_settings是 MemGPT 的全局配置对象)。
  2. 环境变量GROQ_API_KEY,未走第 1 条时回退到这里。

优先用环境变量解决。按顺序执行(均为你本地的 shell 操作):

# 第 1 步:确认当前 shell 里有没有 key echo $GROQ_API_KEY # 第 2 步:若输出为空,设置密钥(当前终端会话内立即生效) export GROQ_API_KEY="gsk_你的真实密钥"

密钥去 Groq 官方控制台创建,生成后立刻保存,页面刷新后不会再次显示。

把密钥写入 shell 配置避免重启丢失

export只对当前会话有效,新开的终端会再次报密钥缺失。需要持久化时,执行下面两行,然后重开一个终端复跑echo $GROQ_API_KEY确认:

echo 'export GROQ_API_KEY="gsk_你的真实密钥"' >> ~/.bashrc source ~/.bashrc

关闭流式输出的正确写法:NotImplementedError 修复

⚠️ 这个报错不是偶发故障,而是实现上的硬限制。letta/llm_api/groq_client.py 中的stream_async方法被写死为直接抛异常:

async def stream_async(self, request_data: dict, llm_config: LLMConfig): raise NotImplementedError("Streaming not supported for Groq.")

因果链很清楚:只要请求走到流式分支,这个异常必然抛出,重试多少次都一样。所以修复动作只有一个——不让请求进入流式分支

LLMConfigstream字段显式设为False(写法见第一节代码)。注意“不写”不等于“关掉”:其他客户端默认可能带流式行为,Groq 必须显式禁用。如果你用的是 Agent 级推理配置,同样在对应配置里把stream改为False

llama3-70b-8192 接入:Groq 端点与模型选择

端点必须固定为https://api.groq.com/openai/v1——这是 letta/schemas/providers/groq.py 中GroqProvider(Groq 的提供商配置类)的默认base_url,与 OpenAI 兼容路径保持一致。

模型按场景二选一:

模型上下文窗口适合场景
llama3-70b-81928K长文本处理、RAG 问答
mixtral-8x7b-3276832K多轮对话、快速响应

把上表模型名填进LLMConfigmodel字段即可,两个模型走的都是同一个端点和同一套密钥。

3 条命令验证清单:确认 Groq 接入已跑通

按编号逐条执行,任一步不通过就回到对应小节,不要跳步:

  1. 密钥检查echo $GROQ_API_KEY,预期输出以gsk_开头的密钥串;输出为空则回到“Groq API key 配置”一节。
  2. 端点直连测试:以下命令绕过 MemGPT 直接打 Groq 接口,用来区分问题出在密钥/网络还是出在项目配置:
curl -s https://api.groq.com/openai/v1/chat/completions \ -H "Authorization: Bearer $GROQ_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"llama3-70b-8192","messages":[{"role":"user","content":"Hello"}]}'

预期输出:一段 JSON,其中包含"choices""message""content"字段。若返回 401,说明密钥无效或环境变量未生效。 3.项目内校验:参照 tests/test_providers.py 的测试模式确认配置合法:

provider = GroqProvider(api_key="有效密钥", model="llama3-70b-8192") provider.validate() # 预期返回 True

✅ 完成标志:重跑第 2 步的 curl 命令,只要响应 JSON 中出现"message""content"字段,且provider.validate()返回True,即代表 MemGPT 到 Groq 的链路已完全打通,可以正式在 Agent 中使用。

【免费下载链接】MemGPTPlatform for stateful agents: AI with advanced memory that can learn and self-improve over time.项目地址: https://gitcode.com/GitHub_Trending/me/MemGPT

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 18:38:12

基于MATLAB的PUMA560机械臂RRT路径规划仿真实践

简介:本资源是一套面向机器人算法学习者与自动化方向研究者的MATLAB实战项目,聚焦六自由度PUMA560机械臂在复杂环境下的自主路径规划问题,完整实现从运动学建模、RRT采样搜索、碰撞检测到关节空间平滑轨迹生成的全流程。压缩包共15个文件&…

作者头像 李华
网站建设 2026/9/5 18:38:07

大疆nano图传模块双面改装:告别反复拔插的技术解析

先说一个可能很多人都会遇到的情况:大疆 nano 图传模块本身并不难用,真正让人暴躁的是它的安装位置、线束方向和固定方式。如果你需要在多个机架之间共用同一个图传,或者经常因为调参、换摄像头、理线把模块拆下来,那你多半经历过…

作者头像 李华