jeremychone/rust-genai

Rust multiprovider generative AI client (Ollama, OpenAi, Anthropic, Gemini, DeepSeek, xAI/Grok, Groq,Cohere, ...)

何を解決するか

genai は、各サービスの公式 SDK を必要とせずに、複数の AI プロバイダー(OpenAI、Anthropic、Gemini、Ollama など)にアクセスするための、単一で人間工学に基づいた API を提供する Rust ライブラリです。各プロバイダー間でチャット補完、ビジョン、および関数呼び出しを標準化しつつ、開発者がより優れた機能サポートのためにネイティブプロトコルを使用できるようにします。

仕組み

このライブラリは、アダプターベースのアーキテクチャを使用して、共通の Rust API をさまざまな AI プロバイダーの特定のプロトコルにマッピングします。モデル名(例:OpenAI の gpt-、Anthropic の claude-)に基づいて使用するプロバイダーを自動的に解決するか、名前空間構文(例:groq::model-name)を使用して開発者が特定のアダプターを強制的に使用できるようにします。利用可能な場合はネイティブプロトコルをサポートし、それ以外の場合は OpenAI 互換 API にフォールバックします。

対象者

複数の異なる SDK を管理したり、単一のプロバイダーの API にロックインされたりすることなく、アプリケーションに複数の LLM プロバイダーを統合したい Rust 開発者。

ハイライト

  • 広範なプロバイダーサポート: Ollama を介したローカル実行を含む、26 以上のプロバイダーをすぐに利用可能。
  • ネイティブプロトコルの実装: 推論コントロールやストリーミングメタデータなどの機能をより良くサポートするために、SDK の代わりにネイティブプロトコルを使用。
  • 柔軟なモデル解決: 自動的なモデルからアダプターへのマッピング、および特定のエンドポイントや認証のためのカスタムターゲットリゾルバーをサポート。
  • マルチモーダル機能: OpenAI、Gemini、Anthropic などのプロバイダー向けの画像分析をサポート。
  • 高度なコントロール: OpenAI および Anthropic 用のプロバイダー中立的なツール選択ヒントとプロンプトキャッシュコントロールを提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト