HuggingFaceLLM#
- pydantic model llama_index.llms.huggingface.HuggingFaceLLM#
HuggingFace LLM.
Show JSON schema
{ "title": "HuggingFaceLLM", "description": "HuggingFace LLM.", "type": "object", "properties": { "callback_manager": { "title": "Callback Manager" }, "system_prompt": { "title": "System Prompt", "description": "The system prompt, containing any extra instructions or context. The model card on HuggingFace should specify if this is needed.", "default": "", "type": "string" }, "messages_to_prompt": { "title": "Messages To Prompt" }, "completion_to_prompt": { "title": "Completion To Prompt" }, "output_parser": { "title": "Output Parser" }, "pydantic_program_mode": { "default": "default", "allOf": [ { "$ref": "#/definitions/PydanticProgramMode" } ] }, "query_wrapper_prompt": { "title": "Query Wrapper Prompt" }, "model_name": { "title": "Model Name", "description": "The model name to use from HuggingFace. Unused if `model` is passed in directly.", "default": "StabilityAI/stablelm-tuned-alpha-3b", "type": "string" }, "context_window": { "title": "Context Window", "description": "The maximum number of tokens available for input.", "default": 3900, "exclusiveMinimum": 0, "type": "integer" }, "max_new_tokens": { "title": "Max New Tokens", "description": "The maximum number of tokens to generate.", "default": 256, "exclusiveMinimum": 0, "type": "integer" }, "tokenizer_name": { "title": "Tokenizer Name", "description": "The name of the tokenizer to use from HuggingFace. Unused if `tokenizer` is passed in directly.", "default": "StabilityAI/stablelm-tuned-alpha-3b", "type": "string" }, "device_map": { "title": "Device Map", "description": "The device_map to use. Defaults to 'auto'.", "default": "auto", "type": "string" }, "stopping_ids": { "title": "Stopping Ids", "description": "The stopping ids to use. Generation stops when these token IDs are predicted.", "type": "array", "items": { "type": "integer" } }, "tokenizer_outputs_to_remove": { "title": "Tokenizer Outputs To Remove", "description": "The outputs to remove from the tokenizer. Sometimes huggingface tokenizers return extra inputs that cause errors.", "type": "array", "items": {} }, "tokenizer_kwargs": { "title": "Tokenizer Kwargs", "description": "The kwargs to pass to the tokenizer.", "type": "object" }, "model_kwargs": { "title": "Model Kwargs", "description": "The kwargs to pass to the model during initialization.", "type": "object" }, "generate_kwargs": { "title": "Generate Kwargs", "description": "The kwargs to pass to the model during generation.", "type": "object" }, "is_chat_model": { "title": "Is Chat Model", "description": "Set True if the model exposes a chat interface (i.e. can be passed a sequence of messages, rather than text), like OpenAI's /v1/chat/completions endpoint. Be sure to verify that you either pass an appropriate tokenizer that can convert prompts to properly formatted chat messages or a `messages_to_prompt` that does so.", "default": false, "type": "boolean" }, "class_name": { "title": "Class Name", "type": "string", "default": "HuggingFace_LLM" } }, "definitions": { "PydanticProgramMode": { "title": "PydanticProgramMode", "description": "Pydantic program mode.", "enum": [ "default", "openai", "llm", "guidance", "lm-format-enforcer" ], "type": "string" } } }
- Config
arbitrary_types_allowed: bool = True
- Fields
- Validators
_validate_callback_manager
»callback_manager
set_completion_to_prompt
»completion_to_prompt
set_messages_to_prompt
»messages_to_prompt
- field context_window: int = 3900#
The maximum number of tokens available for input.
- Constraints
exclusiveMinimum = 0
- field device_map: str = 'auto'#
The device_map to use. Defaults to ‘auto’.
- field generate_kwargs: dict [Optional]#
The kwargs to pass to the model during generation.
- field is_chat_model: bool = False#
Set True if the model exposes a chat interface (i.e. can be passed a sequence of messages, rather than text), like OpenAI’s /v1/chat/completions endpoint. Be sure to verify that you either pass an appropriate tokenizer that can convert prompts to properly formatted chat messages or a messages_to_prompt that does so.
- field max_new_tokens: int = 256#
The maximum number of tokens to generate.
- Constraints
exclusiveMinimum = 0
- field model_kwargs: dict [Optional]#
The kwargs to pass to the model during initialization.
- field model_name: str = 'StabilityAI/stablelm-tuned-alpha-3b'#
The model name to use from HuggingFace. Unused if model is passed in directly.
- field query_wrapper_prompt: PromptTemplate = PromptTemplate(metadata={'prompt_type': <PromptType.CUSTOM: 'custom'>}, template_vars=['query_str'], kwargs={}, output_parser=None, template_var_mappings=None, function_mappings=None, template='{query_str}')#
The query wrapper prompt, containing the query placeholder. The model card on HuggingFace should specify if this is needed. Should contain a {query_str} placeholder.
- field stopping_ids: List[int] [Optional]#
The stopping ids to use. Generation stops when these token IDs are predicted.
- field system_prompt: str = ''#
The system prompt, containing any extra instructions or context. The model card on HuggingFace should specify if this is needed.
- field tokenizer_kwargs: dict [Optional]#
The kwargs to pass to the tokenizer.
- field tokenizer_name: str = 'StabilityAI/stablelm-tuned-alpha-3b'#
The name of the tokenizer to use from HuggingFace. Unused if tokenizer is passed in directly.
- field tokenizer_outputs_to_remove: list [Optional]#
The outputs to remove from the tokenizer. Sometimes huggingface tokenizers return extra inputs that cause errors.
- chat(messages: Sequence[ChatMessage], **kwargs: Any) Any #
Chat endpoint for LLM.
- classmethod class_name() str #
Get the class name, used as a unique ID in serialization.
This provides a key that makes serialization robust against actual class name changes.
- complete(*args: Any, **kwargs: Any) Any #
Completion endpoint for LLM.
- stream_chat(messages: Sequence[ChatMessage], **kwargs: Any) Any #
Streaming chat endpoint for LLM.
- stream_complete(*args: Any, **kwargs: Any) Any #
Streaming completion endpoint for LLM.
- property metadata: LLMMetadata#
LLM metadata.