diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-08-26 19:23:40 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-08-26 19:23:40 +0900 |
| commit | b495dde6810882efc8481ebebd22ff26a6afb902 (patch) | |
| tree | c255e809c8b4bc23341cd04c8f2d90020e733bda /src/ollama_web/prompts | |
| parent | 33f6b4dbb69e9366e312a8b44dbed9d22e7cba5b (diff) | |
fix(tools): PDFの会話間継続をトークン単独で再開可能にする
長いPDFを複数会話に分けて取得する際、モデルがurl_or_pathを省略したり、過去の添付IDや古い継続トークンを組み合わせたりして、先頭または以前のページへ戻る問題を改善する。PDFカーソル自体は正しく進んでいたため、汎用LLM層やセッション形式を変更せず、pdf_to_textの入出力契約だけを明確化する。
- continue_fromを自己完結した再開情報として扱い、PDFソース、ページ番号、ページ内文字位置をトークンから復元
- 継続時はurl_or_pathを省略可能にし、競合する値が渡されてもトークン内のソースを優先
- Ollama生成スキーマでもurl_or_pathを任意にして、continue_from単独のツール呼び出しを許可
- 未完了結果へ最新トークン、旧トークンの置換、単独再開、上限時の保持を表すPDF専用メタデータを追加
- 継続メタデータを固定キーと真偽値で表現し、会話言語に依存しない形式へ統一
- 無効トークン時は先頭再試行を禁止し、直前の最新トークンを再利用する機械可読情報を返却
- メタデータをpage-info側へ配置して本文連結を汚さず、結果全体を6000文字以内に再調整
- llm.py、チャット処理、セッションJSON、scrape_url、search_and_fetch、MCPツールは変更しない
検証:
- pytest: 132 passed
- ruff check: passed
- mypy src: passed
- 1463891.1463912.pdf: 12ページ、52577文字をcontinue_from単独の10回で完全再構成
- 指定PDFの最大ツール結果長はメタデータ込み5992文字
Diffstat (limited to 'src/ollama_web/prompts')
0 files changed, 0 insertions, 0 deletions
