pocketgroq
Groq API 全能力封装库:文本生成、CoT推理、RAG检索、视觉分析、语音转写、自主代理,一站
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Groq API 全能力封装库:文本生成、CoT推理、RAG检索、视觉分析、语音转写、自主代理,一站
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:PocketGroq 项目 Logo
想象你是一名独立开发者,正在用 Groq 的高速 LLM API 构建一个智能助手。你需要文本生成、需要联网搜索最新信息、需要处理用户上传的图片、还需要把用户的语音指令转成文字……每一个功能都要对接不同的 API、写不同的代码,你的项目很快变成了一个"接口地狱"。
PocketGroq 就是来解决这个痛点的。它由独立开发者 J. Gravelle(jgravelle)主导开发,是一款专注于 Groq API 的 Python 工具库,旨在用统一的接口封装 Groq 平台的所有能力——从基础的文本生成,到 Chain of Thought 推理、网页抓取、RAG 检索增强、图像分析、语音转写,再到自动化代理,覆盖了构建 LLM 应用所需的几乎全部环节。当前版本 0.5.6,已支持视觉理解和语音处理能力,真正成为了一站式 Groq API 集成方案。
PocketGroq 采用典型的分层模块化架构,核心是 GroqProvider 类,作为统一的 API 入口,其他所有高级功能都作为组件嵌入其中:
GroqProvider (核心)
├── groq_provider.py # Groq 官方 SDK 封装,模型列表查询
├── vision.py # 图像处理(URL/本地/屏幕截图/多轮对话)
├── speech.py # 语音处理(Whisper 转写与翻译)
├── web_tool.py # 网页抓取
├── enhanced_web_tool.py # 增强爬虫(支持多页面、深度爬取)
├── autonomous_agent.py # 自主研究代理(Generator 模式)
├── rag_manager.py # FAISS 向量检索(RAG)
├── chain_of_thought/ # CoT 推理模块
│ ├── cot_manager.py # CoT 步骤管理与执行
│ └── llm_interface.py # LLM 接口抽象
└── utils.py # 通用工具函数
核心依赖栈(按重要性排列):
| 依赖 | 版本要求 | 作用 |
|---|---|---|
groq | ≥0.8.0 | Groq 官方 SDK,API 调用的底层基础 |
langchain + langchain-groq | ≥0.3.1 | LLM 应用开发框架,支持工具调用和 RAG |
faiss-cpu | ≥1.8.0 | Facebook 开源向量检索库,RAG 语义搜索后端 |
ollama | ≥0.3.3 | 本地 LLM 运行时,RAG 的 embeddings 生成 |
bs4 (BeautifulSoup) | ≥0.0.2 | 网页内容解析 |
requests | ≥2.32.3 | HTTP 请求库 |
AI 框架层面:核心使用 Groq 平台(Llama3、Mistral、Qwen、Gemma 系列),RAG 环节通过 Ollama 调用本地 embeddings,支持的模型包括 whisper-large-v3 系列(语音)和 llama3-groq-70b-8192-tool-use-preview 等工具调用专用模型。
CoT 是 PocketGroq 的核心卖点之一。通过 ChainOfThoughtManager,库支持将复杂问题分解为多个步骤逐步推理,而非一次性生成答案。这对于数学计算、逻辑推理、代码调试等任务有显著效果。CoT 模块还支持自定义推理步骤数量和中间结果展示,方便调试和教学场景。
RAGManager 封装了完整的 RAG 流程:
RecursiveCharacterTextSplitter(chunk_size=1000,overlap=200).pkl 文件(默认 faiss_index.pkl),避免重复处理ollama serve)才能使用 embeddings 生成,RAG Manager 会在初始化时自动检测 Ollama 是否运行PocketGroq 的视觉处理能力相当全面,支持:
process_image_desktop() 截取整个屏幕,process_image_desktop_region() 支持指定坐标区域语音模块基于 Groq 平台的 Whisper 模型,提供:
whisper-large-v3,turbo 版不支持翻译)whisper-large-v3(最佳多语种,$0.111/小时)、whisper-large-v3-turbo(快速多语转写,$0.04/小时)、distil-whisper-large-v3-en(最快英语专用,$0.02/小时)AutonomousAgent 是一个基于 Generator 的研究型代理,典型工作流:
web_search() 生成搜索关键词max_sources 个),间隔 2 秒避免频率限制代理内置了 429 速率限制处理(等待 60 秒重试)和异常捕获,健壮性较好。
PocketGroq 是一个纯 Python 库,没有 Web UI 和 Docker 支持,部署极为简单:
# 方式一:PyPI 一键安装(推荐)
pip install pocketgroq
# 方式二:开发模式(可编辑源码)
pip install -e .
# 方式三:从源码构建
python setup.py install
只需配置 GROQ_API_KEY(通过环境变量或代码传参):
import os
os.environ["GROQ_API_KEY"] = "gsk_xxxx" # 从 Groq 官网获取
from pocketgroq import GroqProvider
groq = GroqProvider()
如需 RAG 功能,还需启动本地 Ollama:
ollama serve # 启动 Ollama 服务
ollama pull llama3 # 下载 embedding 模型
| 项目 | 要求 |
|---|---|
| GPU | 不需要(纯 CPU 运行) |
| 内存 | ≥ 2GB |
| 磁盘 | ≥ 500MB |
| Python | ≥ 3.7 |
from pocketgroq import GroqProvider
groq = GroqProvider()
# 1. 基础文本生成
response = groq.generate("用 Python 写一个快速排序")
print(response)
# 2. 网页搜索
results = groq.web_search("Groq API 最新定价 2024")
print(results)
# 3. Chain of Thought 推理
cot_result = groq.chain_of_thought("9 * 8 + 15 / 3 = ?")
# 4. 图像分析
img_response = groq.process_image(
prompt="这张图里有什么?",
image_source="https://example.com/image.jpg"
)
# 5. 语音转写
text = groq.transcribe_audio("recording.wav", language="en")
PocketGroq 并非银弹,以下几点值得注意:
Groq API 依赖:所有高级功能(LLaVA 视觉、Whisper 语音)都依赖 Groq 云端 API,不适合数据隐私敏感的场景(如医疗、金融)。离线场景下只能使用基础的文本生成能力。
RAG 的 Ollama 门槛:RAG 功能的 embeddings 生成依赖本地 Ollama 服务,Ollama 的模型管理(下载、切换)对新手有一定门槛。且 FAISS 索引仅支持 CPU 版本,在超大规模语料上检索性能可能受限。
不支持 streaming 返回:在代码中虽然使用了 AsyncGroq 客户端,但 generate() 方法为同步调用,未暴露 streaming 接口。对于需要实时流式输出的交互场景,目前无法满足。
Agent 代理的局限性:AutonomousAgent 的搜索质量完全依赖 Groq 的 web_search 能力和页面内容解析质量。网站防爬、JavaScript 动态渲染等内容可能无法正确获取。
License 未声明:仓库根目录无 LICENSE 文件,商业使用前需确认授权条款。
PocketGroq 的出现反映了 LLM 应用开发的一个趋势:从"一个大模型搞定一切"到"用专门的工具做专门的事"。Groq 以其超低延迟(LLaMA3-8B 推理速度比 H100 快 3-5 倍)和有竞争力的定价(输入 $0.22/M token,输出 $1.10/M token),正在吸引越来越多的开发者和小型团队。
PocketGroq 作为 Groq 生态中最全面的 Python 工具库,降低了 Groq API 的集成门槛,让更多开发者能快速将 Groq 的高速 LLM 能力落地到实际应用中。它覆盖的功能维度——从基础文本生成到 RAG、视觉、语音、自主代理——也反映了 2024 年 LLM 应用的主流技术栈走向。
分析时间:2026-07-13 | Stars: 217 | 语言: Python | 分析版本: v0.5.6