この記事では オーラマ API .このドキュメントは、開発者がすぐに使い始められ、Ollamaの機能を最大限に活用できるようにするためのものです。Node.js環境で使うことも、ブラウザで直接モジュールをインポートすることもできます。このドキュメントを学ぶことで、あなたのプロジェクトにOllamaを簡単に統合することができます。
Ollamaをインストールする
npm i ollama
使用方法
import ollama from 'ollama'
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: '为什么天空是蓝色的?' }],
})
console.log(response.message.content)
ブラウザの使用
Node.jsなしでこのライブラリを使用するには、ブラウザ・モジュールをインポートする。
import ollama from 'ollama/browser'
ストリーミング対応
これは stream: true レスポンス・ストリーミングを有効にして、関数呼び出しが AsyncGenerator ここで、各部分はストリーム中のオブジェクトである。
import ollama from 'ollama'
const message = { role: 'user', content: '为什么天空是蓝色的?' }
const response = await ollama.chat({ model: 'llama3.1', messages: [message], stream: true })
for await (const part of response) {
process.stdout.write(part.message.content)
}
構造化出力
Ollama JavaScriptライブラリを使用することで、以下のようなアーキテクチャーを実現できる。 JSON オブジェクトが渡される。 format パラメータを使用すると、オプションで object 形式を渡すか、Zod(推奨)を使って zodToJsonSchema() メソッドのシリアライゼーション・アーキテクチャ。
import ollama from 'ollama';
import { z } from 'zod';
import { zodToJsonSchema } from 'zod-to-json-schema';
const Country = z.object({
name: z.string(),
capital: z.string(),
languages: z.array(z.string()),
});
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: 'Tell me about Canada.' }],
format: zodToJsonSchema(Country),
});
const country = Country.parse(JSON.parse(response.message.content));
console.log(country);
モデルの作成
import ollama from 'ollama'
const modelfile = `
FROM llama3.1
SYSTEM "你是超级马里奥兄弟中的马里奥。"
`
await ollama.create({ model: 'example', modelfile: modelfile })
API
Ollama JavaScript ライブラリ API は、Ollama REST API を中心に設計されています。基礎となる実装やAPIエンドポイントの全情報についてもっと知りたい場合は Ollama API ユーザーガイド
チャット
ollama.chat(request)
request<Object>: チャットパラメータを含むリクエストオブジェクト。model<string>チャットに使用するモデルの名前。messages<Message[]>: チャットの履歴を表すメッセージオブジェクトの配列。role<string>メッセージ送信者の役割('user'、'system'、'assistant')。content<string>メッセージの内容。images<Uint8Array[] | string[]>Uint8Array または base64 エンコード文字列。
format<string>(オプション) 期待されるレスポンスのフォーマットを設定する (json).stream<boolean>(オプション) true の場合AsyncGenerator.keep_alive<string | number>(オプション) モデルのロード時間を保持します。tools<Tool[]>(オプション) モデルから呼び出される可能性のあるツールのリスト。options<Options>(オプション) ランタイムオプションを設定する。
- リターンズ
<ChatResponse>
生成
ollama.generate(request)
request<Object>生成されたパラメータを含むリクエストオブジェクト。model<string>チャットに使用するモデルの名前。prompt<string>モデルに送られるヒント。suffix<string>(オプション) サフィックスは、挿入されたテキストの後に続くテキストです。system<string>(オプション) モデルシステムのプロンプトを上書きします。template<string>(オプション) モデルテンプレートを上書きします。raw<boolean>: (オプション)プロンプト・テンプレートをバイパスし、プロンプトをモデルに直接渡す。images<Uint8Array[] | string[]>Uint8Array または base64 エンコード文字列。format<string>(オプション) 期待されるレスポンスのフォーマットを設定する (json).stream<boolean>(オプション) true の場合AsyncGenerator.keep_alive<string | number>(オプション) モデルのロード時間を保持します。options<Options>(オプション) ランタイムオプションを設定する。
- リターンズ
<GenerateResponse>
プルモデル
ollama.pull(request)
request<Object>プルパラメータを含むリクエストオブジェクト。model<string>引っ張るモデルの名前。insecure<boolean>(オプション) 認証できないサーバーからプルする。stream<boolean>(オプション) true の場合AsyncGenerator.
- リターンズ
<ProgressResponse>
プッシュモデル
ollama.push(request)
request<Object>プッシュパラメータを含むリクエストオブジェクト。model<string>プッシュするモデルの名前。insecure<boolean>オプション)ID を認証できないサーバーにプッシュする。stream<boolean>(オプション) true の場合AsyncGenerator.
- リターンズ
<ProgressResponse>
モデルの作成
ollama.create(request)
request<Object>: パラメータが生成されたリクエストオブジェクトを含む。model<string>作成するモデルの名前。path<string>(オプション) 作成するモデル・ファイルへのパス。modelfile<string>(オプション) 作成するモデルファイルの内容。stream<boolean>(オプション) true の場合AsyncGenerator.
- リターンズ
<ProgressResponse>
モデルの削除
ollama.delete(request)
request<Object>削除パラメータを含むリクエストオブジェクト。model<string>削除するモデルの名前。
- リターンズ
<StatusResponse>
レプリケーション・モデル
ollama.copy(request)
request<Object>レプリケーションパラメータを含むリクエストオブジェクト。source<string>コピー元のモデル名。destination<string>コピー先のモデル名。
- リターンズ
<StatusResponse>
現地モデル一覧
ollama.list()
- リターンズ
<ListResponse>
モデル情報の表示
ollama.show(request)
request<Object>表示パラメータを含むリクエストオブジェクト。model<string>表示するモデル名。system<string>(オプション) モデル・システム・プロンプトの戻り値を上書きする。template<string>(オプション) モデルテンプレートの戻り値を上書きします。options<Options>(オプション) ランタイムオプションを設定する。
- リターンズ
<ShowResponse>
エンベッディングの生成
ollama.embed(request)
request<Object>: 埋め込みパラメータを含むリクエストオブジェクト。model<string>埋め込みを生成するために使用されるモデルの名前。input<string> | <string[]>埋め込みを生成するための入力。truncate<boolean>(オプション) モデルがサポートするコンテキストの最大長に合わせて入力を切り詰める。keep_alive<string | number>(オプション) モデルのロード時間を保持します。options<Options>(オプション) ランタイムオプションを設定する。
- リターンズ
<EmbedResponse>
コース
ollama.ps()
- リターンズ
<ListResponse>
カスタム顧客
カスタムクライアントは、以下のフィールドを使用して作成できます:
host<string>(オプション) Ollamaホストアドレス。デフォルト。"http://127.0.0.1:11434".fetch<Object>(オプション) Ollama ホストへのリクエストに使用するフェッチライブラリ。
import { Ollama } from 'ollama'
const ollama = new Ollama({ host: 'http://127.0.0.1:11434' })
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: '为什么天空是蓝色的?' }],
})
造る
プロジェクト・ファイルをビルドするには、以下を実行する:
npm run build
ドキュメントを参照してください:OLLAMA-JS

































