LlamaInterface
GDExtension C++
Interfaz de bajo nivel para llama.cpp. Carga modelos GGUF y gestione su ciclo de vida.
// Herencia
RefCounted → LlamaInterface
// Descripcion
LlamaInterface proporciona una API de bajo nivel para cargar modelos de lenguaje en formato GGUF usando la librería llama.cpp. Esta clase maneja la inicialización del backend, carga de modelos, gestión de memoria y contexto de inferencia.
Es la base sobre la cual se construyen los componentes de más alto nivel como AIService y DialogueManager.
Uso Recomendado
Para la mayoría de casos, usar AIService en lugar de instanciar LlamaInterface directamente:
# Forma recomendada - usar AIService singleton
var ai_service := AIService.get_singleton()
if ai_service and ai_service.is_model_loaded():
# El modelo ya está disponible globalmente
pass
# Forma directa (bajo nivel) - instanciar LlamaInterface
var llama := LlamaInterface.new()
llama.load_model("res://models/model.gguf")
AIService gestiona el ciclo de vida del modelo, integra con ModelManager para descarga de modelos, y proporciona señales para cambios de estado.
// Metodos
| Retorno | Metodo |
|---|---|
| Error | load_model(path: String, params: Dictionary = {}) |
| void | unload_model() |
| bool | is_model_loaded() const |
| Dictionary | get_model_info() const |
| String | get_model_path() const |
| String | get_system_info() const |
| String | get_chat_template() const |
| String | apply_chat_template(messages: Array, add_generation_prompt: bool = true) |
| int | count_tokens(text: String) const |
Generacion de Texto
| Retorno | Metodo |
|---|---|
| String | generate(prompt: String) |
| void | generate_async(prompt: String) |
| void | generate_streaming(prompt: String) |
Control de Generacion Asincrona
| Retorno | Metodo |
|---|---|
| bool | is_generating() const |
| float | get_generation_progress() const |
| void | cancel_generation() |
Descripciones de Metodos
load_model
Error load_model(path: String, params: Dictionary = {})
Carga un modelo GGUF desde la ruta especificada.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| path | String | Ruta al archivo .gguf. Soporta res:// y user:// |
| params | Dictionary | Parámetros opcionales de configuración |