ドキュメント
モデル情報
コンテキスト長を取得
モデルの最大コンテキスト長を取得するAPI。
LLM(大規模言語モデル)および埋め込みモデルは、その基本的なアーキテクチャにより、コンテキスト長、より具体的には最大コンテキスト長というプロパティを持っています。これは、モデルがテキストや埋め込みを生成する際に「メモリに保持できる」トークンの数です。この制限を超えると、モデルの動作が不安定になります。
get_context_length() 関数を使用しますモデルのコンテキスト長をチェックできることは、特にモデルに長文の入力を与える前に、追加の確認として役立ちます。
context_length = model.get_context_length()
上記のコードスニペットの model は、llm.model メソッドから取得したロード済みのモデルのインスタンスです。詳細については、メモリ内のモデルを管理する を参照してください。
以下の手順で、指定された会話がモデルのコンテキストに収まるかどうかを確認できます。
import lmstudio as lms
def does_chat_fit_in_context(model: lms.LLM, chat: lms.Chat) → bool:
# Convert the conversation to a string using the prompt template.
formatted = model.apply_prompt_template(chat)
# Count the number of tokens in the string.
token_count = len(model.tokenize(formatted))
# Get the current loaded context length of the model
context_length = model.get_context_length()
return token_count < context_length
model = lms.llm()
chat = lms.Chat.from_history({
"messages": [
{ "role": "user", "content": "What is the meaning of life." },
{ "role": "assistant", "content": "The meaning of life is..." },
# ... More messages
]
})
print("Fits in context:", does_chat_fit_in_context(model, chat))
このページのソースは GitHub で入手できます。