AIパーソナル・ラーニング
と実践的なガイダンス
讯飞绘镜

C++でOllama APIを使う

この記事では オーラマ API .このドキュメントは、C++の開発者が素早くスピードアップし、Ollamaの機能を最大限に活用できるように設計されています。このドキュメントを学ぶことで、あなたのプロジェクトにOllamaを簡単に組み込むことができます。

Ollamaのコミュニティやドキュメントは、Pythonを他の高級言語と統合することに重点を置いているかもしれないことに注意してください。C++プロジェクトで大きなモデルを使う場合、一般的に ラマ.cpp (llama.cppチュートリアル) Llama.cppはGeorgi Gerganovによって開発されたオープンソースプロジェクトで、大規模言語モデル(LLM)の推論プロセスに焦点を当てたMetaのLLaMaアーキテクチャの効率的なC/C++実装を提供する。

 

 

I. 環境準備

C++プロジェクトの開発環境についてはここでは触れず、Ollamaを統合する方法のみを説明します。Ollamaがインストールされ、実行されていること、必要なモデルがダウンロードされていることを確認してください(詳細は第2章を参照)。


 

Ollama API の呼び出し

Ollama APIを直接呼び出すのは面倒なので、2つのアイデアを紹介しよう。

  • パッケージ化されたC++クラス・ライブラリを使用する。
  • Pythonを使ってOllamaのモデルを呼び出す。

1.パッケージ化されたC++ライブラリの使用

Githubにはパッケージ化されたC++ライブラリがあり、ヘッダーファイルを導入するだけで使用できるため、何度も車輪を構築する必要がない。以下は オーラマ-hpp 一例を挙げよう:

#include "ollama.hpp"
std::cout << ollama::generate("llama3.1:latest", "how to use ollama in a cpp project?") << std::endl;

現在、Githubにカプセル化されているC++クラス・ライブラリーは1つしかなく、テスト中に手作業で修正しなければならないバグもあるため、この方法を使うのはお勧めできない。

2.PythonでOllamaのモデルを呼び出す

Ollamaの機能をC++プロジェクトに統合することで、PythonからOllamaのモデルを呼び出し、その結果をC++プログラムに渡すことができます:

  1. OllamaのAPIを呼び出すPythonコードを書く: Ollamaが提供するAPIインターフェイスを通じて、テキストを生成したり、ダイアログを表示したりするために必要なモデルを呼び出すコードをPythonで書きます。以下は簡単なPython呼び出しの例です:
    import requests
    def call_ollama_api(prompt, model_name="llama3.1:latest"):
    url = "http://localhost:11434/api/generate"
    headers = {"Content-Type": "application/json"}
    payload = {
    "model": model_name,
    "prompt": prompt,
    "stream": False
    }
    response = requests.post(url, json=payload, headers=headers)
    return response.json()
    # 示例调用
    response = call_ollama_api("黑神话好玩吗?")
    print(response)
    
  2. C++からPythonスクリプトを呼び出す:C++プログラムでは、システムコールを使ってPythonスクリプトを実行し、必要なテキストや質問を引数としてPythonスクリプトに渡すことができます。例えば、Pythonスクリプトは次のようにしてC++から呼び出すことができます:
    #include <cstdlib>
    int main() {
    system("python call_ollama.py '黑神话好玩吗?'");
    return 0;
    }
    

 

 

参照文献

 

無断転載を禁じます:チーフAIシェアリングサークル " C++でOllama APIを使う
ja日本語