ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
This commit is contained in:
@@ -0,0 +1,254 @@
|
||||
---
|
||||
title: "Supported Models"
|
||||
description: "Choose your favorite LLM"
|
||||
icon: "robot"
|
||||
|
||||
---
|
||||
|
||||
### Recommendations
|
||||
|
||||
- Best accuracy: `O3`
|
||||
- Fastest: `llama4` on groq
|
||||
- Balanced: fast + cheap + clever: `gemini-2.5-flash` or `gpt-4.1-mini`
|
||||
|
||||
|
||||
### OpenAI [example](https://github.com/browser-use/browser-use/blob/main/examples/models/gpt-4.1.py)
|
||||
|
||||
`O3` model is recommended for best performance.
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatOpenAI
|
||||
|
||||
# Initialize the model
|
||||
llm = ChatOpenAI(
|
||||
model="o3",
|
||||
)
|
||||
|
||||
# Create agent with the model
|
||||
agent = Agent(
|
||||
task="...", # Your task here
|
||||
llm=llm
|
||||
)
|
||||
```
|
||||
|
||||
Required environment variables:
|
||||
|
||||
```bash .env
|
||||
OPENAI_API_KEY=
|
||||
```
|
||||
|
||||
<Info>
|
||||
You can use any OpenAI compatible model by passing the model name to the
|
||||
`ChatOpenAI` class using a custom URL (or any other parameter that would go
|
||||
into the normal OpenAI API call).
|
||||
</Info>
|
||||
|
||||
### Anthropic [example](https://github.com/browser-use/browser-use/blob/main/examples/models/claude-4-sonnet.py)
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatAnthropic
|
||||
|
||||
# Initialize the model
|
||||
llm = ChatAnthropic(
|
||||
model="claude-sonnet-4-0",
|
||||
)
|
||||
|
||||
# Create agent with the model
|
||||
agent = Agent(
|
||||
task="...", # Your task here
|
||||
llm=llm
|
||||
)
|
||||
```
|
||||
|
||||
And add the variable:
|
||||
|
||||
```bash .env
|
||||
ANTHROPIC_API_KEY=
|
||||
```
|
||||
|
||||
### Azure OpenAI [example](https://github.com/browser-use/browser-use/blob/main/examples/models/azure_openai.py)
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatAzureOpenAI
|
||||
from pydantic import SecretStr
|
||||
import os
|
||||
|
||||
# Initialize the model
|
||||
llm = ChatAzureOpenAI(
|
||||
model="o4-mini",
|
||||
)
|
||||
|
||||
# Create agent with the model
|
||||
agent = Agent(
|
||||
task="...", # Your task here
|
||||
llm=llm
|
||||
)
|
||||
```
|
||||
|
||||
Required environment variables:
|
||||
|
||||
```bash .env
|
||||
AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com/
|
||||
AZURE_OPENAI_API_KEY=
|
||||
```
|
||||
|
||||
### Gemini [example](https://github.com/browser-use/browser-use/blob/main/examples/models/gemini.py)
|
||||
|
||||
> [!IMPORTANT] `GEMINI_API_KEY` was the old environment var name, it should be called `GOOGLE_API_KEY` as of 2025-05.
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatGoogle
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Read GOOGLE_API_KEY into env
|
||||
load_dotenv()
|
||||
|
||||
# Initialize the model
|
||||
llm = ChatGoogle(model='gemini-2.5-flash')
|
||||
|
||||
# Create agent with the model
|
||||
agent = Agent(
|
||||
task="Your task here",
|
||||
llm=llm
|
||||
)
|
||||
```
|
||||
|
||||
Required environment variables:
|
||||
|
||||
```bash .env
|
||||
GOOGLE_API_KEY=
|
||||
```
|
||||
|
||||
### AWS Bedrock [example](https://github.com/browser-use/browser-use/blob/main/examples/models/aws.py)
|
||||
|
||||
AWS Bedrock provides access to multiple model providers through a single API. We support both a general AWS Bedrock client and provider-specific convenience classes.
|
||||
|
||||
#### General AWS Bedrock (supports all providers)
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatAWSBedrock
|
||||
|
||||
# Works with any Bedrock model (Anthropic, Meta, AI21, etc.)
|
||||
llm = ChatAWSBedrock(
|
||||
model="anthropic.claude-3-5-sonnet-20240620-v1:0", # or any Bedrock model
|
||||
aws_region="us-east-1",
|
||||
)
|
||||
|
||||
# Create agent with the model
|
||||
agent = Agent(
|
||||
task="Your task here",
|
||||
llm=llm
|
||||
)
|
||||
```
|
||||
|
||||
#### Anthropic Claude via AWS Bedrock (convenience class)
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatAnthropicBedrock
|
||||
|
||||
# Anthropic-specific class with Claude defaults
|
||||
llm = ChatAnthropicBedrock(
|
||||
model="anthropic.claude-3-5-sonnet-20240620-v1:0",
|
||||
aws_region="us-east-1",
|
||||
)
|
||||
|
||||
# Create agent with the model
|
||||
agent = Agent(
|
||||
task="Your task here",
|
||||
llm=llm
|
||||
)
|
||||
```
|
||||
|
||||
#### AWS Authentication
|
||||
|
||||
Required environment variables:
|
||||
|
||||
```bash .env
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
```
|
||||
|
||||
You can also use AWS profiles or IAM roles instead of environment variables. The implementation supports:
|
||||
|
||||
- Environment variables (`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_DEFAULT_REGION`)
|
||||
- AWS profiles and credential files
|
||||
- IAM roles (when running on EC2)
|
||||
- Session tokens for temporary credentials
|
||||
- AWS SSO authentication (`aws_sso_auth=True`)
|
||||
|
||||
## Groq [example](https://github.com/browser-use/browser-use/blob/main/examples/models/llama4-groq.py)
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatGroq
|
||||
|
||||
llm = ChatGroq(model="meta-llama/llama-4-maverick-17b-128e-instruct")
|
||||
|
||||
agent = Agent(
|
||||
task="Your task here",
|
||||
llm=llm
|
||||
)
|
||||
```
|
||||
|
||||
Required environment variables:
|
||||
|
||||
```bash .env
|
||||
GROQ_API_KEY=
|
||||
```
|
||||
|
||||
## Ollama
|
||||
|
||||
1. Install Ollama: https://github.com/ollama/ollama
|
||||
2. Run `ollama serve` to start the server
|
||||
3. In a new terminal, install the model you want to use: `ollama pull llama3.1:8b` (this has 4.9GB)
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatOllama
|
||||
|
||||
llm = ChatOllama(model="llama3.1:8b")
|
||||
```
|
||||
|
||||
## Langchain
|
||||
|
||||
[Example](https://github.com/browser-use/browser-use/blob/main/examples/models/langchain) on how to use Langchain with Browser Use.
|
||||
|
||||
## Qwen [example](https://github.com/browser-use/browser-use/blob/main/examples/models/qwen.py)
|
||||
|
||||
Currently, only `qwen-vl-max` is recommended for Browser Use. Other Qwen models, including `qwen-max`, have issues with the action schema format.
|
||||
Smaller Qwen models may return incorrect action schema formats (e.g., `actions: [{"go_to_url": "google.com"}]` instead of `[{"go_to_url": {"url": "google.com"}}]`). If you want to use other models, add concrete examples of the correct action format to your prompt.
|
||||
|
||||
```python
|
||||
from browser_use import Agent, ChatOpenAI
|
||||
from dotenv import load_dotenv
|
||||
import os
|
||||
|
||||
load_dotenv()
|
||||
|
||||
# Get API key from https://modelstudio.console.alibabacloud.com/?tab=playground#/api-key
|
||||
api_key = os.getenv('ALIBABA_CLOUD')
|
||||
base_url = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1'
|
||||
|
||||
llm = ChatOpenAI(model='qwen-vl-max', api_key=api_key, base_url=base_url)
|
||||
|
||||
agent = Agent(
|
||||
task="Your task here",
|
||||
llm=llm,
|
||||
use_vision=True
|
||||
)
|
||||
```
|
||||
|
||||
Required environment variables:
|
||||
|
||||
```bash .env
|
||||
ALIBABA_CLOUD=
|
||||
```
|
||||
|
||||
|
||||
## Other models (DeepSeek, Novita, X...)
|
||||
|
||||
We support all other models that can be called via OpenAI compatible API. We are open to PRs for more providers.
|
||||
|
||||
**Examples available:**
|
||||
- [DeepSeek](https://github.com/browser-use/browser-use/blob/main/examples/models/deepseek-chat.py)
|
||||
- [Novita](https://github.com/browser-use/browser-use/blob/main/examples/models/novita.py)
|
||||
- [OpenRouter](https://github.com/browser-use/browser-use/blob/main/examples/models/openrouter.py)
|
||||
Reference in New Issue
Block a user