1 ポイント 投稿者 GN⁺ 2024-02-09 | 1件のコメント | WhatsAppで共有

OpenAI互換性

  • OllamaはOpenAIチャット補完APIと互換性を持つようになり、ローカル環境でより多くのツールやアプリケーションとともにOllamaを利用できるようになった。
  • Ollamaをダウンロードし、Llama 2やMistralのようなモデルを取得することで設定を開始する。

使い方

cURL

  • OllamaのOpenAI互換APIエンドポイントを呼び出すにはOpenAI形式を使用し、ホスト名をhttp://localhost:11434に変更する。

OpenAI Pythonライブラリ

  • OpenAI Pythonライブラリを使用してOllamaのAPIエンドポイントにアクセスでき、必須ではあるが使用されないAPIキーを含める。

OpenAI JavaScriptライブラリ

  • OpenAI JavaScriptライブラリを使用してOllamaのAPIエンドポイントにアクセスでき、必須ではあるが使用されないAPIキーを含める。

Vercel AI SDK

  • Vercel AI SDKは、対話型ストリーミングアプリケーションの構築を支援するオープンソースライブラリである。
  • サンプルリポジトリを複製するためにcreate-next-appを使用する。

Autogen

  • AutogenはMicrosoftが作成した、マルチエージェントアプリケーションを構築するための人気のオープンソースフレームワークである。
  • この例ではCode Llamaモデルを使用し、AutogenをインストールしてPythonスクリプトを作成し、Ollamaを利用する。

今後さらに追加予定

  • これはOpenAI APIに対する初期の実験的サポートである。
  • 検討中の今後の改善には、Embeddings API、関数呼び出し、ビジョンサポート、Logprobsが含まれる。
  • 詳細はOpenAI互換性ドキュメントを参照。

GN⁺の見解

  • OpenAI API互換性: OllamaがOpenAI APIと互換になったことで、開発者はローカル環境でAIモデルをより簡単に統合・活用できるようになった。これはAIベースのアプリケーション開発のアクセシビリティを高める重要な変化である。
  • 多様なプログラミング言語のサポート: PythonおよびJavaScriptライブラリを通じたサポートは、さまざまな開発環境での活用性を示している。これは開発者が好みの言語でAI機能を容易に統合できることを意味する。
  • オープンソースフレームワークとの連携: Vercel AI SDKやAutogenのようなオープンソースフレームワークとの連携例は、Ollamaの活用可能性を広げ、コミュニティ主導のイノベーションを促進できる潜在力を示している。

1件のコメント

 
GN⁺ 2024-02-09
Hacker Newsの意見
  • この数か月で、ローカルホスティングLLMの使いやすさは驚くほど向上した。

    • つい数時間前に、Mozilla-Ochoのllamafileがどれほど使いやすいかを熱弁していた。
    • どのLLMを使うべきか決めるのが難しいと感じている。
  • OpenAI API互換性がコミュニティ標準になりつつあることに、個人的な不満を持つ人がいる。

    • データ構造の不要なネストなど、いくつかぎこちない点はあるが、大きな不満はない。
    • そのAPIが標準になることの問題点や、代替標準を試みる動きがあるのか気になっている。
  • 改良版Copilotを開発中で、ユーザーが自分のLLMを持ち込めるようにしている。

    • OpenAI互換バックエンドを追加し、OpenAI互換APIエンドポイントを提供すれば、そのモデルの意味論に応じてプロンプト形式、停止シーケンス、最大トークン数などを処理する。
    • ローカル開発環境でテストできるこうした機能が必要で、Ollamaがそれを提供してくれることで、さまざまなLLMをサポートするテストがはるかに簡単になった。
  • Ollamaは他のツールよりもうまく動作し、とにかく簡単に使える。

    • Raspberry pi 4でDolphin Mixtral 7bを動かしてコーンブレッドのレシピを頼んだところ、数時間後に2文字が生成されているのを見つけた。
  • OllamaのLinuxインストールスクリプトは、現在の標準的なスタイルで動作する。

    • ただし、最後に確認したときはsudo経由でroot権限を要求していた。
    • そのツールが欲しいなら、スクリプトをダウンロードして確認するか、必要に応じて修正することを勧める。
  • OpenAIとの互換性という表現は、やや誤解を招く。

    • roleとcontentの実装は、以前から比較的単純だった。
    • エージェントをホストする場合は、実際に処理を実行しなければならない。
    • エージェントシステムにスクリプトエンジンを組み込み、セキュリティや権限設定を考える必要性を感じた。
  • 互換レイヤーはライブラリ側で構築することもできる。

    • たとえばLangchainには、複数のLLMバックエンドで動作するllm()がある。
  • オープンソース(例: HF, VLLM)と商用モデル(OpenAI, Google, Anthropic, Together)の間を簡単に切り替えられるプロジェクトを進めている。

    • HTTP APIなしでPythonから直接使いたいなら、そのほうが使いやすい。
  • Ollamaのユースケースは何なのか、そしてなぜ直接llama.cppを使うべきではないのか、という疑問が出ている。

  • OllamaがDocker化されたHTTPサーバーとしてllama.cppを直接呼び出しているのか、そして新たに追加されたOpenAI API以外にどんな違いがあるのか、という質問がある。