Transformers documentation
IQuestCoder
Este modelo fue aportado a Hugging Face Transformers el 2026-11-12.
IQuestCoder
IQuest-Coder-V1 es una familia de modelos de lenguaje de código desarrollada por IQuest Lab, disponible en tamaños de 7B, 14B y 40B, con variantes base, instruct y thinking. Su arquitectura es la misma que la de Llama.
Los puntos de control
IQuest-Coder-V1-*-Loop-*en bucle utilizan una arquitectura diferente y no son compatibles con este modelo.
El tokenizador se construye a partir del modelo SentencePiece de los checkpoints. Muchas de sus piezas comparten la misma puntuación, y SentencePiece resuelve esos empates por posición, algo que la biblioteca
tokenizersno puede reproducir, por lo que una pequeña fracción de los textos se tokenizan de manera diferente al código remoto original.
Las clases automáticas lo cargan con la implementación de Llama (LlamaModel y LlamaForCausalLM), por lo que solo IQuestCoderConfig es específico de IQuestCoder.
El siguiente ejemplo demuestra cómo generar texto con la clase AutoModelForCausalLM.
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("IQuestLab/IQuest-Coder-V1-7B-Instruct")
model = AutoModelForCausalLM.from_pretrained("IQuestLab/IQuest-Coder-V1-7B-Instruct", device_map="auto")
messages = [{"role": "user", "content": "Write a Python function that checks whether a number is prime."}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt", return_dict=True)
output = model.generate(**inputs.to(model.device), max_new_tokens=128)
print(tokenizer.decode(output[0][inputs["input_ids"].shape[1] :], skip_special_tokens=True))IQuestCoderConfig
clase transformers.IQuestCoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 76800hidden_size: int = 5120intermediate_size: int = 27648num_hidden_layers: int = 80num_attention_heads: int = 40num_key_value_heads: int | None = 8hidden_act: str = 'silu'max_position_embeddings: int = 131072initializer_range: float = 0.02rms_norm_eps: float = 1e-05use_cache: bool = Truepad_token_id: int | None = Nonebos_token_id: int | None = 1eos_token_id: int | list[int] | None = 2tie_word_embeddings: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneattention_bias: bool = Falseattention_dropout: float | int = 0.0mlp_bias: bool = Falsehead_dim: int | None = 128 )
Parámetros
- vocab_size (
int, opcional, valor predeterminado76800) — Tamaño del vocabulario del modelo. Define el número de tokens diferentes que pueden representarse medianteinput_ids. - hidden_size (
int, opcional, valor predeterminado5120) — Dimensión de las representaciones ocultas. - intermediate_size (
int, opcional, valor predeterminado27648) — Dimensión de las representaciones del MLP. - num_hidden_layers (
int, opcional, valor predeterminado80) — Número de capas ocultas en el decodificador Transformer. - num_attention_heads (
int, opcional, valor predeterminado40) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer. - num_key_value_heads (
int, opcional, valor predeterminado8) — Este es el número de cabezas key_value que se deben utilizar para implementar Grouped Query Attention. Sinum_key_value_heads=num_attention_heads, el modelo utilizará Multi Head Attention (MHA); sinum_key_value_heads=1, el modelo utilizará Multi Query Attention (MQA); en caso contrario, se utilizará GQA. Al convertir un checkpoint multi-head en un checkpoint GQA, cada cabeza de clave y valor del grupo debe construirse mediante el promediado (meanpooling) de todas las cabezas originales dentro de ese grupo. Para más detalles, consulta este artículo. Si no se especifica, el valor predeterminado seránum_attention_heads. - hidden_act (
str, opcional, valor predeterminadosilu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo,"gelu","relu","silu", etc. - max_position_embeddings (
int, opcional, valor predeterminado131072) — La longitud máxima de secuencia con la que podría utilizarse este modelo. - initializer_range (
float, opcional, valor predeterminado0.02) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos. - rms_norm_eps (
float, opcional, valor predeterminado1e-05) — La epsilon utilizada por las capas de normalización rms. - use_cache (
bool, opcional, valor predeterminadoTrue) — Indica si el modelo debe devolver las últimas claves/valores de atención (no utilizado por todos los modelos). Solo es relevante siconfig.is_decoder=Trueo cuando el modelo es un modelo generativo solo de decodificador. - pad_token_id (
int, opcional) — Id del token utilizado para el relleno en el vocabulario. - bos_token_id (
int, opcional, valor predeterminado1) — Id del token utilizado para el inicio de la secuencia en el vocabulario. - eos_token_id (
Union[int, list[int]], opcional, valor predeterminado2) — Identificador de token utilizado para el fin de secuencia en el vocabulario. - tie_word_embeddings (
bool, opcional, valor predeterminadoFalse) — Si se deben vincular las matrices de pesos de embeddings según el mapeotied_weights_keysdel modelo. - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], opcional) — Diccionario que contiene los parámetros de configuración para las incrustaciones RoPE. El diccionario debe contener un valor pararope_thetay, opcionalmente, parámetros utilizados para el escalado en caso de que desee usar RoPE conmax_position_embeddingsmás largos. - attention_bias (
bool, opcional, valor predeterminadoFalse) — Si se debe usar un sesgo en las capas de proyección de consulta, clave, valor y salida durante la autoatención. - attention_dropout (
Union[float, int], opcional, valor predeterminado0.0) — La proporción de dropout para las probabilidades de atención. - mlp_bias (
bool, opcional, valor predeterminadoFalse) — Si se debe usar un sesgo en las capas up_proj, down_proj y gate_proj de las capas MLP. - head_dim (
int, opcional, valor predeterminado128) — La dimensión de la cabeza de atención. Si es None, se establecerá en hidden_size // num_attention_heads
Esta es la clase de configuración para almacenar la configuración de un LlamaModel. Se utiliza para instanciar un modelo Iquestcoder según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de IQuestLab/IQuest-Coder-V1-40B-Instruct
Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.
>>> from transformers import AutoModelForCausalLM, IQuestCoderConfig
>>> # Initializing an IQuest-Coder-V1-40B style configuration
>>> configuration = IQuestCoderConfig()
>>> # Initializing a model (which uses the Llama implementation) from that configuration
>>> model = AutoModelForCausalLM.from_config(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config