🙂
mastraをgranite3.2で実行してみた
mastraとは
mastra.aiより
Mastra は、AI アプリケーションと機能を迅速に構築するのに役立つ、独自の TypeScript フレームワークです。ワークフロー、エージェント、RAG、統合、評価など、必要なプリミティブのセットを提供します。Mastra は、ローカル マシンで実行することも、サーバーレス クラウドにデプロイすることもできます。
前提条件
- ollamaの環境
- nodeの実行環境
構成
- Ryzen3700X
- mem 32G
- RTX2070super
- win11
動作手順
- ollamaのインストール
2. ollamaをダウンロードしてください。 - Granite3.2のインストール
4.ollama run granite3.2:8b
を実行してください。 - mastraのインストール
6.npx create-mastra@latest
を実行
providerはあとで変更するのでそのままでもいい
npm run dev
を実行して実行できるか確認。 - ollama-providerのインストール
8.npm install ollama-ai-provider
を実行して、ollamaoroviderをインストール - デモコードの修正
10.srs\mastra\agents\index.ts
のimport{ OpenAI }の1文を、import { ollama } from '@ai-sdk/ollama-ai-provider';
のように変更(from文は環境に合わせて)
11. .env.developmentを次のように修正OLLAMA_BASE_URL=http://localhost:11434/api/v1 ```のように変更(URLは環境に合わせて)
- 実行
11. 次のコードを実行
$body = @{ messages = @("What is the weather in London?") } | ConvertTo-Json; Invoke-WebRequest -Uri "http://localhost:4111/api/agents/weatherAgent/generate" -Method Post -ContentType "application/json" -Body $body
出力例
StatusCode : 200
StatusDescription : OK
Content : {"text":"The current weather in London is 15°C with partly cloudy skies. Humidity is at 60%, and
winds are light at 7 km/h. No significant precipitation is expected.","reasoningDetails":[],"toolCa
lls...
RawContent : HTTP/1.1 200 OK
access-control-allow-origin: *
access-control-expose-headers: Content-Length,X-Requested-With
Connection: keep-alive
Keep-Alive: timeout=5
Content-Length: 4084
Content-Type: appl...
Forms : {}
Headers : {[access-control-allow-origin, *], [access-control-expose-headers, Content-Length,X-Requested-With]
, [Connection, keep-alive], [Keep-Alive, timeout=5]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength : 4084
Discussion