groq-sdk-patterns
TypeScriptおよびPythonにおいて、本番環境対応のGroq SDKパターンを適用できます。Groq統合の実装、SDK使用法のリファクタリング、またはGroqのチームコーディング標準の確立時に活用してください。「groq SDK patterns」「groq best practices」「groq code patterns」「idiomatic groq」といったフレーズでトリガーされます。
description の原文を見る
Apply production-ready Groq SDK patterns for TypeScript and Python. Use when implementing Groq integrations, refactoring SDK usage, or establishing team coding standards for Groq. Trigger with phrases like "groq SDK patterns", "groq best practices", "groq code patterns", "idiomatic groq".
SKILL.md 本文
Groq SDK パターン
概要
TypeScript と Python における Groq SDK の本番環境対応パターン。
前提条件
groq-install-authセットアップの完了- async/await パターンに関する知識
- エラーハンドリングのベストプラクティスの理解
指示
ステップ 1: シングルトン パターンの実装(推奨)
// src/groq/client.ts
import { GroqClient } from '@groq/sdk';
let instance: GroqClient | null = null;
export function getGroqClient(): GroqClient {
if (!instance) {
instance = new GroqClient({
apiKey: process.env.GROQ_API_KEY!,
// Additional options
});
}
return instance;
}
ステップ 2: エラーハンドリング ラッパーの追加
import { GroqError } from '@groq/sdk';
async function safeGroqCall<T>(
operation: () => Promise<T>
): Promise<{ data: T | null; error: Error | null }> {
try {
const data = await operation();
return { data, error: null };
} catch (err) {
if (err instanceof GroqError) {
console.error({
code: err.code,
message: err.message,
});
}
return { data: null, error: err as Error };
}
}
ステップ 3: リトライ ロジックの実装
async function withRetry<T>(
operation: () => Promise<T>,
maxRetries = 3,
backoffMs = 1000
): Promise<T> {
for (let attempt = 1; attempt <= maxRetries; attempt++) {
try {
return await operation();
} catch (err) {
if (attempt === maxRetries) throw err;
const delay = backoffMs * Math.pow(2, attempt - 1);
await new Promise(r => setTimeout(r, delay));
}
}
throw new Error('Unreachable');
}
出力
- タイプセーフなクライアント シングルトン
- 構造化ロギングを伴う堅牢なエラーハンドリング
- 指数バックオフを備えた自動リトライ
- API レスポンスのランタイム検証
エラーハンドリング
| パターン | ユースケース | メリット |
|---|---|---|
| セーフ ラッパー | すべての API 呼び出し | キャッチされないエラーを防止 |
| リトライ ロジック | 一時的な失敗 | 信頼性向上 |
| タイプ ガード | レスポンス検証 | API 変更をキャッチ |
| ロギング | すべての操作 | デバッグとモニタリング |
例
ファクトリ パターン(マルチテナント)
const clients = new Map<string, GroqClient>();
export function getClientForTenant(tenantId: string): GroqClient {
if (!clients.has(tenantId)) {
const apiKey = getTenantApiKey(tenantId);
clients.set(tenantId, new GroqClient({ apiKey }));
}
return clients.get(tenantId)!;
}
Python コンテキスト マネージャー
from contextlib import asynccontextmanager
from groq import GroqClient
@asynccontextmanager
async def get_groq_client():
client = GroqClient()
try:
yield client
finally:
await client.close()
Zod 検証
import { z } from 'zod';
const groqResponseSchema = z.object({
id: z.string(),
status: z.enum(['active', 'inactive']),
createdAt: z.string().datetime(),
});
リソース
次のステップ
groq-core-workflow-a でパターンを適用し、実際の用途で使用してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- Brmbobo
- リポジトリ
- Brmbobo/Web2podcast
- ライセンス
- MIT
- 最終更新
- 2026/1/26
Source: https://github.com/Brmbobo/Web2podcast / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。