この記事では オーラマ API .このドキュメントは、開発者がすぐに使い始められ、Ollamaの機能を最大限に活用できるようにするためのものです。Node.js環境で使うことも、ブラウザで直接モジュールをインポートすることもできます。このドキュメントを学ぶことで、あなたのプロジェクトにOllamaを簡単に統合することができます。
Ollamaをインストールする
npm i ollama
使用方法
import ollama from 'ollama'
const response = await ollama.chat({
model: 'ollama3.1', message: [{ role: 'user', content: 'どうして空は青いの?
messages: [{ role: 'user', content: 'どうして空は青いの? }]
})
console.log(response.message.content)
ブラウザの使用
Node.jsなしでこのライブラリを使用するには、ブラウザ・モジュールをインポートする。
ollama/browser' から ollama をインポートする。
ストリーミング対応
これは stream: true
レスポンス・ストリーミングを有効にして、関数呼び出しが 非同期ジェネレーター
ここで、各部分はストリーム中のオブジェクトである。
import ollama from 'ollama'
const message = { role: 'user', content: 'どうして空は青いの? }
const response = await ollama.chat({ model: 'ollama3.1', messages: [message], stream: true })
for await (responseのconstの部分) { { プロセス.
process.stdout.write(part.message.content)
}
構造化出力
Ollama JavaScriptライブラリを使用することで、以下のようなアーキテクチャーを実現できる。 JSON
オブジェクトが渡される。 フォーマット
パラメータを使用すると、オプションで オブジェクト
形式を渡すか、Zod(推奨)を使って zodToJsonSchema()
メソッドのシリアライゼーション・アーキテクチャ。
import ollama from 'ollama';
import { z } from 'zod';
import { zodToJsonSchema } from 'zod-to-json-schema';
const Country = z.object({
名前: z.string(), 首都: z.string(), {
languages: z.array(z.string())、
}); const response = await ollama.
const response = await ollama.chat({
model: 'ollama3.1', messages: [{ role: 'user', [z.string(), languages: z.array(z.string(), }); const response = await ollama.chat({
messages: [{ role: 'user', content: 'カナダについて教えてください。' }], format: zodToJson(z.string()), }.
format: zodToJsonSchema(Country), }); }.
}).
const country = Country.parse(JSON.parse(response.message.content)); console.log(country.log(response.message.content)); console.log(country.log(response.message.content))
console.log(country);
モデルの作成
ollama' から 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)
リクエスト
<オブジェクト
: チャットパラメータを含むリクエストオブジェクト。モデル
<文字列
チャットに使用するモデルの名前。メッセージ
<メッセージ
: チャットの履歴を表すメッセージオブジェクトの配列。役割
<文字列
メッセージ送信者の役割('user'、'system'、'assistant')。内容
<文字列
メッセージの内容。イメージ
の場合
Uint8Array または base64 エンコード文字列。
フォーマット
<文字列
(オプション) 期待されるレスポンスのフォーマットを設定する (json
).ストリーム
<ブール値
(オプション) true の場合非同期ジェネレーター
.キープアライブ
<文字列|数字
(オプション) モデルのロード時間を保持します。用具
<ツール
(オプション) モデルから呼び出される可能性のあるツールのリスト。オプション
<オプション
(オプション) ランタイムオプションを設定する。
- リターンズ
<チャットレスポンス
生成
ollama.generate(request)
リクエスト
<オブジェクト
生成されたパラメータを含むリクエストオブジェクト。モデル
<文字列
チャットに使用するモデルの名前。迅速
<文字列
モデルに送られるヒント。接尾辞
<文字列
(オプション) サフィックスは、挿入されたテキストの後に続くテキストです。システム
<文字列
(オプション) モデルシステムのプロンプトを上書きします。テンプレート
<文字列
(オプション) モデルテンプレートを上書きします。生
<ブール値
: (オプション)プロンプト・テンプレートをバイパスし、プロンプトをモデルに直接渡す。イメージ
の場合
Uint8Array または base64 エンコード文字列。フォーマット
<文字列
(オプション) 期待されるレスポンスのフォーマットを設定する (json
).ストリーム
<ブール値
(オプション) true の場合非同期ジェネレーター
.キープアライブ
<文字列|数字
(オプション) モデルのロード時間を保持します。オプション
<オプション
(オプション) ランタイムオプションを設定する。
- リターンズ
<ジェネレイトレスポンス
プルモデル
ollama.pull(request)
リクエスト
<オブジェクト
プルパラメータを含むリクエストオブジェクト。モデル
<文字列
引っ張るモデルの名前。危うい
<ブール値
(オプション) 認証できないサーバーからプルする。ストリーム
<ブール値
(オプション) true の場合非同期ジェネレーター
.
- リターンズ
<プログレスレスポンス
プッシュモデル
ollama.push(request)
リクエスト
<オブジェクト
プッシュパラメータを含むリクエストオブジェクト。モデル
<文字列
プッシュするモデルの名前。危うい
<ブール値
オプション)ID を認証できないサーバーにプッシュする。ストリーム
<ブール値
(オプション) true の場合非同期ジェネレーター
.
- リターンズ
<プログレスレスポンス
モデルの作成
ollama.create(request)
リクエスト
<オブジェクト
: パラメータが生成されたリクエストオブジェクトを含む。モデル
<文字列
作成するモデルの名前。パス
<文字列
(オプション) 作成するモデル・ファイルへのパス。モデルファイル
<文字列
(オプション) 作成するモデルファイルの内容。ストリーム
<ブール値
(オプション) true の場合非同期ジェネレーター
.
- リターンズ
<プログレスレスポンス
モデルの削除
ollama.delete(request)
リクエスト
<オブジェクト
削除パラメータを含むリクエストオブジェクト。モデル
<文字列
削除するモデルの名前。
- リターンズ
<ステータス・レスポンス
レプリケーション・モデル
ollama.copy(request)
リクエスト
<オブジェクト
レプリケーションパラメータを含むリクエストオブジェクト。ソース
<文字列
コピー元のモデル名。目的地
<文字列
コピー先のモデル名。
- リターンズ
<ステータス・レスポンス
現地モデル一覧
ollama.list()
- リターンズ
<リスト・レスポンス
モデル情報の表示
ollama.show(request)
リクエスト
<オブジェクト
表示パラメータを含むリクエストオブジェクト。モデル
<文字列
表示するモデル名。システム
<文字列
(オプション) モデル・システム・プロンプトの戻り値を上書きする。テンプレート
<文字列
(オプション) モデルテンプレートの戻り値を上書きします。オプション
<オプション
(オプション) ランタイムオプションを設定する。
- リターンズ
<ショーレスポンス
エンベッディングの生成
ollama.embed(request)
リクエスト
<オブジェクト
: 埋め込みパラメータを含むリクエストオブジェクト。モデル
<文字列
埋め込みを生成するために使用されるモデルの名前。入力
||文字列
埋め込みを生成するための入力。切り捨てる
<ブール値
(オプション) モデルがサポートするコンテキストの最大長に合わせて入力を切り詰める。キープアライブ
<文字列|数字
(オプション) モデルのロード時間を保持します。オプション
<オプション
(オプション) ランタイムオプションを設定する。
- リターンズ
<エンベッドレスポンス
コース
ollama.ps()
- リターンズ
<リスト・レスポンス
カスタム顧客
カスタムクライアントは、以下のフィールドを使用して作成できます:
ホスト
<文字列
(オプション) Ollamaホストアドレス。デフォルト。"http://127.0.0.1:11434"
.フェッチ
<オブジェクト
(オプション) Ollama ホストへのリクエストに使用するフェッチライブラリ。
import { Ollama } from 'ollama'
const ollama = new Ollama({ host: 'http://127.0.0.1:11434' })
const response = await ollama.chat({
model: 'ollama3.1', { messages: [{ role: 'user', 'user', 'user'] } }.
messages: [{ role: 'user', content: 'どうして空は青いの? }]
})
造る
プロジェクト・ファイルをビルドするには、以下を実行する:
npm run build
ドキュメントを参照してください:OLLAMA-JS