LLM
Interface unificada para múltiplos provedores de LLM com roteamento automático Aprenda os padrões de configuração, as APIs e os exemplos práticos...
Interface unificada para múltiplos provedores de LLM com roteamento automático
Visão Geral
A camada de abstração de LLM fornece integração perfeita com múltiplos provedores de IA, permitindo alternar entre OpenAI, Claude, Gemini e Ollama sem alterar seu código. Ela lida com implementações específicas de cada provedor, formatação de mensagens e streaming, fornecendo uma API consistente entre todos os provedores.
Provedores Suportados
O Astreus suporta quatro principais provedores de LLM com roteamento automático de modelo:
OpenAI
Todos os 14 modelos suportados:
- Mais recentes:
gpt-4.5,gpt-4.1,gpt-4.1-mini,gpt-4.1-nano,o4-mini,o4-mini-high,o3 - Estáveis:
gpt-4o,gpt-4o-mini,gpt-4-turbo,gpt-4,gpt-3.5-turbo,gpt-3.5-turbo-16k,gpt-3.5-turbo-instruct - Chave de API: Defina a variável de ambiente
OPENAI_API_KEY
Anthropic Claude
Todos os 9 modelos suportados:
- Mais recentes:
claude-sonnet-4-20250514,claude-opus-4-20250514,claude-3.7-sonnet-20250224 - Estáveis:
claude-3-5-sonnet-20241022,claude-3-5-sonnet-20240620,claude-3-5-haiku-20241022,claude-3-opus-20240229,claude-3-sonnet-20240229,claude-3-haiku-20240307 - Chave de API: Defina a variável de ambiente
ANTHROPIC_API_KEY
Google Gemini
Todos os 12 modelos suportados:
- Mais recentes:
gemini-2.5-pro,gemini-2.5-pro-deep-think,gemini-2.5-flash,gemini-2.5-flash-lite - Estáveis:
gemini-2.0-flash,gemini-2.0-flash-thinking,gemini-2.0-flash-lite,gemini-2.0-pro-experimental,gemini-1.5-pro,gemini-1.5-flash,gemini-1.5-flash-8b,gemini-pro - Chave de API: Defina a variável de ambiente
GEMINI_API_KEY
Ollama (Local)
Todos os 31 modelos suportados:
- Mais recentes:
deepseek-r1,deepseek-v3,deepseek-v2.5,deepseek-coder,deepseek-coder-v2,qwen3,qwen2.5-coder,llama3.3,gemma3,phi4 - Populares:
mistral-small,codellama,llama3.2,llama3.1,qwen2.5,gemma2,phi3,mistral,codegemma,wizardlm2 - Adicionais:
dolphin-mistral,openhermes,deepcoder,stable-code,wizardcoder,magicoder,solar,yi,zephyr,orca-mini,vicuna - Configuração: Defina
OLLAMA_BASE_URL(padrão:http://localhost:11434)
Configuração
Variáveis de Ambiente
Configure suas chaves de API e configurações:
# OpenAI
export OPENAI_API_KEY="your-openai-key"
export OPENAI_BASE_URL="https://api.openai.com/v1" # Optional
# Anthropic Claude
export ANTHROPIC_API_KEY="your-anthropic-key"
export ANTHROPIC_BASE_URL="https://api.anthropic.com" # Optional
# Google Gemini
export GEMINI_API_KEY="your-gemini-key"
# Ollama (Local)
export OLLAMA_BASE_URL="http://localhost:11434" # OptionalConfiguração do Agente
Especifique o modelo ao criar agentes:
import { Agent } from '@astreus-ai/astreus';
const agent = await Agent.create({
name: 'MyAgent',
model: 'gpt-4.5', // Model automatically routes to correct provider
temperature: 0.7,
maxTokens: 2000
});Exemplos de Uso
Uso Básico do LLM
import { getLLM } from '@astreus-ai/astreus';
const llm = getLLM();
// Generate response
const response = await llm.generateResponse({
model: 'claude-sonnet-4-20250514',
messages: [{ role: 'user', content: 'Explain quantum computing' }],
temperature: 0.7,
maxTokens: 1000
});
console.log(response.content);Respostas em Streaming
// Stream response in real-time
for await (const chunk of llm.generateStreamResponse({
model: 'gpt-4.5',
messages: [{ role: 'user', content: 'Write a story about AI' }],
stream: true
})) {
if (!chunk.done) {
process.stdout.write(chunk.content);
}
}Chamada de Funções
const response = await llm.generateResponse({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'What\'s the weather in Tokyo?' }],
tools: [{
type: 'function',
function: {
name: 'get_weather',
description: 'Get current weather information',
parameters: {
type: 'object',
properties: {
location: {
type: 'string',
description: 'City name'
}
},
required: ['location']
}
}
}]
});
// Handle tool calls
if (response.toolCalls) {
response.toolCalls.forEach(call => {
console.log(`Tool: ${call.function.name}`);
console.log(`Args: ${call.function.arguments}`);
});
}Opções do LLM
Configure o comportamento do LLM com estas opções:
interface LLMRequestOptions {
model: string; // Required: Model identifier
messages: LLMMessage[]; // Required: Conversation history
temperature?: number; // Creativity level (0.0-1.0, default: 0.7)
maxTokens?: number; // Max output tokens (default: 4096)
stream?: boolean; // Enable streaming responses
systemPrompt?: string; // System instructions
tools?: Tool[]; // Function calling tools
}Detalhes dos Parâmetros
- temperature: Controla a aleatoriedade (0.0 = determinístico, 1.0 = muito criativo)
- maxTokens: Número máximo de tokens na resposta (varia de acordo com o modelo)
- stream: Habilita streaming em tempo real para respostas longas
- systemPrompt: Define o comportamento e o contexto do modelo
- tools: Habilita capacidades de chamada de função
Recursos por Provedor
| Feature | OpenAI | Claude | Gemini | Ollama |
|---|---|---|---|---|
| Streaming | ✅ | ✅ | ✅ | ✅ |
| Function Calling | ✅ | ✅ | Limitado | Limitado |
| Vision | ✅ | ✅ | ✅ | ✅ |
| Embeddings | ✅ | ❌ | ✅ | ✅ |
| Token Usage | ✅ | ✅ | Limitado | ✅ |
| Custom Base URL | ✅ | ✅ | ❌ | ✅ |
| Local Models | ❌ | ❌ | ❌ | ✅ |
Modelos de Visão
Cada provedor suporta modelos específicos para análise de imagens:
OpenAI Vision
gpt-4o,gpt-4o-mini,gpt-4-turbo,gpt-4-vision-previewgpt-4o-2024-08-06,gpt-4o-2024-05-13
Claude Vision
claude-3-5-sonnet-20241022,claude-3-5-sonnet-20240620claude-3-opus-20240229,claude-3-sonnet-20240229,claude-3-haiku-20240307
Gemini Vision
gemini-1.5-pro,gemini-1.5-flashgemini-1.0-pro-vision-latest,gemini-pro-vision
Ollama Vision
llava,llava:7b,llava:13b,llava:34bllava-llama3,llava-phi3,moondream
Modelos de Embedding
Para base de conhecimento e busca semântica:
OpenAI Embeddings
text-embedding-3-large(3072 dimensões)text-embedding-3-small(1536 dimensões)text-embedding-ada-002(1536 dimensões)
Gemini Embeddings
text-embedding-004embedding-001
Ollama Embeddings
nomic-embed-text,mxbai-embed-largeall-minilm,snowflake-arctic-embed
Nota: Claude/Anthropic não suporta embeddings. Use OpenAI ou Gemini para geração de embeddings.
Variáveis de Ambiente Adicionais
# Dedicated embedding API keys (optional)
OPENAI_EMBEDDING_API_KEY="your-embedding-key"
OPENAI_EMBEDDING_BASE_URL="https://api.openai.com/v1"
GEMINI_EMBEDDING_API_KEY="your-gemini-embedding-key"
# Dedicated vision API keys (optional)
OPENAI_VISION_API_KEY="your-vision-key"
OPENAI_VISION_BASE_URL="https://api.openai.com/v1"
ANTHROPIC_VISION_API_KEY="your-anthropic-vision-key"
ANTHROPIC_VISION_BASE_URL="https://api.anthropic.com"
GEMINI_VISION_API_KEY="your-gemini-vision-key"Guia de Seleção de Modelo
Para Geração de Código
- Melhores:
gpt-4o,claude-3-5-sonnet-20241022,deepseek-coder - Rápidos:
gpt-4o-mini,claude-3-5-haiku-20241022
Para Tarefas de Raciocínio
- Melhores:
claude-opus-4-20250514,gpt-4.5,o3 - Equilibrados:
claude-sonnet-4-20250514,gpt-4o
Para Escrita Criativa
- Melhores:
gpt-4.5,claude-3-opus-20240229 - Rápidos:
gemini-2.5-pro,gpt-4o-mini
Para Privacidade/Uso Local
- Melhores:
deepseek-r1,llama3.3,qwen3 - Código:
deepseek-coder,codellama
Última atualização: 6 de julho de 2026
Nesta seção
Introdução
Framework de agentes de IA open-source para construir sistemas autônomos que resolvem tarefas do mundo real de forma eficaz.
Instalação
Instale o Astreus com npm, yarn ou pnpm, confirme a versão necessária do Node.js e prepare um projeto local para construir agentes de IA com o framework.
Início Rápido
Construa seu primeiro agente de IA com Astreus em menos de 2 minutos Aprenda os padrões de configuração, as APIs e os exemplos práticos necessários para...
Agente
Entidade central de IA com capacidades modulares e composição baseada em decorators Aprenda os padrões de configuração, as APIs e os exemplos práticos...