適用前に確認
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
最大128文字のContent-Lengthフィールド1–16個をゼロから2147483647の一致した値へまとめてください。
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
コンマ区切り、先頭ゼロ、空白とタブを試し、空要素、符号、改行、不一致を拒否し、完全なHTTPフレーム検証とは主張しないでください。
import re
def agreed_content_length(fields):
if type(fields) is not list or not 1 <= len(fields) <= 16:
raise ValueError("length.fields")
result = None
for field in fields:
if type(field) is not str or len(field) > 128:
raise ValueError("length.field")
for item in field.split(","):
token = item.strip(" \t")
if re.fullmatch(r"[0-9]+", token) is None:
raise ValueError("length.digits")
value = int(token)
if value > 2147483647 or (result is not None and value != result):
raise ValueError("length.agreement")
result = value
return result
Lenioraは、受信するプロトコルフィールドからアプリケーションの判断に至るコードを保守するWindows向けAIコーディング環境です。関連ソースのフォルダーを開き、実施したい受理規則を示してください。緩和や整理を提案する前に、フィールドのパーサーと呼び出し側を接続したモデルに一緒に調べてもらいます。
作業例としてcontent_length.pyの重複するContent-Length値を扱えます。一致する十進数値の集合と、矛盾する集合をそれぞれの期待する応答とともに提示します。空白、数値構文、上限の変更をレビューしてください。小さく見える解析の変更でも、受理する入力の仕様を広げる可能性があります。
解析結果を使うコードまでレビューを続けてください。プロジェクトのテスト例を実行し、本文処理へ進む前に拒否がどう扱われるか確認します。この限定的な方針とHTTP実装全体についての主張は分けてください。目指すのは、実際に必要なアプリケーションの動作に照らして評価できる変更です。
モデルの支援には対応するOpenAI互換またはAnthropicのエンドポイントを選び、必要なら認証情報を使います。無検閲AIモデルを選べる場合がありますが、実際の制限はプロバイダーが決めます。利用できるツールとコンテキスト容量はモデルとサーバーに依存します。精密なテスト例が、その限界内で具体的な検討を支えます。
プロジェクトが実装する受理方針によります。例では提示された十進数値すべての一致を要求します。変更前に周辺のプロトコル処理を確認し、会話用に一致と矛盾の両方のテスト例を期待結果とともに用意してください。
まず符号や別の数値表記など、追加で受理する形式を調べてください。便利な変換関数が文法を広げる場合があります。解析コードが短いことを同じ意味の証拠とせず、受理動作の明示的な比較をモデルに求めます。
パーサーの結果を呼び出し側まで追い、必要な失敗時の応答を示してください。矛盾する値の一つを任意に使って本文処理が進めないことを確認します。プロジェクトでその経路を実行してください。単独の例外だけでは周囲の制御フローは分かりません。
スペースとタブを説明した正確なフィールド文字列と、受理するかどうかの期待値を提示してください。対象の文字が隠れる例は避けます。より寛容な正規化を採用する前に、明示した除去規則とテスト例を比較します。
Leniora · 更新日 2026-10-25