ac_chat_local() cria um Chat do ellmer apontando para um servidor
local compativel com a API da OpenAI – LM Studio, llama.cpp
(llama-server), vLLM, Ollama em modo OpenAI, etc. – sem exigir uma
chave de API real.
Classificar com um modelo local (via ac_qual_code()) elimina o custo
por token e mantem os documentos fora de qualquer rede externa, ao
preco de gerência propria do servidor: tamanho de contexto, tempo de
resposta e throughput passam a depender do hardware local. Use junto
com checkpoint_dir e max_retries em ac_qual_code() para rodadas
longas, e ac_estimate_tokens() para evitar estouro de contexto.
Usage
ac_chat_local(
model,
base_url = "http://localhost:1234/v1",
api = c("chat_completions", "responses"),
temperature = NULL,
system_prompt = NULL,
...
)Arguments
- model
Nome/identificador do modelo como o servidor local o reconhece (ex.: o nome exibido pelo LM Studio, ou o
--modelpassado aollama-server).- base_url
URL base do servidor OpenAI-compatible. Padrao:
"http://localhost:1234/v1"(porta padrao do LM Studio).- api
Qual API o servidor expoe:
"chat_completions"(padrao – a maioria dos servidores locais: LM Studio, llama.cpp, vLLM) ou"responses"(servidores que implementam a API Responses da OpenAI).- temperature
Temperatura padrao do chat.
NULL(padrao): usa o padrao do servidor.- system_prompt
Prompt de sistema inicial.
NULL(padrao).- ...
Argumentos adicionais passados a
ellmer::chat_openai()ouellmer::chat_openai_compatible().
Value
Objeto Chat do ellmer, pronto para uso em
ac_qual_code() (via chat = ac_chat_local(...)).
Examples
if (FALSE) { # \dontrun{
# LM Studio rodando localmente, servindo um modelo na porta padrao
chat_local <- ac_chat_local(model = "qwen2.5-14b-instruct")
cb <- ac_qual_codebook(
name = "tom", instructions = "Classifique o tom.",
categories = list(
positivo = list(definition = "Tom propositivo."),
negativo = list(definition = "Tom crítico.")
)
)
df <- data.frame(id = "d1", texto = "Proponho cooperacao.")
corpus <- ac_corpus(df, text = texto, docid = id)
coded <- ac_qual_code(corpus, cb, chat = chat_local,
checkpoint_dir = "checkpoints/")
} # }
