LLM
在 Astreus 文档中了解 LLM,获取用于构建智能体系统的设置指导、API 模式和实用示例。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。
面向多个 LLM 提供方的统一接口,支持自动路由
概述
LLM 抽象层提供与多个 AI 提供方的无缝集成,让你可以在 OpenAI、Claude、Gemini 和 Ollama 之间自由切换,而无需修改代码。它负责处理各提供方特有的实现、消息格式化和流式传输,同时对外提供统一一致的 API。
支持的提供方
Astreus 支持四大主流 LLM 提供方,并具备自动模型路由能力:
OpenAI
全部 14 个受支持的模型:
- 最新:
gpt-4.5、gpt-4.1、gpt-4.1-mini、gpt-4.1-nano、o4-mini、o4-mini-high、o3 - 稳定版:
gpt-4o、gpt-4o-mini、gpt-4-turbo、gpt-4、gpt-3.5-turbo、gpt-3.5-turbo-16k、gpt-3.5-turbo-instruct - API 密钥:设置
OPENAI_API_KEY环境变量
Anthropic Claude
全部 9 个受支持的模型:
- 最新:
claude-sonnet-4-20250514、claude-opus-4-20250514、claude-3.7-sonnet-20250224 - 稳定版:
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 - API 密钥:设置
ANTHROPIC_API_KEY环境变量
Google Gemini
全部 12 个受支持的模型:
- 最新:
gemini-2.5-pro、gemini-2.5-pro-deep-think、gemini-2.5-flash、gemini-2.5-flash-lite - 稳定版:
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 - API 密钥:设置
GEMINI_API_KEY环境变量
Ollama(本地)
全部 31 个受支持的模型:
- 最新:
deepseek-r1、deepseek-v3、deepseek-v2.5、deepseek-coder、deepseek-coder-v2、qwen3、qwen2.5-coder、llama3.3、gemma3、phi4 - 常用:
mistral-small、codellama、llama3.2、llama3.1、qwen2.5、gemma2、phi3、mistral、codegemma、wizardlm2 - 其他:
dolphin-mistral、openhermes、deepcoder、stable-code、wizardcoder、magicoder、solar、yi、zephyr、orca-mini、vicuna - 配置:设置
OLLAMA_BASE_URL(默认:http://localhost:11434)
配置
环境变量
配置你的 API 密钥和相关设置:
# 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" # Optional代理配置
在创建代理时指定模型:
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
});使用示例
基本 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);流式响应
// 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);
}
}函数调用
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}`);
});
}LLM 选项
通过以下选项配置 LLM 的行为:
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
}参数详解
- temperature:控制随机性(0.0 = 确定性输出,1.0 = 高度创造性)
- maxTokens:响应中的最大 token 数(因模型而异)
- stream:为长响应启用实时流式传输
- systemPrompt:设置模型的行为和上下文
- tools:启用函数调用能力
提供方特性
| 特性 | OpenAI | Claude | Gemini | Ollama |
|---|---|---|---|---|
| 流式传输 | ✅ | ✅ | ✅ | ✅ |
| 函数调用 | ✅ | ✅ | 有限 | 有限 |
| 视觉 | ✅ | ✅ | ✅ | ✅ |
| 嵌入 | ✅ | ❌ | ✅ | ✅ |
| Token 用量统计 | ✅ | ✅ | 有限 | ✅ |
| 自定义 Base URL | ✅ | ✅ | ❌ | ✅ |
| 本地模型 | ❌ | ❌ | ❌ | ✅ |
视觉模型
每个提供方都支持特定的图像分析模型:
OpenAI 视觉
gpt-4o、gpt-4o-mini、gpt-4-turbo、gpt-4-vision-previewgpt-4o-2024-08-06、gpt-4o-2024-05-13
Claude 视觉
claude-3-5-sonnet-20241022、claude-3-5-sonnet-20240620claude-3-opus-20240229、claude-3-sonnet-20240229、claude-3-haiku-20240307
Gemini 视觉
gemini-1.5-pro、gemini-1.5-flashgemini-1.0-pro-vision-latest、gemini-pro-vision
Ollama 视觉
llava、llava:7b、llava:13b、llava:34bllava-llama3、llava-phi3、moondream
嵌入模型
用于知识库和语义搜索:
OpenAI 嵌入
text-embedding-3-large(3072 维)text-embedding-3-small(1536 维)text-embedding-ada-002(1536 维)
Gemini 嵌入
text-embedding-004embedding-001
Ollama 嵌入
nomic-embed-text、mxbai-embed-largeall-minilm、snowflake-arctic-embed
注意:Claude/Anthropic 不支持嵌入。请使用 OpenAI 或 Gemini 生成嵌入。
其他环境变量
# 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"模型选择指南
用于代码生成
- 最佳:
gpt-4o、claude-3-5-sonnet-20241022、deepseek-coder - 快速:
gpt-4o-mini、claude-3-5-haiku-20241022
用于推理任务
- 最佳:
claude-opus-4-20250514、gpt-4.5、o3 - 均衡:
claude-sonnet-4-20250514、gpt-4o
用于创意写作
- 最佳:
gpt-4.5、claude-3-opus-20240229 - 快速:
gemini-2.5-pro、gpt-4o-mini
用于隐私保护/本地使用
- 最佳:
deepseek-r1、llama3.3、qwen3 - 代码:
deepseek-coder、codellama
最后更新时间:2026年7月6日
本节内容
简介
在 Astreus 文档中了解 简介,获取用于构建智能体系统的设置指导、API 模式和实用示例。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。
安装
使用 npm、yarn 或 pnpm 安装 Astreus,确认所需的 Node.js 版本,并准备好本地项目以使用该框架构建 AI 代理。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。
快速开始
在 Astreus 文档中了解 快速开始,获取用于构建智能体系统的设置指导、API 模式和实用示例。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。
智能体
在 Astreus 文档中了解 智能体,获取用于构建智能体系统的设置指导、API 模式和实用示例。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。