sample\iron\sample_ai.hsp » Plain Format
;============================================================
; iron_ai サンプル: OpenAI / ローカル LLM チャット
;
; このサンプルでは Ollama (http://localhost:11434) を想定。
; 起動していなければ環境を変えて試してください。
;
; Ollama 以外の例 (key を必要なら設定):
; OpenAI: iron_ai_set_endpoint "https://api.openai.com/v1"
; iron_ai_set_key "sk-..."
; iron_ai_set_model "gpt-4o-mini"
; LM Studio: endpoint="http://localhost:1234/v1" model="local-model"
; GitHub Models:
; endpoint="https://models.inference.ai.azure.com" key=GITHUB_TOKEN
;============================================================
#include "hsp3_net_64.as"
#include "iron_ai.hsp"
title "iron_ai サンプル — ローカル LLM チャット"
screen 0, 720, 540
font "MS Gothic", 14
; ----- 初期設定 -----
; デフォルトは Ollama 想定 (key 不要)
iron_ai_set_endpoint "http://localhost:11434/v1"
iron_ai_set_model "llama3.2"
iron_ai_set_system "あなたは親切な日本語アシスタントです。簡潔に答えてください。"
iron_ai_set_max_tokens 256
iron_ai_set_temperature 70 ; 0.7
mes "==== iron_ai chat sample ===="
mes ""
mes "endpoint: http://localhost:11434/v1 (Ollama)"
mes "model: llama3.2"
mes ""
mes "下のテキストボックスに質問を入力 → Send"
mes "(Ollama を起動していない場合はエラーになります)"
mes ""
pos 10, 130
objsize 600, 24
sdim user_msg, 1024
user_msg = "HSP3 とは何ですか? 1行で。"
input user_msg, 1023, 1, 24
pos 620, 130
objsize 80, 24
button gosub "Send", *do_send
pos 10, 170
mes "----- 履歴 -----"
pos 10, 195
sdim log_text, 16384
log_text = ""
mesbox log_text, 700, 320, 4
stop
*do_send
objprm 0, user_msg
if strlen(user_msg) = 0 : return
; ログに user 行を追記
log_text = log_text + "[user] " + user_msg + "\n"
objprm 2, log_text
; AI 呼び出し
sdim reply, 4096
iron_ai_chat user_msg, reply
if stat ! 200 {
log_text = log_text + "[error] HTTP " + stat + " — Ollama 起動確認 / endpoint 設定確認\n\n"
objprm 2, log_text
return
}
log_text = log_text + "[ai] " + reply + "\n\n"
objprm 2, log_text
; 入力をクリア
user_msg = ""
objprm 0, user_msg
return