Relocate doc position

This commit is contained in:
Jesse C. Lin 2024-03-12 19:59:59 +08:00
parent 94a721e1a5
commit e135e08bd4
16 changed files with 719 additions and 368 deletions

View File

@ -10,19 +10,19 @@
### macOS
[Download](https://ollama.ai/download/Ollama-darwin.zip)
[Download](https://ollama.com/download/Ollama-darwin.zip)
### Windows
### Windows プレビュー
近日公開予定現時点では、WSL2を介してWindowsにOllamaをインストールすることができます。
[Download](https://ollama.com/download/OllamaSetup.exe)
### Linux と WSL2
### Linux
```
curl https://ollama.ai/install.sh | sh
curl -fsSL https://ollama.com/install.sh | sh
```
[手動インストール手順](https://github.com/jmorganca/ollama/blob/main/docs/linux.md)
[手動インストール手順](./docs/ja/linux.md)
### Docker
@ -35,7 +35,7 @@ curl https://ollama.ai/install.sh | sh
## クイックスタート
[Llama 2](https://ollama.ai/library/llama2) を実行してチャットするには:
[Llama 2](https://ollama.com/library/llama2) を実行してチャットするには:
```
ollama run llama2
@ -43,12 +43,12 @@ ollama run llama2
## モデルライブラリ
Ollamaは[ollama.ai/library](https://ollama.ai/library 'ollama model library')で利用可能なオープンソースモデルのリストをサポートしています。
Ollama は、[ollama.com/library](https://ollama.com/library 'ollama model library')で利用可能なモデルのリストをサポートしています。
以下はダウンロード可能ないくつかのオープンソースモデルの例です:
以下はダウンロード可能ないくつかのモデルの例です:
| モデル | パラメーター | サイズ | ダウンロード |
| ------------------ | ---------- | ----- | ------------------------------ |
| ------------------ | ----------- | ------- | ------------------------------ |
| Llama 2 | 7B | 3.8GB | `ollama run llama2` |
| Mistral | 7B | 4.1GB | `ollama run mistral` |
| Dolphin Phi | 2.7B | 1.6GB | `ollama run dolphin-phi` |
@ -62,6 +62,8 @@ Ollamaは[ollama.ai/library](https://ollama.ai/library 'ollama model library')
| Orca Mini | 3B | 1.9GB | `ollama run orca-mini` |
| Vicuna | 7B | 3.8GB | `ollama run vicuna` |
| LLaVA | 7B | 4.5GB | `ollama run llava` |
| Gemma | 2B | 1.4GB | `ollama run gemma:2b` |
| Gemma | 7B | 4.8GB | `ollama run gemma:7b` |
>注意: 7Bモデルを実行するには少なくとも8 GBのRAMが必要であり、13Bモデルを実行するには16 GB、33Bモデルを実行するには32 GBが必要です。
@ -69,15 +71,15 @@ Ollamaは[ollama.ai/library](https://ollama.ai/library 'ollama model library')
### GGUF からインポート
OllamaはModelfileでのGGUFモデルのインポートをサポートしています。
Ollama Modelfile での GGUF モデルのインポートをサポートしています。
1. `Modelfile`という名前のファイルを作成し、インポートしたいモデルのローカルファイルパスを指定する`FROM`命令を記述します。
1. `Modelfile` という名前のファイルを作成し、インポートしたいモデルのローカルファイルパスを指定する `FROM` 命令を記述します。
```
FROM ./vicuna-33b.Q4_0.gguf
```
2. Ollamaでモデルを作成します。
2. Ollama でモデルを作成します。
```
ollama create example -f Modelfile
@ -91,11 +93,11 @@ OllamaはModelfileでのGGUFモデルのインポートをサポートしてい
### PyTorch または Safetensor からのインポート
詳細については、[ガイド](docs_ja/import.md)を参照してください。
詳細については、[ガイド](docs/ja/import.md)を参照してください。
### プロンプトをカスタマイズする
Ollamaライブラリのモデルは、プロンプトでカスタマイズできます。たとえば、`llama2`モデルをカスタマイズするには、次のようにします:
Ollama ライブラリのモデルは、プロンプトでカスタマイズできます。たとえば、`llama2` モデルをカスタマイズするには、次のようにします:
```
ollama pull llama2
@ -124,7 +126,7 @@ ollama run mario
マリオだよ。
```
さらなる例については、[examples](examples) ディレクトリを参照してください。Modelfileの操作に関する詳細は、[Modelfile](docs_ja/modelfile.md) のドキュメントをご覧ください。
さらなる例については、[examples](examples) ディレクトリを参照してください。Modelfileの操作に関する詳細は、[Modelfile](docs/ja/modelfile.md) のドキュメントをご覧ください。
## CLI リファレンス
@ -180,7 +182,7 @@ ollama cp llama2 my-llama2
```
$ ollama run llama2 "このファイルを要約してください:$(cat README_ja.md)"
Ollamaは、ローカルマシン上で言語モデルを構築および実行するための軽量で拡張可能なフレームワークです。モデルの作成、実行、および管理のためのシンプルなAPIを提供し、さらにさまざまなアプリケーションで簡単に使用できる事前に構築されたモデルのライブラリも提供しています。
Ollama は、ローカルマシン上で言語モデルを構築および実行するための軽量で拡張可能なフレームワークです。モデルの作成、実行、および管理のためのシンプルな API を提供し、さらにさまざまなアプリケーションで簡単に使用できる事前に構築されたモデルのライブラリも提供しています。
```
### コンピュータ上のモデルをリストする
@ -191,7 +193,7 @@ ollama list
### オラマを開始
`ollama serve`は、デスクトップアプリケーションを実行せずにOllamaを起動したい場合に使用します。
`ollama serve` は、デスクトップアプリケーションを実行せずにOllama を起動したい場合に使用します。
## ビルディング
@ -210,7 +212,7 @@ go generate ./...
go build .
```
より詳細な手順は[開発者ガイド](https://github.com/jmorganca/ollama/blob/main/docs/development.md)に記載されています。
より詳細な手順は[開発者ガイド](./docs/ja/development.md)に記載されています。
### ローカルビルドの実行
@ -229,7 +231,7 @@ go build .
## REST API
Ollamaにはモデルの実行と管理のためのREST APIがあります。
Ollama にはモデルの実行と管理のための REST API があります。
### 応答を生成する
@ -251,25 +253,32 @@ curl http://localhost:11434/api/chat -d '{
}'
```
すべてのエンドポイントについては、[APIドキュメント](./docs_ja/api.md)を参照してください。
すべてのエンドポイントについては、[APIドキュメント](./docs/ja/api.md)を参照してください。
## コミュニティの統合
### ウェブとデスクトップ
- [Bionic GPT](https://github.com/bionic-gpt/bionic-gpt)
- [Enchanted (macOS native)](https://github.com/AugustDev/enchanted)
- [HTML UI](https://github.com/rtcfirefly/ollama-ui)
- [Chatbot UI](https://github.com/ivanfioravanti/chatbot-ollama)
- [Typescript UI](https://github.com/ollama-interface/Ollama-Gui?tab=readme-ov-file)
- [Minimalistic React UI for Ollama Models](https://github.com/richawo/minimal-llm-ui)
- [Web UI](https://github.com/ollama-webui/ollama-webui)
- [Open WebUI](https://github.com/open-webui/open-webui)
- [Ollamac](https://github.com/kevinhermawan/Ollamac)
- [big-AGI](https://github.com/enricoros/big-agi/blob/main/docs/config-ollama.md)
- [big-AGI](https://github.com/enricoros/big-AGI/blob/main/docs/config-local-ollama.md)
- [Cheshire Cat assistant framework](https://github.com/cheshire-cat-ai/core)
- [Amica](https://github.com/semperai/amica)
- [chatd](https://github.com/BruceMacD/chatd)
- [Ollama-SwiftUI](https://github.com/kghandour/Ollama-SwiftUI)
- [MindMac](https://mindmac.app)
- [NextJS Web Interface for Ollama](https://github.com/jakobhoeg/nextjs-ollama-llm-ui)
- [Msty](https://msty.app)
- [Chatbox](https://github.com/Bin-Huang/Chatbox)
- [WinForm Ollama Copilot](https://github.com/tgraupmann/WinForm_Ollama_Copilot)
- [NextChat](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web) with [Get Started Doc](https://docs.nextchat.dev/models/ollama)
- [Odin Runes](https://github.com/leonid20000/OdinRunes)
- [LLM-X: Progressive Web App](https://github.com/mrdjohnson/llm-x)
### ターミナル
@ -278,10 +287,14 @@ curl http://localhost:11434/api/chat -d '{
- [Emacs client](https://github.com/zweifisch/ollama)
- [gen.nvim](https://github.com/David-Kunz/gen.nvim)
- [ollama.nvim](https://github.com/nomnivore/ollama.nvim)
- [ollama-chat.nvim](https://github.com/gerazov/ollama-chat.nvim)
- [ogpt.nvim](https://github.com/huynle/ogpt.nvim)
- [gptel Emacs client](https://github.com/karthink/gptel)
- [Oatmeal](https://github.com/dustinblackman/oatmeal)
- [cmdh](https://github.com/pgibler/cmdh)
- [tenere](https://github.com/pythops/tenere)
- [llm-ollama](https://github.com/taketwo/llm-ollama) for [Datasette's LLM CLI](https://llm.datasette.io/en/stable/).
- [ShellOracle](https://github.com/djcopley/ShellOracle)
### データベース
@ -290,12 +303,15 @@ curl http://localhost:11434/api/chat -d '{
### パッケージマネージャー
- [Pacman](https://archlinux.org/packages/extra/x86_64/ollama/)
- [Helm Chart](https://artifacthub.io/packages/helm/ollama-helm/ollama)
### ライブラリー
- [LangChain](https://python.langchain.com/docs/integrations/llms/ollama) and [LangChain.js](https://js.langchain.com/docs/modules/model_io/models/llms/integrations/ollama) with [example](https://js.langchain.com/docs/use_cases/question_answering/local_retrieval_qa)
- [LangChainGo](https://github.com/tmc/langchaingo/) with [example](https://github.com/tmc/langchaingo/tree/main/examples/ollama-completion-example)
- [LangChain4j](https://github.com/langchain4j/langchain4j) with [example](https://github.com/langchain4j/langchain4j-examples/tree/main/ollama-examples/src/main/java)
- [LlamaIndex](https://gpt-index.readthedocs.io/en/stable/examples/llm/ollama.html)
- [LangChain4j](https://github.com/langchain4j/langchain4j/tree/main/langchain4j-ollama)
- [LiteLLM](https://github.com/BerriAI/litellm)
- [OllamaSharp for .NET](https://github.com/awaescher/OllamaSharp)
- [Ollama for Ruby](https://github.com/gbaptista/ollama-ai)
@ -308,8 +324,10 @@ curl http://localhost:11434/api/chat -d '{
- [LangChainDart](https://github.com/davidmigloz/langchain_dart)
- [Semantic Kernel - Python](https://github.com/microsoft/semantic-kernel/tree/main/python/semantic_kernel/connectors/ai/ollama)
- [Haystack](https://github.com/deepset-ai/haystack-integrations/blob/main/integrations/ollama.md)
- [Elixir LangChain](https://github.com/brainlid/langchain)
- [Ollama for R - rollama](https://github.com/JBGruber/rollama)
- [Ollama-ex for Elixir](https://github.com/lebrunel/ollama-ex)
- [Ollama Connector for SAP ABAP](https://github.com/b-tocs/abap_btocs_ollama)
### 携帯
@ -323,6 +341,7 @@ curl http://localhost:11434/api/chat -d '{
- [Continue](https://github.com/continuedev/continue)
- [Obsidian Ollama plugin](https://github.com/hinterdupfinger/obsidian-ollama)
- [Logseq Ollama plugin](https://github.com/omagdy7/ollama-logseq)
- [NotesOllama](https://github.com/andersrex/notesollama) (Apple Notes Ollama plugin)
- [Dagger Chatbot](https://github.com/samalba/dagger-chatbot)
- [Discord AI Bot](https://github.com/mekb-turtle/discord-ai-bot)
- [Ollama Telegram Bot](https://github.com/ruecat/ollama-telegram)
@ -330,6 +349,9 @@ curl http://localhost:11434/api/chat -d '{
- [Rivet plugin](https://github.com/abrenneke/rivet-plugin-ollama)
- [Llama Coder](https://github.com/ex3ndr/llama-coder) (Copilot alternative using Ollama)
- [Obsidian BMO Chatbot plugin](https://github.com/longy2k/obsidian-bmo-chatbot)
- [Copilot for Obsidian plugin](https://github.com/logancyang/obsidian-copilot)
- [Obsidian Local GPT plugin](https://github.com/pfrankov/obsidian-local-gpt)
- [Open Interpreter](https://docs.openinterpreter.com/language-model-setup/local-models/ollama)
- [twinny](https://github.com/rjmacarthy/twinny) (Copilot and Copilot chat alternative using Ollama)
- [Wingman-AI](https://github.com/RussellCanfield/wingman-ai) (Copilot code and chat alternative using Ollama and HuggingFace)
- [Page Assist](https://github.com/n4ze3m/page-assist) (Chrome Extension)

View File

@ -1,25 +1,21 @@
# ドキュメンテーション
始めるには、プロジェクトの **[クイックスタート](../README_ja.md#クイックスタート)** を参照してください。
### はじめに
* [クイックスタート](../../README_ja.md#クイックスタート)
* [](../../examples)
* GGUF、Pytorch、Safetensors からのモデルの[インポート](./import.md)
* [Linux ドキュメント](./linux.md)
* [Windows ドキュメント](./windows.md)
* [Docker ドキュメント](https://hub.docker.com/r/ollama/ollama)
Ollamaは、AIモデルをあなたのハードウェアで実行するためのツールです。多くのユーザーは、Ollamaと連携するためにコマンドラインインターフェースCLIを選択します。CLIで使用できるすべてのコマンドについて詳しくは、**[メイン Readme](../README_ja.md)** を参照してください。
### 参照
RESTful APIは、Python、JavaScript、Typescript、Go、Rustなど、任意の言語を使用して利用できます。APIの使用方法について詳しくは、**[APIドキュメント](./api.md)** を参照してください。
* [API リファレンス](./api.md)
* [モデルファイルリファレンス](./modelfile.md)
* [OpenAI の互換性](./openai.md)
新しいモデルを作成するか、ライブラリにすでに存在するモデルを変更するには、Modelfileを使用します。Modelfileの構文について詳しくは、**[Modelfileドキュメント](./modelfile.md)** を参照してください。
### リソース
Hugging Faceや類似のサイトから見つかるソースモデルの重みを使用してモデルをインポートするには、**[Import ドキュメント](./import.md)** を参照してください。
Linuxへのインストールは、ほとんどの場合、Ollama.aiのスクリプトを使用することで簡単です。インストールの詳細や、CUDAドライバについての詳細については、**[Linux ドキュメント](./linux.md)** を参照してください。
多くのユーザーは、公式のDockerイメージを使用する柔軟性が好まれています。OllamaとDockerを使用する方法についての詳細は、**[Docker ドキュメント](https://hub.docker.com/r/ollama/ollama)** をご参照ください。
LinuxやMacへのインストールは簡単ですが、多くのユーザーは独自にOllamaをビルドすることを選択するかもしれません。これを行うには、**[開発ドキュメント](./development.md)** を参照してください。
Ollamaに問題が発生した場合、解決の出発点はログです。ログに関する詳細な情報は、**[トラブルシューティングガイド](./troubleshooting.md)** で確認できます。
最後に、他のどこにも当てはまらないすべての質問に対しては、**[FAQよくある質問](./faq.md)** があります。
[チュートリアル](./tutorials.md) は、タスクに文書を適用する方法を示します。
Ollamaの使用に関する動作するコードの例については、[Examples](../examples)を参照してください。
* [トラブルシューティングガイド](./troubleshooting.md)
* [よくある質問](./faq.md)
* [開発ガイド](./development.md)

View File

@ -25,7 +25,7 @@
### ストリーミング応答
特定のエンドポイントでは、JSONオブジェクトとして応答をストリーミングでき、オプションで非ストリーミングの応答を返すこともできます。
特定のエンドポイントでは、JSON オブジェクトとして応答をストリーミングでき、オプションで非ストリーミングの応答を返すこともできます。
## 完了を生成する
@ -39,7 +39,7 @@ POST /api/generate
- `model`: (必須)[モデル名](#モデル名)
- `prompt`: 応答を生成するためのプロンプト
- `images`: オプションBase64エンコードされた画像のリスト`llava`などのマルチモーダルモデル用)
- `images`: オプションBase64 エンコードされた画像のリスト(`llava` などのマルチモーダルモデル用)
高度なパラメータ(オプション):
@ -49,13 +49,15 @@ POST /api/generate
- `template`: 使用するプロンプトテンプレート(`Modelfile` で定義されたものを上書きする)
- `context`: `/generate` への前回のリクエストから返されるコンテキストパラメーター。これは短い対話的なメモリを維持するために使用できます
- `stream`: `false` の場合、応答はオブジェクトのストリームではなく、単一の応答オブジェクトとして返されます
- `raw`: `true` の場合、プロンプトには書式設定が適用されません。APIへのリクエストで完全なテンプレート化されたプロンプトを指定する場合は、`raw`
- `raw`: `true` の場合、プロンプトに書式設定を適用しません。API へのリクエストで完全なテンプレート化されたプロンプトを指定する場合は、`raw` パラメータを使用することができます。
- `keep_alive`: リクエスト後にモデルがメモリにロードされたままでいる時間を制御します(デフォルト: `5m`)。
#### JSONモード
`format` パラメーターを `json` に設定して JSON モードを有効にします。これにより、応答が有効な JSON オブジェクトとして構造化されます。以下にJSONモードの[](#generate-request-json-mode) を参照してください。
#### JSON モード
> 注意: `prompt` でモデルにJSONを使用するように指示することが重要です。それ以外の場合、モデルは大量の空白を生成する可能性があります。
`format` パラメータを `json` に設定することで、JSON モードを有効にできます。これにより、レスポンスが有効な JSON オブジェクトとして構造化されます。以下は JSON モードの[](#request-json-mode)です。
> 注意: `prompt` でモデルに JSON を使用するように指示することが重要です。それ以外の場合、モデルは大量の空白を生成する可能性があります。
### 例
@ -72,7 +74,7 @@ curl http://localhost:11434/api/generate -d '{
##### レスポンス
JSONオブジェクトのストリームが返されます:
JSON オブジェクトのストリームが返されます:
```json
{
@ -128,7 +130,7 @@ curl http://localhost:11434/api/generate -d '{
##### レスポンス
`stream``false` に設定されている場合、応答は単一のJSONオブジェクトになります:
`stream``false` に設定されている場合、応答は単一の JSON オブジェクトになります:
```json
{
@ -146,9 +148,11 @@ curl http://localhost:11434/api/generate -d '{
}
```
#### リクエストJSONモード
<div id="request-json-mode">
<h4>リクエストJSON モード)</h4>
</div>
> `format``json` に設定されている場合、出力は常に整形されたJSONオブジェクトになります。モデルにもJSONで応答するように指示することが重要です。
> `format``json` に設定されている場合、出力は常に整形された JSON オブジェクトになります。モデルにも JSON で応答するように指示することが重要です。
##### リクエスト
@ -179,7 +183,7 @@ curl http://localhost:11434/api/generate -d '{
}
```
`response` の値は、次のようなJSONを含む文字列になります:
`response` の値は、次のような JSON を含む文字列になります:
```json
{
@ -200,7 +204,7 @@ curl http://localhost:11434/api/generate -d '{
#### リクエスト(画像付き)
`llava``bakllava` などのマルチモーダルモデルに画像を提出するには、Base64エンコードされた `images` のリストを提供してください:
`llava``bakllava` などのマルチモーダルモデルに画像を提出するには、Base64 エンコードされた `images` のリストを提供してください:
#### リクエスト
@ -233,7 +237,7 @@ curl http://localhost:11434/api/generate -d '{
#### リクエスト (Raw モード)Request (Raw Mode)
In some cases, you may wish to bypass the templating system and provide a full prompt. In this case, you can use the `raw` parameter to disable templating. Also note that raw mode will not return a context.
場合によっては、テンプレートシステムをバイパスして完全なプロンプトを提供したい場合があります。その場合、`raw` パラメーターを使用してテンプレート処理を無効にすることができます。また、raw モードではコンテキストが返されないことに注意してください。
##### リクエスト
@ -246,6 +250,23 @@ curl http://localhost:11434/api/generate -d '{
}'
```
#### リクエスト(再現可能な出力)
再現可能な出力を得るために、`temperature` を 0 に設定し、`seed` を数字に設定します。
##### リクエスト
```shell
curl http://localhost:11434/api/generate -d '{
"model": "mistral",
"prompt": "Why is the sky blue?",
"options": {
"seed": 123,
"temperature": 0
}
}'
```
##### レスポンス
```json
@ -265,7 +286,7 @@ curl http://localhost:11434/api/generate -d '{
#### リクエストの生成(オプションあり)
モデルの設定をModelfileではなく実行時にカスタムオプションで設定したい場合は、`options` パラメータを使用できます。この例ではすべての利用可能なオプションを設定していますが、個々のオプションを任意に設定し、上書きしたくないものは省略できます。
モデルの設定を Modelfile ではなく実行時にカスタムオプションで設定したい場合は、`options` パラメータを使用できます。この例ではすべての利用可能なオプションを設定していますが、個々のオプションを任意に設定し、上書きしたくないものは省略できます。
##### リクエスト
@ -331,7 +352,7 @@ curl http://localhost:11434/api/generate -d '{
#### モデルの読み込み
If an empty prompt is provided, the model will be loaded into memory.
空のプロンプトが提供されると、モデルがメモリに読み込まれます。
##### リクエスト
@ -343,7 +364,7 @@ curl http://localhost:11434/api/generate -d '{
##### レスポンス
単一のJSONオブジェクトが返されます:
単一の JSON オブジェクトが返されます:
```json
{
@ -377,8 +398,9 @@ POST /api/chat
- `format`: 応答を返す形式。現在唯一受け入れられている値は `json` です
- `options`: [Modelfile](./modelfile.md#有効なパラメータと値)のドキュメントにリストされている追加のモデルパラメーター(`temperature`など)
- `template`: 使用するプロンプトテンプレート(`Modelfile`で定義されたものを上書きする)
- `stream`: `false`の場合、応答はオブジェクトのストリームではなく、単一の応答オブジェクトとして返されます
- `template`: 使用するプロンプトテンプレート(`Modelfile` で定義されたものを上書きする)
- `stream`: `false` の場合、応答はオブジェクトのストリームではなく、単一の応答オブジェクトとして返されます
- `keep_alive`: リクエスト後にモデルがメモリにロードされたままになる時間を制御します(デフォルト: `5m`
### 例
@ -402,7 +424,7 @@ curl http://localhost:11434/api/chat -d '{
##### レスポンス
JSONオブジェクトのストリームが返されます:
JSON オブジェクトのストリームが返されます:
```json
{
@ -472,7 +494,7 @@ curl http://localhost:11434/api/chat -d '{
#### チャットリクエスト(履歴あり)
Send a chat message with a conversation history. You can use this same approach to start the conversation using multi-shot or chain-of-thought prompting.
会話履歴を持つチャットメッセージを送信してください。この方法は、multi-shot や chain-of-thought プロンプトを使用して会話を開始する際にも同じように利用できます。
##### リクエスト
@ -498,7 +520,7 @@ curl http://localhost:11434/api/chat -d '{
##### レスポンス
JSONオブジェクトのストリームが返されます:
JSON オブジェクトのストリームが返されます:
```json
{
@ -542,7 +564,7 @@ curl http://localhost:11434/api/chat -d '{
"role": "user",
"content": "what is in this image?",
"images": ["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"]
},
}
]
}'
```
@ -568,21 +590,63 @@ curl http://localhost:11434/api/chat -d '{
}
```
#### チャットリクエスト(再現可能な出力)
##### リクエスト
```shell
curl http://localhost:11434/api/chat -d '{
"model": "llama2",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"options": {
"seed": 101,
"temperature": 0
}
}'
```
##### レスポンス
```json
{
"model": "registry.ollama.ai/library/llama2:latest",
"created_at": "2023-12-12T14:13:43.416799Z",
"message": {
"role": "assistant",
"content": "Hello! How are you today?"
},
"done": true,
"total_duration": 5191566416,
"load_duration": 2154458,
"prompt_eval_count": 26,
"prompt_eval_duration": 383809000,
"eval_count": 298,
"eval_duration": 4799921000
}
```
## モデルを作成する
```shell
POST /api/create
```
[`Modelfile`](./modelfile.md)からモデルを作成します。`modelfile`を単に`path`を設定するのではなく、Modelfileの内容に設定することをお勧めします。これはリモート作成のための要件です。リモートモデルの作成は、[Create a Blob](#create-a-blob)を使用してサーバーに対して`FROM``ADAPTER`などのファイルブロブ、フィールドを明示的に作成する必要があり、応答で示されたパスに対して値を使用します。
[`Modelfile`](./modelfile.md) を使ってモデルを作成する場合、`path` を設定するだけではなく、Modelfile の内容自体を `modelfile` フィールドに設定することを推奨します。これは、リモートでのモデル作成が必要な場合に必須です。
リモートでモデルを作成する際には、`FROM``ADAPTER` など、ファイルブロブ (file blobs) を含む全てのフィールドについても、[Create a Blob](#create-a-blob) API を使ってサーバーに明示的に作成し、レスポンスで返却されたパスを Modelfile に設定する必要があります。
### パラメーター
- `name`: 作成するモデルの名前
- `modelfile` (オプション): Modelfileの内容
- `modelfile` (オプション): Modelfile の内容
- `stream`: (オプション): `false` の場合、応答はオブジェクトのストリームではなく、単一の応答オブジェクトとして返されます
- `path` (オプション): Modelfileへのパス
- `path` (オプション): Modelfile へのパス
### 例
@ -601,7 +665,7 @@ curl http://localhost:11434/api/create -d '{
##### レスポンス
JSONオブジェクトのストリーム。最終的なJSONオブジェクトには `"status": "success"` が表示されることに注意してください。
JSON オブジェクトのストリーム。最終的な JSON オブジェクトには `"status": "success"` が表示されることに注意してください。
```json
{"status":"reading model metadata"}
@ -617,13 +681,13 @@ JSONオブジェクトのストリーム。最終的なJSONオブジェクトに
{"status":"success"}
```
### Blobの存在を確認
### Blob の存在を確認
```shell
HEAD /api/blobs/:digest
```
`FROM`または`ADAPTER`フィールドに使用されるファイルブロブがサーバー上に存在することを確認します。これはOllama.aiではなく、あなたのOllamaサーバーを確認しています。
`FROM` または `ADAPTER` フィールドに使用されるファイルブロブがサーバー上に存在することを確認します。これは Ollama.ai ではなく、あなたの Ollama サーバーを確認しています。
#### クエリパラメータ
@ -640,7 +704,7 @@ curl -I http://localhost:11434/api/blobs/sha256:29fdb92e57cf0827ded04ae6461b5931
##### レスポンス
ブロブが存在する場合は200 OKを返し、存在しない場合は404 Not Foundを返します。
ブロブが存在する場合は 200 OK を返し、存在しない場合は 404 Not Found を返します。
### Create a Blob
@ -653,7 +717,7 @@ POST /api/blobs/:digest
#### クエリパラメータ
- `digest`: ファイルの予想されるSHA256ダイジェスト
- `digest`: ファイルの予想される SHA256 ダイジェスト
#### 例
@ -665,7 +729,7 @@ curl -T model.bin -X POST http://localhost:11434/api/blobs/sha256:29fdb92e57cf08
##### レスポンス
ブロブが成功製作された場合は201 Createdを返し、使用されたダイジェストが予想外の場合は400 Bad Requestを返します。
ブロブが成功製作された場合は 201 Created を返し、使用されたダイジェストが予想外の場合は 400 Bad Request を返します。
## ローカルモデルの一覧表示
@ -685,7 +749,7 @@ curl http://localhost:11434/api/tags
#### レスポンス
単一のJSONオブジェクトが返されます。
単一の JSON オブジェクトが返されます。
```json
{
@ -780,7 +844,7 @@ curl http://localhost:11434/api/copy -d '{
#### レスポンス
成功した場合は200 OKを返し、ソースモデルが存在しない場合は404 Not Foundを返します。
成功した場合は 200 OK を返し、ソースモデルが存在しない場合は 404 Not Found を返します。
## モデルの削除
@ -806,7 +870,7 @@ curl -X DELETE http://localhost:11434/api/delete -d '{
#### レスポンス
成功した場合は200 OKを返し、削除されるモデルが存在しない場合は404 Not Foundを返します。
成功した場合は 200 OK を返し、削除されるモデルが存在しない場合は 404 Not Found を返します。
## モデルのプル
@ -814,13 +878,13 @@ curl -X DELETE http://localhost:11434/api/delete -d '{
POST /api/pull
```
Ollamaライブラリからモデルをダウンロードします。キャンセルされたプルは中断した場所から再開され、複数の呼び出しは同じダウンロード進捗を共有します。
Ollama ライブラリからモデルをダウンロードします。キャンセルされたプルは中断した場所から再開され、複数の呼び出しは同じダウンロード進捗を共有します。
### パラメーター
- `name`: プルするモデルの名前
- `insecure`: (オプション) ライブラリへの安全でない接続を許可します。開発中に自分のライブラリからプルする場合にのみ使用してください
- `stream`: (オプション) `false`の場合、レスポンスはオブジェクトのストリームではなく、単一のレスポンスオブジェクトとして返されます
- `stream`: (オプション) `false` の場合、レスポンスはオブジェクトのストリームではなく、単一のレスポンスオブジェクトとして返されます
### 例
@ -834,7 +898,7 @@ curl http://localhost:11434/api/pull -d '{
#### レスポンス
`stream`が指定されていないか、または`true`に設定されている場合、JSONオブジェクトのストリームが返されます:
`stream`が指定されていないか、または `true` に設定されている場合、JSON オブジェクトのストリームが返されます:
最初のオブジェクトはマニフェストです:
@ -844,7 +908,7 @@ curl http://localhost:11434/api/pull -d '{
}
```
その後、一連のダウンロードの応答があります。ダウンロードが完了するまで、`completed`キーは含まれないかもしれません。ダウンロードするファイルの数は、マニフェストで指定されたレイヤーの数に依存します。
その後、一連のダウンロードの応答があります。ダウンロードが完了するまで、`completed` キーは含まれないかもしれません。ダウンロードするファイルの数は、マニフェストで指定されたレイヤーの数に依存します。
```json
{
@ -871,7 +935,7 @@ curl http://localhost:11434/api/pull -d '{
"status": "success"
}
```
`stream``false`に設定されている場合、応答は単一のJSONオブジェクトです:
`stream` `false` に設定されている場合、応答は単一の JSON オブジェクトです:
```json
{
@ -889,7 +953,7 @@ POST /api/push
### パラメーター
- `name`: `<namespace>/<model>:<tag>`の形式でプッシュするモデルの名前
- `name`: `<namespace>/<model>:<tag>` の形式でプッシュするモデルの名前
- `insecure`: (オプション)ライブラリへの安全でない接続を許可します。開発中にライブラリにプッシュする場合のみ使用してください
- `stream`: (オプション)`false` の場合、レスポンスは単一のレスポンスオブジェクトとして返されます。オブジェクトのストリームではありません
@ -905,7 +969,7 @@ curl http://localhost:11434/api/push -d '{
#### レスポンス
`stream` が指定されていないか、または `true` に設定されている場合、JSONオブジェクトのストリームが返されます:
`stream` が指定されていないか、または `true` に設定されている場合、JSON オブジェクトのストリームが返されます:
```json
{ "status": "retrieving manifest" }
@ -938,7 +1002,7 @@ curl http://localhost:11434/api/push -d '{
{"status":"success"}
```
`stream``false`に設定されている場合、応答は単一のJSONオブジェクトとなります:
`stream` `false` に設定されている場合、応答は単一の JSON オブジェクトとなります:
```json
{ "status": "success" }
@ -960,6 +1024,7 @@ POST /api/embeddings
高度なパラメータ:
- `options`: `Modelfile` の[ドキュメント](./modelfile.md#有効なパラメータと値)にリストされている `temperature` などの追加のモデルパラメータ
- `keep_alive`:リクエスト後にモデルがメモリにロードされたままとどまる時間を制御します(デフォルト:`5m`
### 例
@ -967,7 +1032,7 @@ POST /api/embeddings
```shell
curl http://localhost:11434/api/embeddings -d '{
"model": "llama2",
"model": "all-minilm",
"prompt": "Here is an article about llamas..."
}'
```

View File

@ -2,9 +2,9 @@
必要なツールをインストールしてください:
- cmake バージョン3.24以上
- go バージョン1.21以上
- gcc バージョン11.4.0以上
- cmake バージョン 3.24 以上
- go バージョン 1.22 以上
- gcc バージョン 11.4.0 以上
```bash
brew install go cmake gcc
@ -13,26 +13,26 @@ brew install go cmake gcc
オプションでデバッグおよび詳細なログを有効にする:
```bash
# At build time
# ビルド時
export CGO_CFLAGS="-g"
# At runtime
# 実行時
export OLLAMA_DEBUG=1
```
必要なライブラリを取得し、ネイティブLLMコードをビルドしてください:
必要なライブラリを取得し、ネイティブ LLM コードをビルドしてください:
```bash
go generate ./...
```
次に、Ollamaをビルドしてください:
次に、Ollama をビルドしてください:
```bash
go build .
```
これで、`ollama`を実行できます:
これで、`ollama` を実行できます:
```bash
./ollama
@ -42,11 +42,11 @@ go build .
#### Linux CUDA (NVIDIA)
*お使いのオペレーティングシステムディストリビューションには、既にNVIDIA CUDA用のパッケージが含まれているかもしれません。ディストリビューションパッケージは通常好ましいですが、手順はディストリビューションに依存します。可能であれば、ディストリビューション固有のドキュメントを確認して、依存関係に関する情報を参照してください。*
_お使いのオペレーティングシステムディストリビューションには、既に NVIDIA CUDA 用のパッケージが含まれているかもしれません。ディストリビューションパッケージは通常好ましいですが、手順はディストリビューションに依存します。可能であれば、ディストリビューション固有のドキュメントを確認して、依存関係に関する情報を参照してください。_
`cmake`および`golang`をインストールし、[NVIDIA CUDA](https://developer.nvidia.com/cuda-downloads)の開発およびランタイムパッケージもインストールしてください。
`cmake` および `golang` をインストールし、[NVIDIA CUDA](https://developer.nvidia.com/cuda-downloads) の開発およびランタイムパッケージもインストールしてください。
通常、ビルドスクリプトはCUDAを自動検出しますが、Linuxディストリビューションやインストールアプローチが異常なパスを使用する場合は、環境変数`CUDA_LIB_DIR`を共有ライブラリの場所に、`CUDACXX`をnvccコンパイラの場所に指定することができます。また、`CMAKE_CUDA_ARCHITECTURES`を設定して、対象のCUDAアーキテクチャをカスタマイズできます"50;60;70")。
通常、ビルドスクリプトは CUDA を自動検出しますが、Linux ディストリビューションやインストールアプローチが異常なパスを使用する場合は、環境変数 `CUDA_LIB_DIR` を共有ライブラリの場所に、`CUDACXX` nvcc コンパイラの場所に指定することができます。また、`CMAKE_CUDA_ARCHITECTURES` を設定して、対象の CUDA アーキテクチャをカスタマイズできます(例:"50;60;70")。
その後、依存関係を生成してください:
@ -62,11 +62,11 @@ go build .
#### Linux ROCm (AMD)
*お使いのオペレーティングシステムディストリビューションには、すでにAMD ROCmおよびCLBlast用のパッケージが含まれているかもしれません。ディストリビューションパッケージは通常好ましいですが、手順はディストリビューションに依存します。可能であれば、ディストリビューション固有のドキュメントを確認して、依存関係に関する情報を参照してください。*
_お使いのオペレーティングシステムディストリビューションには、すでに AMD ROCm および CLBlast 用のパッケージが含まれているかもしれません。ディストリビューションパッケージは通常好ましいですが、手順はディストリビューションに依存します。可能であれば、ディストリビューション固有のドキュメントを確認して、依存関係に関する情報を参照してください。_
まず、[CLBlast](https://github.com/CNugteren/CLBlast/blob/master/doc/installation.md)と[ROCm](https://rocm.docs.amd.com/en/latest/deploy/linux/quick_start.html)の開発パッケージ、および`cmake``golang`をインストールしてください。
まず、[CLBlast](https://github.com/CNugteren/CLBlast/blob/master/doc/installation.md)と[ROCm](https://rocm.docs.amd.com/en/latest/deploy/linux/quick_start.html)の開発パッケージ、および `cmake` `golang` をインストールしてください。
通常、ビルドスクリプトはROCmを自動検出しますが、Linuxディストリビューションやインストールアプローチが異常なパスを使用する場合は、環境変数`ROCM_PATH`をROCmのインストール場所に通常は`/opt/rocm`)、`CLBlast_DIR`をCLBlastのインストール場所に通常は`/usr/lib/cmake/CLBlast`)指定することができます。また、`AMDGPU_TARGETS`を設定してAMD GPUの対象をカスタマイズすることもできます`AMDGPU_TARGETS="gfx1101;gfx1102"`)。
通常、ビルドスクリプトは ROCm を自動検出しますが、Linux ディストリビューションやインストールアプローチが異常なパスを使用する場合は、環境変数 `ROCM_PATH` ROCm のインストール場所に(通常は `/opt/rocm`)、`CLBlast_DIR` CLBlast のインストール場所に(通常は `/usr/lib/cmake/CLBlast`)指定することができます。また、`AMDGPU_TARGETS` を設定して AMD GPU の対象をカスタマイズすることもできます(例:`AMDGPU_TARGETS="gfx1101;gfx1102"`)。
```
@ -79,32 +79,30 @@ go generate ./...
go build .
```
ROCmは実行時にGPUにアクセスするために特権が必要です。ほとんどのディストリビューションでは、ユーザーアカウントを`render`グループに追加するか、rootとして実行することができます。
ROCm requires elevated privileges to access the GPU at runtime. On most distros you can add your user account to the `render` group, or run as root.
ROCm は実行時に GPU にアクセスするために特権が必要です。ほとんどのディストリビューションでは、ユーザーアカウントを `render` グループに追加するか、root として実行することができます。
#### 高度なCPU設定
デフォルトでは、`go generate ./...`を実行すると、一般的なCPUファミリとベクトル数学の能力に基づいて、いくつかの異なるバリエーションのLLMライブラリがコンパイルされます。これには、ほとんどの64ビットCPUで動作する最低限のバージョンも含まれており、パフォーマンスはやや低いです。実行時に、Ollamaは最適なバリエーションを自動検出してロードします。プロセッサにカスタマイズされたCPUベースのビルドを作成したい場合は、`OLLAMA_CUSTOM_CPU_DEFS`を使用したいllama.cppフラグに設定できます。たとえば、Intel i9-9880H向けに最適化されたバイナリをコンパイルする場合は、次のようにします:
デフォルトでは、`go generate ./...` を実行すると、一般的な CPU ファミリとベクトル数学の機能に基づいて、いくつかの異なる LLM ライブラリのバリエーションがコンパイルされます。これには、ほとんどの 64 ビット CPU で動作する最も一般的なバージョンも含まれますが、やや遅くなります。実行時に、Ollama は最適なバリエーションを自動検出してロードします。プロセッサにカスタマイズされた CPU ベースのビルドを作成したい場合は、`OLLAMA_CUSTOM_CPU_DEFS` を使用する llama.cpp フラグに設定できます。例えば、Intel i9-9880H 向けに最適化されたバイナリをコンパイルする場合は、次のようにします:
```
OLLAMA_CUSTOM_CPU_DEFS="-DLLAMA_AVX=on -DLLAMA_AVX2=on -DLLAMA_F16C=on -DLLAMA_FMA=on" go generate ./...
go build .
```
#### コンテナ化されたLinuxビルド
#### コンテナ化された Linux ビルド
Dockerが利用可能な場合、CUDAおよびROCmの依存関係が含まれている`./scripts/build_linux.sh`を使用してLinux用のバイナリをビルドできます。生成されたバイナリは`./dist`に配置されます。
Docker が利用可能な場合、CUDA および ROCm の依存関係が含まれている `./scripts/build_linux.sh` を使用して Linux 用のバイナリをビルドできます。生成されたバイナリは `./dist` に配置されます。
### Windows
注意OllamaのWindowsビルドはまだ開発中です。
注意Ollama Windows ビルドはまだ開発中です。
必要なツールをインストールしてください:
- MSVCツールチェーン - C/C++およびcmakeが最小要件で
- go バージョン1.21以上
- GCCを搭載したMinGWいずれかを選択
- MSVC ツールチェーン - C/C++ および cmake を最小の要件として - 環境変数を設定した "Developer Shell" からビルドする必要がありま
- go のバージョン 1.22 以上
- GCC を搭載した MinGWいずれかを選択
- <https://www.mingw-w64.org/>
- <https://www.msys2.org/>
@ -119,6 +117,13 @@ go build .
#### Windows CUDA (NVIDIA)
上記で説明した一般的なWindows開発ツールに加えて、以下をインストールしてください:
上記で説明した一般的な Windows 開発ツールに加えて、MSVC をインストールした**後**に CUDA をインストールしてください。
- [NVIDIA CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html)
#### Windows ROCm (AMD Radeon)
上記で説明した一般的な Windows 開発ツールに加えて、MSVC をインストールした**後**に AMD の HIP パッケージをインストールしてください。
- [AMD HIP](https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html)

View File

@ -1,38 +1,64 @@
# FAQ
## Ollamaをアップグレードする方法はどのようになりますか
## Ollama をアップグレードする方法はどのようになりますか?
Ollamaをアップグレードするには、インストールプロセスを再実行してください。Macでは、メニューバーにあるOllamaアイコンをクリックし、更新が利用可能な場合は再起動オプションを選択してください。
macOS と Windows 上の Ollama は自動的にアップデートをダウンロードします。タスクバーまたはメニューバーのアイテムをクリックして、"Restart to update" をクリックすると、アップデートが適用されます。また、最新バージョンを [手動でダウンロード](https://ollama.com/download/) してインストールすることもできます。
Linux では、インストールスクリプトを再実行します:
```
curl -fsSL https://ollama.com/install.sh | sh
```
## ログを表示する方法は?
ログの使用についての詳細については、[トラブルシューティング](./troubleshooting.md)のドキュメントを参照してください。
## コンテキストウィンドウサイズを指定する方法は?
デフォルトでは、Ollama は 2048 トークンのコンテキストウィンドウサイズを使用します。
`ollama run` を使用する場合は、`/set parameter` を使用してこれを変更します:
```
/set parameter num_ctx 4096
```
API を使用する場合は、`num_ctx` パラメータを指定します:
```
curl http://localhost:11434/api/generate -d '{
"model": "llama2",
"prompt": "Why is the sky blue?",
"options": {
"num_ctx": 4096
}
}'
```
<div id="how-do-i-configure-ollama-server">
<h2>Ollamaサーバーの設定方法は</h2>
<h2>Ollama サーバーの設定方法は?</h2>
</div>
Ollamaサーバーは、環境変数を使用して設定できます。
### Mac での環境変数の設定
### Macでの環境変数の設定
Ollama が macOS アプリケーションとして実行される場合、環境変数は `launchctl` を使用して設定する必要があります:
OllamaがmacOSアプリケーションとして実行される場合、環境変数は`launchctl`を使用して設定する必要があります:
1. 各環境変数に対して、`launchctl setenv`を呼び出します。
1. 各環境変数に対して、`launchctl setenv` を呼び出します。
```bash
launchctl setenv OLLAMA_HOST "0.0.0.0"
```
2. Ollamaアプリケーションを再起動します。
2. Ollama アプリケーションを再起動します。
### Linuxでの環境変数の設定
### Linux での環境変数の設定
Ollamaがsystemdサービスとして実行される場合、環境変数は`systemctl`を使用して設定する必要があります:
Ollama systemd サービスとして実行される場合、環境変数は`systemctl` を使用して設定する必要があります:
1. `systemctl edit ollama.service`を呼び出して、systemdサービスを編集します。これによりエディタが開きます。
1. `systemctl edit ollama.service` を呼び出して、systemd サービスを編集します。これによりエディタが開きます。
2. 各環境変数に対して、`[Service]`セクションの下に`Environment`という行を追加します:
2. 各環境変数に対して、`[Service]` セクションの下に `Environment` という行を追加します:
```ini
[Service]
@ -41,35 +67,43 @@ Ollamaがsystemdサービスとして実行される場合、環境変数は`sys
3. 保存して終了します。
4. `systemd`をリロードし、Ollamaを再起動します
4. `systemd` をリロードし、Ollama を再起動します:
```bash
systemctl daemon-reload
systemctl restart ollama
```
### Windows での環境変数の設定方法
## Ollamaをネットワークで公開する方法は
Windows では、Ollama はユーザーとシステムの環境変数を継承します。
Ollamaはデフォルトで127.0.0.1ポート11434にバインドされます。バインドアドレスを変更するには、`OLLAMA_HOST`環境変数を使用してください。
1. 最初に、タスクバーで Ollama をクリックして終了します。
2. コントロールパネルからシステムの環境変数を編集します。
3. ユーザーアカウントのために `OLLAMA_HOST``OLLAMA_MODELS` などの変数を編集または新しく作成します。
4. 保存するために OK/Apply をクリックします。
5. 新しいターミナルウィンドウから `ollama` を実行します。
## Ollama をネットワークで公開する方法は?
Ollama はデフォルトで 127.0.0.1 ポート 11434 にバインドされます。バインドアドレスを変更するには、`OLLAMA_HOST` 環境変数を使用してください。
環境変数の設定方法については、[上記](#how-do-i-configure-ollama-server)のセクションを参照してください。
## 追加のウェブ起源がOllamaにアクセスできるようにする方法は
## 追加の web origins が Ollama にアクセスできるようにする方法は?
Ollamaはデフォルトで`127.0.0.1`および`0.0.0.0`からのクロスオリジンリクエストを許可します。追加の起源は`OLLAMA_ORIGINS`で構成できます。
環境変数の設定方法については、[上記](#how-do-i-configure-ollama-server)のセクションを参照してください。
## 追加のウェブ起源がOllamaにアクセスできるようにする方法は
Ollamaはデフォルトで`127.0.0.1`および`0.0.0.0`からのクロスオリジンリクエストを許可します。追加の起源は`OLLAMA_ORIGINS`で構成できます。
Ollama はデフォルトで `127.0.0.1` および `0.0.0.0` からのクロスオリジンリクエストを許可します。追加の origins は `OLLAMA_ORIGINS`で構成できます。
環境変数の設定方法については、[上記](#how-do-i-configure-ollama-server)のセクションを参照してください。
## モデルはどこに保存されていますか?
- macOS: `~/.ollama/models`
- Linux: `/usr/share/ollama/.ollama/models`
- macOS: `~/.ollama/models`
- Linux: `/usr/share/ollama/.ollama/models`
- Windows: `C:\Users\<username>\.ollama\models`
### それらを異なる場所に設定するにはどうすればよいですか?
@ -77,25 +111,25 @@ Ollamaはデフォルトで`127.0.0.1`および`0.0.0.0`からのクロスオリ
環境変数の設定方法については、[上記](#how-do-i-configure-ollama-server)のセクションを参照してください。
## Ollamaはプロンプトや回答をOllama.aiに送信して何らかの方法で使用しますか?
## Ollama は、プロンプトや回答を ollama.com に送信しますか?
いいえ、Ollamaは完全にローカルで実行され、会話データは決してあなたのマシンを離れません。
いいえ。Ollama はローカルで実行され、会話データはあなたのマシンから出ません。
## Visual Studio CodeでOllamaを使用する方法は
## Visual Studio Code Ollama を使用する方法は?
既にVSCodeや他のエディタでOllamaを活用するための多くのプラグインが利用可能です。メインリポジトリの末尾にある[拡張機能とプラグイン](https://github.com/jmorganca/ollama#extensions--plugins)のリストをご覧ください。
既に VSCode や他のエディタで Ollama を活用するための多くのプラグインが利用可能です。メインリポジトリの末尾にある[拡張機能とプラグイン](https://github.com/jmorganca/ollama#extensions--plugins)のリストをご覧ください。
## プロキシを使用する方法は?
`HTTP_PROXY`または`HTTPS_PROXY`が構成されている場合、Ollamaはプロキシサーバーと互換性があります。これらの変数を使用する場合は、`ollama serve`が値にアクセスできるように設定されていることを確認してください。`HTTPS_PROXY`を使用する場合は、プロキシ証明書がシステム証明書としてインストールされていることを確認してください。環境変数の設定方法については、上記のセクションを参照してください。
`HTTP_PROXY` または `HTTPS_PROXY` が構成されている場合、Ollama はプロキシサーバーと互換性があります。これらの変数を使用する場合は、`ollama serve` が値にアクセスできるように設定されていることを確認してください。`HTTPS_PROXY` を使用する場合は、プロキシ証明書がシステム証明書としてインストールされていることを確認してください。環境変数の設定方法については、上記のセクションを参照してください。
### Docker内でプロキシを使用する方法は
### Docker 内でプロキシを使用する方法は?
Ollama Dockerコンテナイメージは、コンテナを起動する際に `-e HTTPS_PROXY=https://proxy.example.com` を渡すことでプロキシを使用するように構成できます。
Ollama Docker コンテナイメージは、コンテナを起動する際に `-e HTTPS_PROXY=https://proxy.example.com` を渡すことでプロキシを使用するように構成できます。
代替として、Dockerデーモン自体をプロキシを使用するように構成することもできます。Docker Desktopの[macOS](https://docs.docker.com/desktop/settings/mac/#proxies)、[Windows](https://docs.docker.com/desktop/settings/windows/#proxies)、[Linux](https://docs.docker.com/desktop/settings/linux/#proxies)に関する手順が利用可能であり、またDocker [daemon with systemd](https://docs.docker.com/config/daemon/systemd/#httphttps-proxy)についても指示があります。
代替として、Docker デーモン自体をプロキシを使用するように構成することもできます。Docker Desktop の[macOS](https://docs.docker.com/desktop/settings/mac/#proxies)、[Windows](https://docs.docker.com/desktop/settings/windows/#proxies)、[Linux](https://docs.docker.com/desktop/settings/linux/#proxies) に関する手順が利用可能であり、またDocker [daemon with systemd](https://docs.docker.com/config/daemon/systemd/#httphttps-proxy) についても指示があります。
HTTPSを使用する場合は、証明書がシステム証明書としてインストールされていることを確認してください。これには、自己署名証明書を使用する場合には新しいDockerイメージが必要となるかもしれません。
HTTPS を使用する場合は、証明書がシステム証明書としてインストールされていることを確認してください。これには、自己署名証明書を使用する場合には新しい Docker イメージが必要となるかもしれません。
```dockerfile
FROM ollama/ollama
@ -110,15 +144,49 @@ docker build -t ollama-with-ca .
docker run -d -e HTTPS_PROXY=https://my.proxy.example.com -p 11434:11434 ollama-with-ca
```
## Docker内でGPUアクセラレーションを使用する方法は
## Docker 内で GPU アクセラレーションを使用する方法は?
Ollama Dockerコンテナは、LinuxまたはWindowsWSL2を使用する場合でGPUアクセラレーションを構成することができます。これには[nvidia-container-toolkit](https://github.com/NVIDIA/nvidia-container-toolkit)が必要です。詳細については、[ollama/ollama](https://hub.docker.com/r/ollama/ollama)を参照してください。
Ollama Docker コンテナは、Linux または WindowsWSL2を使用する場合 GPU アクセラレーションを構成することができます。これには [nvidia-container-toolkit](https://github.com/NVIDIA/nvidia-container-toolkit) が必要です。詳細については、[ollama/ollama](https://hub.docker.com/r/ollama/ollama) を参照してください。
GPUアクセラレーションは、macOSのDocker DesktopではGPUのパススルーやエミュレーションの不足のため利用できません。
GPU アクセラレーションは、macOS Docker Desktop では GPU のパススルーやエミュレーションの不足のため利用できません。
## Windows 10のWSL2でネットワーキングが遅いのはなぜですか
## Windows 10 WSL2 でネットワーキングが遅いのはなぜですか?
これはOllamaのインストールやモデルのダウンロードに影響する可能性があります。
これは Ollama のインストールやモデルのダウンロードに影響する可能性があります。
`Control Panel > Networking and Internet > View network status and tasks` を開き、左パネルで `Change adapter settings` をクリックします。`vEthernel (WSL)` アダプターを見つけ、右クリックして `Properties` を選択します。
`Configure` をクリックし、`Advanced` タブを開きます。各プロパティを検索し、`Large Send Offload Version 2 (IPv4)` および `Large Send Offload Version 2 (IPv6)` を見つけるまで調べてください。これらのプロパティは *無効* にしてください。
## モデルを事前にロードして応答時間を短縮する方法は?
API を使用している場合、空のリクエストを Ollama サーバーに送信することで、モデルを事前にロードすることができます。これは、`/api/generate` および `/api/chat` API エンドポイントの両方で機能します。
ジェネレートエンドポイントを使用して mistral モデルを事前にロードするには、次のコマンドを使用します:
```shell
curl http://localhost:11434/api/generate -d '{"model": "mistral"}'
```
チャット補完エンドポイントを使用する場合は、次のコマンドを使用します:
```shell
curl http://localhost:11434/api/chat -d '{"model": "mistral"}'
```
## モデルをメモリにロードしたままにする方法、または即時にアンロードする方法は?
デフォルトでは、モデルはメモリに 5分間保持された後にアンロードされます。これにより、LLM に対して多数のリクエストを行う場合に応答時間を短縮できます。ただし、5分が経過する前にメモリを解放したい場合や、モデルを無期限にロードしたい場合があります。モデルがメモリに残る時間を制御するために、`/api/generate` および `/api/chat` API エンドポイントの `keep_alive` パラメーターを使用します。
`keep_alive` パラメーターには、次のような値を設定できます:
* 持続時間文字列("10m" や "24h" など)
* 秒数での数値3600 など)
* 負の数値は、モデルをメモリにロードしたままにします(例:-1 または "-1m")。
* レスポンスの生成後すぐにモデルをアンロードするための '0'
例えば、モデルを事前にロードしてメモリに残す場合は、次のコマンドを使用します:
```shell
curl http://localhost:11434/api/generate -d '{"model": "llama2", "keep_alive": -1}'
```
モデルをアンロードしてメモリを解放するには、次のコマンドを使用します:
```shell
curl http://localhost:11434/api/generate -d '{"model": "llama2", "keep_alive": 0}'
```

View File

@ -1,25 +1,25 @@
# Import a model
このガイドでは、GGUF、PyTorch、またはSafetensorsモデルのインポート手順について説明します。
このガイドでは、GGUF、PyTorch、または Safetensors モデルのインポート手順について説明します。
## インポートGGUF
### ステップ1`Modelfile`を作成します
### Step 1`Modelfile` を作成します
`Modelfile`を作成して始めましょう。このファイルは、モデルの設計図であり、重み、パラメータ、プロンプトテンプレートなどが指定されています。
`Modelfile` を作成して始めましょう。このファイルは、モデルの設計図であり、重み、パラメータ、プロンプトテンプレートなどが指定されています。
```
FROM ./mistral-7b-v0.1.Q4_0.gguf
```
(オプション)多くのチャットモデルは、正しく回答するためにプロンプトテンプレートが必要です。`Modelfile`内の`TEMPLATE`指示でデフォルトのプロンプトテンプレートを指定できます:
(オプション)多くのチャットモデルは、正しく回答するためにプロンプトテンプレートが必要です。`Modelfile` 内の `TEMPLATE` 指示でデフォルトのプロンプトテンプレートを指定できます:
```
FROM ./q4_0.bin
FROM ./mistral-7b-v0.1.Q4_0.gguf
TEMPLATE "[INST] {{ .Prompt }} [/INST]"
```
### ステップ2Ollamaモデルを作成します。
### Step 2Ollama モデルを作成します。
最後に、あなたの `Modelfile` からモデルを作成してください:
@ -27,9 +27,9 @@ TEMPLATE "[INST] {{ .Prompt }} [/INST]"
ollama create example -f Modelfile
```
### ステップ3モデルを実行します。
### Step 3モデルを実行します。
次に、`ollama run`でモデルをテストします。
次に、`ollama run` でモデルをテストします。
```
ollama run example "あなたのお気に入りの調味料は何ですか?"
@ -37,58 +37,73 @@ ollama run example "あなたのお気に入りの調味料は何ですか?"
## インポートPyTorchSafetensors
### サポートされているモデル
> PyTorch および Safetensors からのインポートは、GGUF からのインポートよりも時間がかかります。これをより簡単にする改善策は進行中です。
Ollamaは一連のモデルアーキテクチャをサポートしており、今後もサポートが拡充される予定です:
### Step 1セットアップ
- Llama & Mistral
- Falcon & RW
- BigCode
まず、`ollama/ollama` リポジトリをクローンします:
モデルのアーキテクチャを確認するには、HuggingFaceリポジトリ内の`config.json`ファイルをチェックしてください。`architectures`のエントリーの下に(例:`LlamaForCausalLM`)が表示されるはずです。
```
git clone git@github.com:ollama/ollama.git ollama
cd ollama
```
### Step 1: HuggingFaceリポジトリをクローンするオプション
次に、`llama.cpp` サブモジュールを取得します:
もしモデルが現在HuggingFaceリポジトリにホストされている場合、まずそのリポジトリをクローンして生のモデルをダウンロードしてください。
```shell
git submodule init
git submodule update llm/llama.cpp
```
次に、Python の依存関係をインストールします:
```
python3 -m venv llm/llama.cpp/.venv
source llm/llama.cpp/.venv/bin/activate
pip install -r llm/llama.cpp/requirements.txt
```
その後、 `quantize` ツールをビルドします:
```
make -C llm/llama.cpp quantize
```
### Step 2HuggingFace リポジトリのクローン(オプション)
もしモデルが現在 HuggingFace リポジトリにホストされている場合、まずそのリポジトリをクローンして生のモデルをダウンロードしてください。
[Git LFS](https://docs.github.com/ja/repositories/working-with-files/managing-large-files/installing-git-large-file-storage) をインストールし、正常にインストールされていることを確認した後、モデルのリポジトリをクローンしてください。
```
git lfs install
git clone https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1
cd Mistral-7B-Instruct-v0.1
git clone https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1 model
```
### Step 2: `.bin` ファイルに変換および量子化オプション、PyTorchおよびSafetensors用
### Step 3モデルの変換
もしモデルがPyTorchやSafetensors形式の場合、[Dockerイメージ](https://hub.docker.com/r/ollama/quantize)が利用可能で、モデルを変換および量子化するための必要なツールが含まれています。
まず、[Docker](https://www.docker.com/get-started/)をインストールしてください。
次に、モデルを変換および量子化するために、以下を実行してください:
> 注一部のモデルアーキテクチャでは、特定の変換スクリプトを使用する必要があります。たとえば、Qwen モデルの場合は、`convert.py`の代わりに `convert-hf-to-gguf.py` を実行する必要があります。
```
docker run --rm -v .:/model ollama/quantize -q q4_0 /model
```
これにより、ディレクトリに2つのファイルが出力されます
- `f16.bin`: GGUFに変換されたモデル
- `q4_0.bin`: 4ビットの量子化に変換されたモデルOllamaはこのファイルを使用してOllamaモデルを作成します
### Step 3: `Modelfile`の作成
次に、あなたのモデルに対する`Modelfile`を作成してください:
```
FROM ./q4_0.bin
python llm/llama.cpp/convert.py ./model --outtype f16 --outfile converted.bin
```
(オプション)多くのチャットモデルは、正しく回答するためにはプロンプトのテンプレートが必要です。`Modelfile`内の`TEMPLATE`指示でデフォルトのプロンプトテンプレートを指定できます:
### Step 4モデルの量子化
```
FROM ./q4_0.bin
llm/llama.cpp/quantize converted.bin quantized.bin q4_0
```
### Step 5: `Modelfile` の作成
次に、あなたのモデルに対する `Modelfile` を作成してください:
```
FROM quantized.bin
TEMPLATE "[INST] {{ .Prompt }} [/INST]"
```
### Step 4: Ollamaモデルを作成します
### Step 6: Ollama モデルを作成します
最後に、`Modelfile` からモデルを作成します:
@ -96,7 +111,7 @@ TEMPLATE "[INST] {{ .Prompt }} [/INST]"
ollama create example -f Modelfile
```
### Step 5: モデルを実行する
### Step 7: モデルを実行する
次に、`ollama run` コマンドを使ってモデルをテストします:
@ -108,9 +123,12 @@ ollama run example "What is your favourite condiment?"
モデルの公開はアーリーアルファ段階にあります。他の人と共有するためにモデルを公開したい場合は、以下の手順に従ってください:
1. [アカウント](https://ollama.ai/signup)を作成してください。
2. `cat ~/.ollama/id_ed25519.pub` を実行して、Ollamaの公開鍵を表示します。これをクリップボードにコピーします。
3. あなたの公開鍵を[Ollamaのアカウント](https://ollama.ai/settings/keys)に追加します。
1. [アカウント](https://ollama.com/signup)を作成します。
2. Ollama の公開鍵をコピーします:
- macOS`cat ~/.ollama/id_ed25519.pub`
- Windows`type %USERPROFILE%\.ollama\id_ed25519.pub`
- Linux`cat /usr/share/ollama/.ollama/id_ed25519.pub`
3. あなたの公開鍵を [Ollamaアカウント](https://ollama.com/settings/keys) に追加します。
次に、モデルをあなたのユーザー名の名前空間にコピーしてください:
@ -124,11 +142,11 @@ ollama cp example <your username>/example
ollama push <your username>/example
```
公開後、あなたのモデルは `https://ollama.ai/<あなたのユーザー名>/example` で利用可能になります。
公開後、あなたのモデルは `https://ollama.com/<あなたのユーザー名>/example` で利用可能になります。
## 量子化リファレンス
量子化オプションは以下の通りです最高から最も低い量子化レベルまで。注意Falconなど一部のアーキテクチャはK quantsをサポートしていません。
量子化オプションは以下の通りです最高から最も低い量子化レベルまで。注意Falcon など一部のアーキテクチャは K quants をサポートしていません。
- `q2_K`
- `q3_K`
@ -149,46 +167,3 @@ ollama push <your username>/example
- `q8_0`
- `f16`
## モデルの手動変換と量子化
### 事前に必要
まず、`llama.cpp` レポジトリを別のディレクトリにマシンにクローンしてください:
```
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
```
次に、Pythonの依存関係をインストールしてください:
```
pip install -r requirements.txt
```
最後に、`quantize` ツールをビルドしてください:
```
make quantize
```
### モデルを変換する
あなたのモデルのアーキテクチャに対応した変換スクリプトを実行してください:
```shell
# LlamaForCausalLM または MistralForCausalLM
python convert.py <path to model directory>
# FalconForCausalLM
python convert-falcon-hf-to-gguf.py <path to model directory>
# GPTBigCodeForCausalLM
python convert-starcoder-hf-to-gguf.py <path to model directory>
```
### モデルを量子化する
```
quantize <path to model dir>/ggml-model-f32.bin <path to model dir>/q4_0.bin q4_0
```

View File

@ -2,31 +2,36 @@
## インストール
Ollamaをインストールするには、次のワンライナーを実行してください:
Ollama をインストールするには、次のワンライナーを実行してください:
>
```bash
curl https://ollama.ai/install.sh | sh
curl -fsSL https://ollama.com/install.sh | sh
```
## AMD Radeon GPU サポート
AMD は `amdgpu` ドライバーを公式の Linux カーネルソースにアップストリームで提供していますが、そのバージョンは古く、すべての ROCm 機能をサポートしていない可能性があります。Radeon GPU を最良にサポートするために、最新のドライバーを以下からインストールすることをお勧めします:[https://www.amd.com/en/support/linux-drivers](https://www.amd.com/en/support/linux-drivers)。
## 手動インストール
### `ollama` バイナリをダウンロードしてください
Ollamaは自己完結型のバイナリとして配布されています。以下の手順で、ダウンロードしてPATHに含まれるディレクトリに保存してください。
Ollama は自己完結型のバイナリとして配布されています。以下の手順で、ダウンロードして PATH に含まれるディレクトリに保存してください。
```bash
sudo curl -L https://ollama.ai/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo chmod +x /usr/bin/ollama
```
### Ollamaを起動時サービスに追加する推奨
### Ollama を起動時サービスに追加する(推奨)
Ollama用のユーザーを作成してください:
Ollama 用のユーザーを作成してください:
```bash
sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama
```
`/etc/systemd/system/ollama.service`にサービスファイルを作成してください:
`/etc/systemd/system/ollama.service` にサービスファイルを作成してください:
```ini
[Unit]
@ -51,19 +56,25 @@ sudo systemctl daemon-reload
sudo systemctl enable ollama
```
### CUDAドライバのインストールオプション - Nvidia GPU用
### CUDA ドライバのインストール(オプション - Nvidia GPU 用)
[CUDAをダウンロードしてインストール](https://developer.nvidia.com/cuda-downloads)してください。
[CUDA をダウンロードしてインストール](https://developer.nvidia.com/cuda-downloads) してください。
ドライバーがインストールされているか確認するために、以下のコマンドを実行してください。これにより、GPUに関する詳細が表示されるはずです:
ドライバーがインストールされているか確認するために、以下のコマンドを実行してください。これにより、GPU に関する詳細が表示されるはずです:
```bash
nvidia-smi
```
### Ollamaを開始
### ROCm のインストール(オプション - Radeon GPU 用)
`systemd`を使用してOllamaを起動します。
[ダウンロードしてインストール](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/tutorial/quick-start.html)
ROCm v6 をインストールしてください。
### Ollama を起動
`systemd` を使用して Ollama を起動します。
```bash
sudo systemctl start ollama
@ -71,22 +82,22 @@ sudo systemctl start ollama
## アップデート
再びインストールスクリプトを実行して、Ollamaをアップデートします:
再びインストールスクリプトを実行して、Ollama をアップデートします:
```bash
curl https://ollama.ai/install.sh | sh
curl -fsSL https://ollama.com/install.sh | sh
```
または、Ollamaのバイナリをダウンロードすることもできます:
または、Ollama のバイナリをダウンロードすることもできます:
```bash
sudo curl -L https://ollama.ai/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/bin/ollama
sudo chmod +x /usr/bin/ollama
```
## ログの表示
Ollamaが起動サービスとして実行されている際のログを表示するには、次のコマンドを実行してください:
Ollama が起動サービスとして実行されている際のログを表示するには、次のコマンドを実行してください:
```bash
journalctl -u ollama
@ -94,7 +105,7 @@ journalctl -u ollama
## アンインストール
Ollamaサービスを削除するには:
Ollama サービスを削除するには:
```bash
sudo systemctl stop ollama
@ -108,7 +119,7 @@ Ollama バイナリを bin ディレクトリから削除してください(`/
sudo rm $(which ollama)
```
ダウンロードしたモデルとOllamaサービスのユーザーおよびグループを削除してください
ダウンロードしたモデルと Ollama サービスのユーザーおよびグループを削除してください:
```bash
sudo rm -r /usr/share/ollama

View File

@ -2,7 +2,7 @@
> 注意: `Modelfile` の構文は開発中です
モデルファイルは、Ollamaでモデルを作成し共有するための設計図です。
モデルファイルは、Ollama でモデルを作成し共有するための設計図です。
## 目次
@ -12,19 +12,19 @@
- [FROM (必須)](#from-必須)
- [llama2 からビルド](#llama2-からビルド)
- [バイナリ ファイルからビルド](#バイナリ-ファイルからビルド)
- [パラメータ](#パラメータ)
- [PARAMETER](#パラメータ)
- [有効なパラメータと値](#有効なパラメータと値)
- [テンプレート](#テンプレート)
- [TEMPLATE](#テンプレート)
- [テンプレート変数](#テンプレート変数)
- [システム](#システム)
- [アダプタ](#アダプタ)
- [ライセンス](#ライセンス)
- [メッセージ](#メッセージ)
- [SYSTEM](#システム)
- [ADAPTER](#アダプタ)
- [LICENSE](#ライセンス)
- [MESSAGE](#メッセージ)
- [ノート](#ノート)
## フォーマット
`Modelfile`のフォーマット:
`Modelfile` のフォーマット:
```modelfile
# comment
@ -33,11 +33,11 @@
| 指示 | 説明 |
| ----------------------------------- | -------------------------------------------------------------- |
| [`FROM`](#from-必須) (required) | ベースとするモデルを定義します。 |
| [`PARAMETER`](#パラメータ) | Ollamaがモデルを実行する方法のパラメータを設定します。 |
| [`TEMPLATE`](#テンプレート) | モデルに送信される完全なプロンプトテンプレート。 |
| [`FROM`](#from-必須) (必須) | ベースとするモデルを定義します。 |
| [`PARAMETER`](#パラメータ) | Ollama がモデルを実行する方法のパラメータを設定します。 |
| [`TEMPLATE`](#テンプレート) | モデルに 送信される完全なプロンプトテンプレート。 |
| [`SYSTEM`](#システム) | テンプレートに設定されるシステムメッセージを指定します。 |
| [`ADAPTER`](#アダプタ) | モデルに適用する(Q)LoRAアダプタを定義します。 |
| [`ADAPTER`](#アダプタ) | モデルに適用する (Q)LoRA アダプタを定義します。 |
| [`LICENSE`](#ライセンス) | 法的なライセンスを指定します。 |
| [`MESSAGE`](#メッセージ) | メッセージの履歴を指定します。 |
@ -51,7 +51,7 @@
FROM llama2
# 温度を1に設定します [高いほど創造的、低いほど一貫性があります]
PARAMETER temperature 1
# コンテキストウィンドウサイズを4096に設定します。これは、LLMが次のトークンを生成するためのコンテキストとして使用できるトークンの数を制御します。
# コンテキストウィンドウサイズを 4096 に設定します。これは、LLMが次のトークンを生成するためのコンテキストとして使用できるトークンの数を制御します。
PARAMETER num_ctx 4096
# チャットアシスタントの挙動を指定するためのカスタムシステムメッセージを設定します。
@ -65,19 +65,19 @@ To use this:
3. `ollama run choose-a-model-name`
4. モデルの使用を開始してください!
より多くの例は [examplesディレクトリ](../examples) にあります。
より多くの例は [examples ディレクトリ](../../examples) にあります。
### `Modelfile`s in [ollama.ai/library][1]
### `Modelfile`s in [ollama.com/library][1]
[ollama.ai/library][1] で提供されているモデルのベースとなっている `Modelfile` を見る方法は2つあります。
[ollama.com/library][1] で提供されているモデルのベースとなっている `Modelfile` を見る方法は2つあります。
- オプション1モデルのタグページから詳細ページを表示
1. 特定のモデルのタグページに移動しますhttps://ollama.ai/library/llama2/tags
2. タグをクリックしますhttps://ollama.ai/library/llama2:13b
1. 特定のモデルのタグページに移動しますhttps://ollama.com/library/llama2/tags
2. タグをクリックしますhttps://ollama.com/library/llama2:13b
3. "Layers" までスクロールします
- 注意:[`FROM` 指示](#from-必須)が存在しない場合、
それはモデルがローカルファイルから作成されたことを意味します。
- オプション2`ollama show`を使用して、次のようにローカルモデルの`Modelfile`を表示します:
- オプション2`ollama show` を使用して、次のようにローカルモデルの `Modelfile` を表示します:
```bash
> ollama show --modelfile llama2:13b
@ -86,7 +86,7 @@ To use this:
# FROM llama2:13b
FROM /root/.ollama/models/blobs/sha256:123abc
TEMPLATE """[INST] {{ if and .First .System }}<<SYS>>{{ .System }}<</SYS>>
TEMPLATE """[INST] {{ if .System }}<<SYS>>{{ .System }}<</SYS>>
{{ end }}{{ .Prompt }} [/INST] """
SYSTEM """"""
@ -139,52 +139,43 @@ PARAMETER <parameter> <parametervalue>
| mirostat_eta | アルゴリズムが生成されたテキストのフィードバックにどれくらい速く反応するかに影響を与えます。学習率が低いと調整が遅くなり、高い学習率はアルゴリズムをより敏感にします。デフォルト0.1 | float | mirostat_eta 0.1 |
| mirostat_tau | 出力の一貫性と多様性のバランスを制御します。低い値では、より焦点を当て、一貫したテキストが生成されます。デフォルト5.0 | float | mirostat_tau 5.0 |
| num_ctx | 次のトークンを生成するために使用されるコンテキストウィンドウのサイズを設定します。デフォルト2048 | int | num_ctx 4096 |
| num_gqa | トランスフォーマーレイヤー内のGQAGrouped Quantized Attentionグループの数。一部のモデルでは必須です。例えば、llama2:70bの場合、これは8です。 | int | num_gqa 1 |
| num_gpu | GPUに送信するレイヤーの数。macOSでは、Metalサポートを有効にするためにデフォルトで1に設定され、無効にする場合は0になります。 | int | num_gpu 50 |
| num_thread | 計算中に使用するスレッドの数を設定します。デフォルトでは、Ollamaはこれを最適なパフォーマンスのために検出します。お使いのシステムが持つ物理的なCPUコアの数にこの値を設定することが推奨されています論理的なコアの数ではなく。 | int | num_thread 8 |
| num_gqa | トランスフォーマーレイヤー内の GQAGrouped Quantized Attention グループの数。一部のモデルでは必須です。例えば、llama2:70b の場合、これは8です。 | int | num_gqa 1 |
| num_gpu | GPU に送信するレイヤーの数。macOS では、Metal サポートを有効にするためにデフォルトで 1に設定され、無効にする場合は 0になります。 | int | num_gpu 50 |
| num_thread | 計算中に使用するスレッドの数を設定します。デフォルトでは、Ollama はこれを最適なパフォーマンスのために検出します。お使いのシステムが持つ物理的な CPU コアの数にこの値を設定することが推奨されています(論理的なコアの数ではなく)。 | int | num_thread 8 |
| repeat_last_n | モデルが繰り返しを防ぐために遡る範囲を設定します。 (デフォルト: 64、0 = 無効、-1 = num_ctx) | int | repeat_last_n 64 |
| repeat_penalty | 繰り返しをどれだけ厳しく罰するかを設定します。より高い値(例: 1.5)は、繰り返しをより強く罰しますが、より低い値(例: 0.9)は寛大になります。 (デフォルト: 1.1) | float | repeat_penalty 1.1 |
| temperature | モデルの温度。温度を上げると、モデルの回答がより創造的になります。 (デフォルト: 0.8) | float | temperature 0.7 |
| seed | 生成に使用する乱数シードを設定します。これを特定の数値に設定すると、同じプロンプトに対してモデルが同じテキストを生成します。 (デフォルト: 0) | int | seed 42 |
| stop | 停止シーケンスを設定します。このパターンが検出されると、LLMはテキスト生成を停止して返します。複数の停止パターンを設定するには、モデルファイルで複数の別々の `stop` パラメータを指定します。 | string | stop "AI assistant:" |
| stop | 停止シーケンスを設定します。このパターンが検出されると、LLM はテキスト生成を停止して返します。複数の停止パターンを設定するには、モデルファイルで複数の別々の `stop` パラメータを指定します。 | string | stop "AI assistant:" |
| tfs_z | テイルフリーサンプリング (Tail free sampling) は、出力の確率が低いトークンの影響を軽減するために使用されます。より高い値2.0は、影響をより軽減しますが、1.0の値はこの設定を無効にします。 デフォルト1 | float | tfs_z 1 |
| num_predict | テキスト生成時に予測するトークンの最大数。 デフォルト128、-1 = 無限生成、-2 = コンテキストを埋める) | int | num_predict 42 |
| top_k | ナンセンスを生成する確率を低減させます。 より高い値100はより多様な回答を提供し、より低い値10はより保守的になります。 デフォルト40 | int | top_k 40 |
| top_p | top-kと連動します。より高い値0.95はより多様なテキストを生成し、より低い値0.5)はより焦点を絞り込み、保守的なテキストを生成します。 デフォルト0.9 | float | top_p 0.9 |
| top_p | top-k と連動します。より高い値0.95はより多様なテキストを生成し、より低い値0.5)はより焦点を絞り込み、保守的なテキストを生成します。 デフォルト0.9 | float | top_p 0.9 |
### テンプレート
モデルに渡すフルプロンプトの`TEMPLATE`。システムメッセージとユーザーのプロンプトをオプションで含むことができます。これはフルカスタムプロンプトを作成するために使用され、構文はモデルに固有の場合があります。通常、特定のモデルのテンプレートは、そのモデルのreadmeで見つけることができます。
`TEMPLATE` は、モデルに渡される完全なプロンプトテンプレートです。これには(オプションで)システムメッセージ、ユーザーのメッセージ、およびモデルからのレスポンスが含まれる場合があります。注:構文はモデルに固有のものです。テンプレートは Go の[テンプレート構文](https://pkg.go.dev/text/template)を使用します。
#### テンプレート変数
| 変数 | 説明 |
| ----------------- | ------------------------------------------------------------------------------------------------------------- |
| ----------------- | -------------------------------------------------------------------------------------- |
| `{{ .System }}` | カスタム動作を指定するために使用されるシステムメッセージ。 |
| `{{ .Prompt }}` | 着信プロンプト。これはモデルファイルには指定されず、入力に基づいて設定されます。 |
| `{{ .Response }}` | LLMからの応答。指定されていない場合、応答はテンプレートの末尾に追加されます。 |
| `{{ .First }}` | セッションの最初の生成に特定のテンプレート情報をレンダリングするために使用されるブール値。 |
| `{{ .Prompt }}` | ユーザープロンプトメッセージ。 |
| `{{ .Response }}` | モデルからのレスポンス。レスポンスを生成する場合、この変数以降のテキストは省略されます。 |
```modelfile
TEMPLATE """
{{- if .First }}
### System:
{{ .System }}
{{- end }}
### User:
{{ .Prompt }}
### Response:
```
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
"""
SYSTEM """<system message>"""
```
### システム
`SYSTEM`命令は、テンプレートで使用されるシステムメッセージを指定します。必要に応じて。
`SYSTEM` 命令は、テンプレートで使用されるシステムメッセージを指定します。必要に応じて。
```modelfile
SYSTEM """<system message>"""
@ -192,7 +183,7 @@ SYSTEM """<system message>"""
### アダプタ
`ADAPTER`命令は、ベースモデルに適用するLoRAアダプタを指定します。この命令の値は、Modelfileからの相対パスまたは絶対パスである必要があり、ファイルはGGMLファイル形式である必要があります。アダプタはベースモデルから調整されている必要があります。それ以外の場合、動作は未定義です。
`ADAPTER` 命令は、ベースモデルに適用する LoRA アダプタを指定します。この命令の値は、Modelfile からの相対パスまたは絶対パスである必要があり、ファイルは GGML ファイル形式である必要があります。アダプタはベースモデルから調整されている必要があります。それ以外の場合、動作は未定義です。
```modelfile
ADAPTER ./ollama-lora.bin
@ -200,7 +191,7 @@ ADAPTER ./ollama-lora.bin
### ライセンス
`LICENSE`命令は、このModelfileで使用されるモデルが共有または配布される際の法的なライセンスを指定するためのものです。
`LICENSE` 命令は、この Modelfile で使用されるモデルが共有または配布される際の法的なライセンスを指定するためのものです。
```modelfile
LICENSE """
@ -210,7 +201,7 @@ LICENSE """
### メッセージ
`MESSAGE`命令は、モデルが応答する際に使用するメッセージの履歴を指定するためのものです:
`MESSAGE` 命令は、モデルが応答する際に使用するメッセージの履歴を指定するためのものです:
```modelfile
MESSAGE user Is Toronto in Canada?
@ -223,7 +214,7 @@ MESSAGE assistant yes
## ノート
- the **`Modelfile` is not case sensitive**. In the examples, uppercase instructions are used to make it easier to distinguish it from arguments.
- Instructions can be in any order. In the examples, the `FROM` instruction is first to keep it easily readable.
- **`Modelfile`は大文字と小文字を区別しません**。例では、大文字の命令を使用していますが、これは引数と区別しやすくするためです。
- 命令は任意の順序で指定できます。例では、`FROM` 命令を最初に配置して読みやすさを保っています。
[1]: https://ollama.ai/library
[1]: https://ollama.com/library

141
docs/ja/openai.md Normal file
View File

@ -0,0 +1,141 @@
# OpenAI の互換性
> **注意:** OpenAI の互換性は実験的であり、大規模な変更や互換性のない変更が加えられる可能性があります。Ollama API のすべての機能を使用するには、Ollama の[Python ライブラリ](https://github.com/ollama/ollama-python)、[JavaScript ライブラリ](https://github.com/ollama/ollama-js)、および [REST API](https://github.com/jmorganca/ollama/blob/main/docs/api.md) を参照してください。
Ollama は、既存のアプリケーションを Ollama に接続するのに役立つよう、[OpenAI API](https://platform.openai.com/docs/api-reference) の一部との実験的な互換性を提供します。
## 使用法
### OpenAI Python ライブラリ
```python
from openai import OpenAI
client = OpenAI(
base_url='http://localhost:11434/v1/',
# 必須ですが無視されます
api_key='ollama',
)
chat_completion = client.chat.completions.create(
messages=[
{
'role': 'user',
'content': 'これはテストですと言う',
}
],
model='llama2',
)
```
### OpenAI JavaScript ライブラリ
```javascript
import OpenAI from 'openai'
const openai = new OpenAI({
baseURL: 'http://localhost:11434/v1/',
// 必須ですが無視されます
apiKey: 'ollama',
})
const chatCompletion = await openai.chat.completions.create({
messages: [{ role: 'user', content: 'これはテストですと言う' }],
model: 'llama2',
})
```
### `curl`
```
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama2",
"messages": [
{
"role": "system",
"content": "あなたは役に立つアシスタントです。"
},
{
"role": "user",
"content": "こんにちは!"
}
]
}'
```
## エンドポイント
### `/v1/chat/completions`
#### サポートされている機能
- [x] チャット補完
- [x] ストリーミング
- [x] JSON モード
- [x] 再現可能な出力
- [ ] ビジョン
- [ ] 関数の呼び出し
- [ ] ログプロブ
#### サポートされているリクエストフィールド
- [x] `model`
- [x] `messages`
- [x] テキスト `content`
- [ ] `content` の部分の配列
- [x] `frequency_penalty`
- [x] `presence_penalty`
- [x] `response_format`
- [x] `seed`
- [x] `stop`
- [x] `stream`
- [x] `temperature`
- [x] `top_p`
- [x] `max_tokens`
- [ ] `logit_bias`
- [ ] `tools`
- [ ] `tool_choice`
- [ ] `user`
- [ ] `n`
#### 注意事項
- `seed` を設定すると、常に `temperature``0` に設定されます。
- `finish_reason` は常に `stop` になります。
- プロンプト評価がキャッシュされている補完では、`usage.prompt_tokens``0` になります。
## モデル
モデルを使用する前に、ローカルにプルしてください `ollama pull`
```shell
ollama pull llama2
```
### デフォルトのモデル名
`gpt-3.5-turbo` などのデフォルトの OpenAI モデル名を使用するツールについては、既存のモデル名を一時的な名前にコピーするには `ollama cp` を使用してください:
```
ollama cp llama2 gpt-3.5-turbo
```
その後、この新しいモデル名を `model` フィールドで指定できます:
```shell
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "こんにちは!"
}
]
}'
```

View File

@ -1,19 +1,18 @@
# 問題のトラブルシューティング方法
時々、Ollamaが期待通りに機能しないことがあります。何が起こったかを理解する最良の方法の一つは、ログを確認することです。Mac上でログを見るには、次のコマンドを実行してください:
時々、Ollama が期待通りに機能しないことがあります。何が起こったのかを把握する最良の方法の 1つは、ログを確認することです。**Mac** でログを見つけるには、次のコマンドを実行します:
```shell
cat ~/.ollama/logs/server.log
```
`systemd`を使用しているLinuxシステムでは、次のコマンドでログを見つけることができます:
`systemd` を使用している **Linux** システムでは、次のコマンドでログを見つけることができます:
```shell
journalctl -u ollama
```
Ollamaをコンテナで実行する場合、ログはコンテナ内のstdout/stderrに送られます:
Ollama **コンテナ** で実行する場合、ログはコンテナ内の stdout/stderr に送られます:
```shell
docker logs <container-name>
@ -21,13 +20,25 @@ docker logs <container-name>
`docker ps` を使用してコンテナ名を見つけてください)
ターミナルで`ollama serve`を手動で実行する場合、ログはそのターミナル上に表示されます。
ターミナルで `ollama serve` を手動で実行する場合、ログはそのターミナル上に表示されます。
ログの解釈に関するヘルプは[Discord](https://discord.gg/ollama)に参加してください。
**Windows** 上で Ollama を実行する場合、いくつかの異なる場所があります。エクスプローラウィンドウでそれらを表示するには、`<cmd>+R` を押して次のコマンドを入力します:
- `explorer %LOCALAPPDATA%\Ollama`:ログを表示します
- `explorer %LOCALAPPDATA%\Programs\Ollama`:バイナリを参照します(インストーラーはこれをユーザーの PATH に追加します)
- `explorer %HOMEPATH%\.ollama`:モデルと設定が保存されている場所を表示します
- `explorer %TEMP%`:一時的な実行ファイルが 1つ以上の `ollama*` ディレクトリに保存されている場所を表示します
問題のトラブルシューティングを支援するために追加のデバッグログを有効にするには、まず **トレイメニューからアプリを終了** し、次に PowerShell ターミナルで次のコマンドを実行します:
```powershell
$env:OLLAMA_DEBUG="1"
& "ollama app.exe"
```
ログの解釈に関するヘルプは [Discord](https://discord.gg/ollama) に参加してください。
## LLM ライブラリ
Ollamaには、異なるGPUとCPUベクトル機能向けにコンパイルされた複数のLLMライブラリが含まれています。Ollamaは、システムの機能に基づいて最適なものを選択しようとします。この自動検出に問題があるか、他の問題GPUのクラッシュに遭遇した場合は、特定のLLMライブラリを強制的に指定することで回避できます。`cpu_avx2`が最も優れており、次に`cpu_avx`、最も互換性があるが最も遅いのが`cpu`です。MacOSのRosettaエミュレーションは`cpu`ライブラリと動作します。
Ollama には、異なる GPU CPU ベクトル機能向けにコンパイルされた複数の LLM ライブラリが含まれています。Ollama は、システムの機能に基づいて最適なものを選択しようとします。この自動検出に問題があるか、他の問題GPU のクラッシュ)に遭遇した場合は、特定の LLM ライブラリを強制的に指定することで回避できます。`cpu_avx2` が最も優れており、次に `cpu_avx`、最も互換性があるが最も遅いのが `cpu` です。MacOS Rosetta エミュレーションは `cpu` ライブラリと動作します。
サーバーログには、次のようなメッセージが表示されます(リリースによって異なります):
@ -35,20 +46,48 @@ Ollamaには、異なるGPUとCPUベクトル機能向けにコンパイルさ
Dynamic LLM libraries [rocm_v6 cpu cpu_avx cpu_avx2 cuda_v11 rocm_v5]
```
**実験的LLMライブラリのオーバーライド**
**実験的 LLM ライブラリのオーバーライド**
OLLAMA_LLM_LIBRARYを利用可能なLLMライブラリのいずれかに設定すると、自動検出をバイパスできます。たとえば、CUDAカードがあるがAVX2ベクトルサポートを持つCPU LLMライブラリを強制的に使用したい場合は、次のようにします:
OLLAMA_LLM_LIBRARY を利用可能な LLM ライブラリのいずれかに設定すると、自動検出をバイパスできます。たとえば、CUDA カードがあるが AVX2 ベクトルサポートを持つ CPU LLM ライブラリを強制的に使用したい場合は、次のようにします:
```
OLLAMA_LLM_LIBRARY="cpu_avx2" ollama serve
```
あなたのCPUがどの機能を持っているかは、以下の方法で確認できます。
あなたの CPU がどの機能を持っているかは、以下の方法で確認できます。
```
cat /proc/cpuinfo| grep flags | head -1
```
## 既知の問題
## AMD Radeon GPU サポート
* N/A
Ollama は AMD ROCm ライブラリを利用しており、すべての AMD GPU をサポートしているわけではありません。一部の場合、類似した LLVM ターゲットを試すようにシステムに強制することができます。たとえば、Radeon RX 5400 は `gfx1034`(別名 10.3.4ですが、ROCm は現在、このターゲットをサポートしていません。最も近いサポートは `gfx1030` です。環境変数 `HSA_OVERRIDE_GFX_VERSION``x.y.z` の構文で使用できます。たとえば、システムを RX 5400 で実行するように強制するには、サーバー用の環境変数として `HSA_OVERRIDE_GFX_VERSION="10.3.0"` を設定します。サポートされていない AMD GPU がある場合は、以下のサポートされているタイプのリストを使用して実験できます。
現時点では、以下の LLVM ターゲットが既知のサポートされている GPU タイプです。この表には、これらのLLVM ターゲットにマップされるいくつかの例の GPU が示されています:
| **LLVMターゲット** | **例のGPU** |
|-----------------|---------------------|
| gfx900 | Radeon RX Vega 56 |
| gfx906 | Radeon Instinct MI50 |
| gfx908 | Radeon Instinct MI100 |
| gfx90a | Radeon Instinct MI210 |
| gfx940 | Radeon Instinct MI300 |
| gfx941 | |
| gfx942 | |
| gfx1030 | Radeon PRO V620 |
| gfx1100 | Radeon PRO W7900 |
| gfx1101 | Radeon PRO W7700 |
| gfx1102 | Radeon RX 7600 |
AMD は、将来のリリースで ROCm v6 を拡張し、さらに多くの GPU をサポートする予定です。
追加のサポートが必要な場合は、[Discord](https://discord.gg/ollama) に連絡するか、[問題](https://github.com/ollama/ollama/issues)を報告してください。
## Linux での古いバージョンのインストール
Linux で問題が発生し、古いバージョンをインストールしたい場合は、インストールスクリプトにインストールするバージョンを指定できます。
```sh
curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION="0.1.27" sh
```

View File

@ -1,9 +1,9 @@
# チュートリアル
以下は、Ollamaを他のツールと組み合わせて興味深いアプリケーションを構築する方法のリストです。
以下は、Ollama を他のツールと組み合わせて興味深いアプリケーションを構築する方法のリストです。
- [JavaScriptでLangChainをOllamaと使用する方法](./tutorials/langchainjs.md)
- [PythonでLangChainをOllamaと使用する方法](./tutorials/langchainpy.md)
- [NVIDIA JetsonデバイスでOllamaを実行する方法](./tutorials/nvidia-jetson.md)
また、Ollamaのさらなる利用方法については、[examples](../examples) ディレクトリも確認してください。
また、Ollamaのさらなる利用方法については、[examples](../../examples) ディレクトリも確認してください。

View File

@ -1,6 +1,6 @@
# Running Ollama on Fly.io GPU Instances
Ollamaは、[Fly.io GPUインスタンス](https://fly.io/docs/gpus/gpu-quickstart/)上でほとんどまたはまったく設定なしで実行できます。まだGPUへのアクセス権がない場合は、[アクセスを申請](https://fly.io/gpu/)してウェイトリストに登録する必要があります。承認されると、開始手順が記載されたメールが届きます。
Ollama は、[Fly.io GPUインスタンス](https://fly.io/docs/gpus/gpu-quickstart/)上でほとんどまたはまったく設定なしで実行できます。まだ GPU へのアクセス権がない場合は、[アクセスを申請](https://fly.io/gpu/)してウェイトリストに登録する必要があります。承認されると、開始手順が記載されたメールが届きます。
新しいアプリを作成するには、`fly apps create` を使用します:
@ -73,7 +73,7 @@ $ ollama run openchat:7b-v3.5-fp16
自家製のチョコレートチップクッキーをお楽しみください!
```
これをこのように設定すると、使用が終わると自動的にオフになります。その後、再度アクセスすると、自動的にオンになります。これは、使用していないときにGPUインスタンスの費用を節約する素晴らしい方法です。Ollamaインスタンスに対する永続的なウェイクオンユース接続が必要な場合は、[WireGuardを使用したFlyネットワークへの接続を設定](https://fly.io/docs/reference/private-networking/#discovering-apps-through-dns-on-a-wireguard-connection)できます。その後、Ollamaインスタンスには `http://your-app-name.flycast` でアクセスできます。
これをこのように設定すると、使用が終わると自動的にオフになります。その後、再度アクセスすると、自動的にオンになります。これは、使用していないときに GPU インスタンスの費用を節約する素晴らしい方法です。Ollama インスタンスに対する永続的なウェイクオンユース接続が必要な場合は、[WireGuardを使用したFlyネットワークへの接続を設定](https://fly.io/docs/reference/private-networking/#discovering-apps-through-dns-on-a-wireguard-connection)できます。その後、Ollama インスタンスには `http://your-app-name.flycast` でアクセスできます。
以上で完了です!

View File

@ -1,10 +1,10 @@
# Using LangChain with Ollama using JavaScript
このチュートリアルでは、LangChainとOllamaを使用してJavaScriptを学び、少し新しい情報を得ることを目指します。2023年8月にマウイで発生した一連の山火事について学びます。その時点より前にトレーニングされたLLMは、トレーニングデータにそれよりも新しい情報が含まれていないため、これについて知ることはできません。したがって、[山火事に関するWikipediaの記事](https://en.wikipedia.org/wiki/2023_Hawaii_wildfires)を見つけ、その内容について質問してみましょう。
このチュートリアルでは、LangChain Ollama を使用して JavaScript を学び、少し新しい情報を得ることを目指します。2023年8月にマウイで発生した一連の山火事について学びます。その時点より前にトレーニングされたLLMは、トレーニングデータにそれよりも新しい情報が含まれていないため、これについて知ることはできません。したがって、[山火事に関するWikipediaの記事](https://en.wikipedia.org/wiki/2023_Hawaii_wildfires)を見つけ、その内容について質問してみましょう。
始めるために、単純な質問をモデルに尋ねるために **LangChain** を使ってみましょう。これをJavaScriptで行うためには、**LangChain** をインストールする必要があります:
始めるために、単純な質問をモデルに尋ねるために **LangChain** を使ってみましょう。これを JavaScript で行うためには、**LangChain** をインストールする必要があります:
さて、JavaScriptを構築し始めることができます
さて、JavaScript を構築し始めることができます:
```javascript
import { Ollama } from "langchain/llms/ollama";
@ -19,7 +19,7 @@ const answer = await ollama.call(`why is the sky blue?`);
console.log(answer);
```
これにより、ターミナルで `ollama run llama2 "why is the sky blue"` を実行したのと同じ結果が得られます。ただし、質問を尋ねるためにウェブからドキュメントを読み込みたいです。**Cheerio**はウェブページを取り込むための優れたライブラリで、**LangChain** では **CheerioWebBaseLoader** で使用されています。そのため、**Cheerio** をインストールしてアプリのその部分を構築しましょう。
これにより、ターミナルで `ollama run llama2 "why is the sky blue"` を実行したのと同じ結果が得られます。ただし、質問を尋ねるためにウェブからドキュメントを読み込みたいです。**Cheerio** はウェブページを取り込むための優れたライブラリで、**LangChain** では **CheerioWebBaseLoader** で使用されています。そのため、**Cheerio** をインストールしてアプリのその部分を構築しましょう。
```bash
npm install cheerio

View File

@ -4,13 +4,13 @@
> 申し訳ありませんが、私は大規模な言語モデルであり、現実に存在しない個人や家族に関する情報は提供できません。ネレウスは実在の人物やキャラクターではなく、そのため家族や他の個人的な詳細はありません。混乱を招いた場合は申し訳ありません。他にお手伝いできることはありますか?
これは典型的な検閲された回答のようですが、llama2-uncensoredでもまずまずの回答が得られます:
これは典型的な検閲された回答のようですが、llama2-uncensored でもまずまずの回答が得られます:
> ネレウスはピュロスの伝説的な王であり、アルゴナウタイの一人であるネストールの父でした。彼の母は海のニンフ、クリュメネで、父は海の神ネプチューンでした。
それでは、**LangChain**をOllamaと連携させ、Pythonを使用して実際の文書、ホメロスの『オデュッセイア』に質問する方法を考えてみましょう。
それでは、**LangChain** Ollama と連携させ、Python を使用して実際の文書、ホメロスの『オデュッセイア』に質問する方法を考えてみましょう。
まず、**Ollama**を使用して**Llama2**モデルから回答を取得できる簡単な質問をしてみましょう。まず、**LangChain**パッケージをインストールする必要があります:
まず、**Ollama** を使用して **Llama2** モデルから回答を取得できる簡単な質問をしてみましょう。まず、**LangChain** パッケージをインストールする必要があります:
`pip install langchain`
@ -23,9 +23,9 @@ model="llama2")
print(ollama("なぜ空は青いのか"))
```
モデルとOllamaの基本URLを定義していることに注意してください。
モデルと Ollama の基本 URL を定義していることに注意してください。
さて、質問を行うためのドキュメントをロードしてみましょう。私はホメロスの『オデュッセイア』を読み込みますが、これはProject Gutenbergで見つけることができます。**LangChain**の一部である**WebBaseLoader**が必要です。また、私のマシンではこれを動作させるために**bs4**もインストールする必要がありました。したがって、`pip install bs4`を実行してください。
さて、質問を行うためのドキュメントをロードしてみましょう。私はホメロスの『オデュッセイア』を読み込みますが、これは Project Gutenberg で見つけることができます。**LangChain** の一部である**WebBaseLoader** が必要です。また、私のマシンではこれを動作させるために **bs4** もインストールする必要がありました。したがって、`pip install bs4`を実行してください。
```python
from langchain.document_loaders import WebBaseLoader
@ -42,12 +42,12 @@ text_splitter=RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=0)
all_splits = text_splitter.split_documents(data)
```
分割はされていますが、関連する断片を見つけてからそれらをモデルに提出する必要があります。これを行うために、埋め込みを作成し、それらをベクトルデータベースに保存します。この例では、ベクトルデータベースとしてChromaDBを使用します。`pip install GPT4All chromadb` を実行してください。
分割されていますが、関連する分割を見つけて、それらをモデルに送信する必要があります。これを行うには、埋め込みを作成してそれらをベクトルデータベースに保存します。この例では、ベクトルデータベースとして ChromaDB を使用します。埋め込みモデルをインスタンス化するために、Ollama を直接使用できます。`pip install chromadb`
```python
from langchain.embeddings import OllamaEmbeddings
from langchain.vectorstores import Chroma
oembed = OllamaEmbeddings(base_url="http://localhost:11434", model="llama2")
oembed = OllamaEmbeddings(base_url="http://localhost:11434", model="nomic-embed-text")
vectorstore = Chroma.from_documents(documents=all_splits, embedding=oembed)
```
@ -66,7 +66,7 @@ len(docs)
```python
from langchain.chains import RetrievalQA
qachain=RetrievalQA.from_chain_type(ollama, retriever=vectorstore.as_retriever())
qachain({"query": question})
qachain.invoke({"query": question})
```
このチェーンから受け取った回答は以下の通りです:

View File

@ -1,12 +1,12 @@
# Running Ollama on NVIDIA Jetson Devices
いくつかの細かい設定で、Ollamaは[NVIDIA Jetsonデバイス](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/)でうまく動作します。以下は[JetPack 5.1.2](https://developer.nvidia.com/embedded/jetpack)でのテストが行われました。
いくつかの細かい設定で、Ollama [NVIDIA Jetsonデバイス](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/)でうまく動作します。以下は [JetPack 5.1.2](https://developer.nvidia.com/embedded/jetpack) でのテストが行われました。
NVIDIA Jetsonデバイスは、AIアプリケーション向けに特別に設計されたLinuxベースの組み込み型AIコンピュータです。
NVIDIA Jetson デバイスは、AIアプリケーション向けに特別に設計されたLinuxベースの組み込み型AIコンピュータです。
Jetsonにはメモリコントローラに直接接続された統合GPUがあります。このため、`nvidia-smi`コマンドは認識されず、Ollamaは「CPUのみ」モードで動作します。これは、jtopなどのモニタリングツールを使用して確認できます。
Jetson にはメモリコントローラに直接接続された統合 GPU があります。このため、`nvidia-smi` コマンドは認識されず、Ollama は「CPUのみ」モードで動作します。これは、jtop などのモニタリングツールを使用して確認できます。
これを解決するために、Jetsonの事前インストールされたCUDAライブラリのパスを単純に`ollama serve`に渡しますtmuxセッション内で。そして、ターゲットモデルのクローンに`num_gpu`パラメータをハードコードします。
これを解決するために、Jetson の事前インストールされた CUDA ライブラリのパスを単純に `ollama serve` に渡しますtmuxセッション内で。そして、ターゲットモデルのクローンに `num_gpu` パラメータをハードコードします。
事前に必要:
@ -15,22 +15,22 @@ Jetsonにはメモリコントローラに直接接続された統合GPUがあ
以下は手順です:
- 標準のLinuxコマンドを使用してOllamaをインストールします404エラーは無視してください`curl https://ollama.ai/install.sh | sh`
- Ollamaサービスを停止します`sudo systemctl stop ollama`
- `tmux`セッションでOllama serveを起動します。これを`ollama_jetson`というtmuxセッションとして開始し、CUDAライブラリのパスを参照します`tmux has-session -t ollama_jetson 2>/dev/null || tmux new-session -d -s ollama_jetson 'LD_LIBRARY_PATH=/usr/local/cuda/lib64 ollama serve'`
- 使用したいモデルmistralを取得します`ollama pull mistral`
- JetsonでGPUサポートを有効にするための新しいModelfileを作成します`touch ModelfileMistralJetson`
- ModelfileMistralJetsonファイルで、以下に示すようにFROMモデルとnum_gpu PARAMETERを指定します
- 標準の Linux コマンドを使用して Ollama をインストールします404 エラーは無視してください):`curl https://ollama.com/install.sh | sh`
- Ollama サービスを停止します:`sudo systemctl stop ollama`
- `tmux`セッションで Ollama serve を起動します。これを`ollama_jetson`という tmux セッションとして開始し、CUDA ライブラリのパスを参照します:`tmux has-session -t ollama_jetson 2>/dev/null || tmux new-session -d -s ollama_jetson 'LD_LIBRARY_PATH=/usr/local/cuda/lib64 ollama serve'`
- 使用したいモデルmistral )を取得します:`ollama pull mistral`
- Jetson GPU サポートを有効にするための新しい Modelfile を作成します:`touch ModelfileMistralJetson`
- ModelfileMistralJetson ファイルで、以下に示すように FROM モデルと num_gpu PARAMETER を指定します:
```
FROM mistral
PARAMETER num_gpu 999
```
- Modelfileから新しいモデルを作成します`ollama create mistral-jetson -f ./ModelfileMistralJetson`
- Modelfile から新しいモデルを作成します:`ollama create mistral-jetson -f ./ModelfileMistralJetson`
- 新しいモデルを実行します:`ollama run mistral-jetson`
jtopなどのモニタリングツールを実行すると、OllamaがJetsonの統合GPUを使用していることが確認できるはずです。
jtop などのモニタリングツールを実行すると、Ollama Jetson の統合 GPU を使用していることが確認できるはずです。
以上で完了です!

38
docs/ja/windows.md Normal file
View File

@ -0,0 +1,38 @@
# Ollama Windows プレビュー
Ollama Windows プレビューへようこそ。
WSL はもう必要ありません!
Ollama は今やネイティブの Windows アプリケーションとして動作し、NVIDIA および AMD Radeon GPU をサポートしています。
Ollama Windows Preview をインストールした後、Ollama はバックグラウンドで実行され、
`cmd``powershell`、またはお気に入りのターミナルアプリケーションで `ollama` コマンドラインが利用可能になります。通常どおり、Ollamaの [API](./api.md) は `http://localhost:11434` で提供されます。
これはプレビューリリースなので、そこかしこにいくつかのバグがあることを予想してください。問題が発生した場合は、[Discord](https://discord.gg/ollama) で連絡するか、[issue](https://github.com/ollama/ollama/issues) を報告してください。
問題を診断するのにログはしばしば役立ちます(以下の [トラブルシューティング](#トラブルシューティング) を参照)。
## システム要件
* Windows 10 以降、Home または Pro
* NVIDIA カードをお持ちの場合は、NVIDIA 452.39 またはそれ以降のドライバ
* Radeon カードをお持ちの場合は、AMD Radeon ドライバ [こちら](https://www.amd.com/en/support) からダウンロード
## API アクセス
こちらは `powershell` からの API アクセスのクイックな例です。
```powershell
(Invoke-WebRequest -method POST -Body '{"model":"llama2", "prompt":"Why is the sky blue?", "stream": false}' -uri http://localhost:11434/api/generate ).Content | ConvertFrom-json
```
## トラブルシューティング
プレビュー中は、常に `OLLAMA_DEBUG` が有効になっています。これにより、アプリケーションのメニューに "view logs" メニューアイテムが追加され、GUI アプリケーションおよびサーバーのログが増えます。
Windows上 の Ollama はいくつかの異なる場所にファイルを保存します。エクスプローラーウィンドウでこれらを表示するには、`<cmd>+R` を押して次のように入力します:
- `%LOCALAPPDATA%\Ollama` には、ログとダウンロードされたアップデートが含まれます
- *app.log* には、GUI アプリケーションのログが含まれます
- *server.log* には、サーバーのログが含まれます
- *upgrade.log* には、アップグレードのログ出力が含まれます
- `%LOCALAPPDATA%\Programs\Ollama` には、バイナリが含まれます(インストーラーはこれをユーザーの PATH に追加します)
- `%HOMEPATH%\.ollama` には、モデルと構成が含まれます
- `%TEMP%` には、1つ以上の `ollama*` ディレクトリに一時的な実行ファイルが含まれます