mirror of
https://github.com/hwchase17/langchain.git
synced 2026-02-20 22:22:53 +00:00
Compare commits
9 Commits
langchain-
...
bot/refres
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0081deae96 | ||
|
|
70192690b1 | ||
|
|
8aa7a3f07a | ||
|
|
e95e869d9e | ||
|
|
5362bf5666 | ||
|
|
135a208919 | ||
|
|
4af87fd025 | ||
|
|
6a6ef8caad | ||
|
|
59be7d734f |
93
.github/workflows/refresh_model_profiles.yml
vendored
Normal file
93
.github/workflows/refresh_model_profiles.yml
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
# Refreshes model profile data for all in-monorepo partner integrations by
|
||||
# pulling the latest metadata from models.dev via the `langchain-profiles` CLI.
|
||||
#
|
||||
# Creates a pull request with any changes. Runs daily and can be triggered
|
||||
# manually from the Actions UI. Uses a fixed branch so each run supersedes
|
||||
# any stale PR from a previous run.
|
||||
|
||||
name: "🔄 Refresh Model Profiles"
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 8 * * *" # daily at 08:00 UTC
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
refresh-profiles:
|
||||
name: "refresh all partner profiles"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: "📋 Checkout"
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: "🐍 Set up Python + uv"
|
||||
uses: ./.github/actions/uv_setup
|
||||
with:
|
||||
python-version: "3.12"
|
||||
working-directory: libs/model-profiles
|
||||
|
||||
- name: "📦 Install langchain-profiles CLI"
|
||||
working-directory: libs/model-profiles
|
||||
run: uv sync
|
||||
|
||||
- name: "🔄 Refresh profiles"
|
||||
working-directory: libs/model-profiles
|
||||
run: |
|
||||
declare -A PROVIDERS=(
|
||||
[anthropic]=anthropic
|
||||
[deepseek]=deepseek
|
||||
[fireworks]=fireworks-ai
|
||||
[groq]=groq
|
||||
[huggingface]=huggingface
|
||||
[mistralai]=mistral
|
||||
[openai]=openai
|
||||
[openrouter]=openrouter
|
||||
[perplexity]=perplexity
|
||||
[xai]=xai
|
||||
)
|
||||
|
||||
for partner in "${!PROVIDERS[@]}"; do
|
||||
provider="${PROVIDERS[$partner]}"
|
||||
data_dir="../../libs/partners/${partner}/langchain_${partner//-/_}/data"
|
||||
echo "--- Refreshing ${partner} (provider: ${provider}) ---"
|
||||
echo y | uv run langchain-profiles refresh \
|
||||
--provider "$provider" \
|
||||
--data-dir "$data_dir"
|
||||
done
|
||||
|
||||
- name: "🔑 Generate GitHub App token"
|
||||
id: app-token
|
||||
uses: actions/create-github-app-token@v2
|
||||
with:
|
||||
app-id: ${{ secrets.MODEL_PROFILE_BOT_APP_ID }}
|
||||
private-key: ${{ secrets.MODEL_PROFILE_BOT_PRIVATE_KEY }}
|
||||
|
||||
- name: "🔀 Create pull request"
|
||||
id: create-pr
|
||||
uses: peter-evans/create-pull-request@v8
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
branch: bot/refresh-model-profiles
|
||||
commit-message: "chore(model-profiles): refresh model profile data"
|
||||
title: "chore(model-profiles): refresh model profile data"
|
||||
body: |
|
||||
Automated refresh of model profile data for all in-monorepo partner
|
||||
integrations via `langchain-profiles refresh`.
|
||||
|
||||
🤖 Generated by the `refresh_model_profiles` workflow.
|
||||
labels: bot
|
||||
add-paths: libs/partners/**/data/_profiles.py
|
||||
|
||||
- name: "📝 Summary"
|
||||
run: |
|
||||
op="${{ steps.create-pr.outputs.pull-request-operation }}"
|
||||
url="${{ steps.create-pr.outputs.pull-request-url }}"
|
||||
if [ "$op" = "created" ] || [ "$op" = "updated" ]; then
|
||||
echo "### ✅ PR ${op}: ${url}" >> "$GITHUB_STEP_SUMMARY"
|
||||
else
|
||||
echo "### ⏭️ Skipped: profiles already up to date" >> "$GITHUB_STEP_SUMMARY"
|
||||
fi
|
||||
53
AGENTS.md
53
AGENTS.md
@@ -194,6 +194,59 @@ def send_email(to: str, msg: str, *, priority: str = "normal") -> bool:
|
||||
- Ensure American English spelling (e.g., "behavior", not "behaviour")
|
||||
- Do NOT use Sphinx-style double backtick formatting (` ``code`` `). Use single backticks (`` `code` ``) for inline code references in docstrings and comments.
|
||||
|
||||
## Model profiles
|
||||
|
||||
Model profiles are generated using the `langchain-profiles` CLI in `libs/model-profiles`. The `--data-dir` must point to the directory containing `profile_augmentations.toml`, not the top-level package directory.
|
||||
|
||||
```bash
|
||||
# Run from libs/model-profiles
|
||||
cd libs/model-profiles
|
||||
|
||||
# Refresh profiles for a partner in this repo
|
||||
uv run langchain-profiles refresh --provider openai --data-dir ../partners/openai/langchain_openai/data
|
||||
|
||||
# Refresh profiles for a partner in an external repo (requires echo y to confirm)
|
||||
echo y | uv run langchain-profiles refresh --provider google --data-dir /path/to/langchain-google/libs/genai/langchain_google_genai/data
|
||||
```
|
||||
|
||||
Example partners with profiles in this repo:
|
||||
|
||||
- `libs/partners/openai/langchain_openai/data/` (provider: `openai`)
|
||||
- `libs/partners/anthropic/langchain_anthropic/data/` (provider: `anthropic`)
|
||||
- `libs/partners/perplexity/langchain_perplexity/data/` (provider: `perplexity`)
|
||||
|
||||
The `echo y |` pipe is required when `--data-dir` is outside the `libs/model-profiles` working directory.
|
||||
|
||||
## CI/CD infrastructure
|
||||
|
||||
### Release process
|
||||
|
||||
Releases are triggered manually via `.github/workflows/_release.yml` with `working-directory` and `release-version` inputs.
|
||||
|
||||
### PR labeling and linting
|
||||
|
||||
**Title linting** (`.github/workflows/pr_lint.yml`)
|
||||
|
||||
**Auto-labeling:**
|
||||
|
||||
- `.github/workflows/pr_labeler_file.yml`
|
||||
- `.github/workflows/pr_labeler_title.yml`
|
||||
- `.github/workflows/auto-label-by-package.yml`
|
||||
- `.github/workflows/tag-external-contributions.yml`
|
||||
|
||||
### Adding a new partner to CI
|
||||
|
||||
When adding a new partner package, update these files:
|
||||
|
||||
- `.github/ISSUE_TEMPLATE/*.yml` – Add to package dropdown
|
||||
- `.github/dependabot.yml` – Add dependency update entry
|
||||
- `.github/pr-file-labeler.yml` – Add file-to-label mapping
|
||||
- `.github/workflows/_release.yml` – Add API key secrets if needed
|
||||
- `.github/workflows/auto-label-by-package.yml` – Add package label
|
||||
- `.github/workflows/check_diffs.yml` – Add to change detection
|
||||
- `.github/workflows/integration_tests.yml` – Add integration test config
|
||||
- `.github/workflows/pr_lint.yml` – Add to allowed scopes
|
||||
|
||||
## Additional resources
|
||||
|
||||
- **Documentation:** https://docs.langchain.com/oss/python/langchain/overview and source at https://github.com/langchain-ai/docs or `../docs/`. Prefer the local install and use file search tools for best results. If needed, use the docs MCP server as defined in `.mcp.json` for programmatic access.
|
||||
|
||||
53
CLAUDE.md
53
CLAUDE.md
@@ -194,6 +194,59 @@ def send_email(to: str, msg: str, *, priority: str = "normal") -> bool:
|
||||
- Ensure American English spelling (e.g., "behavior", not "behaviour")
|
||||
- Do NOT use Sphinx-style double backtick formatting (` ``code`` `). Use single backticks (`` `code` ``) for inline code references in docstrings and comments.
|
||||
|
||||
## Model profiles
|
||||
|
||||
Model profiles are generated using the `langchain-profiles` CLI in `libs/model-profiles`. The `--data-dir` must point to the directory containing `profile_augmentations.toml`, not the top-level package directory.
|
||||
|
||||
```bash
|
||||
# Run from libs/model-profiles
|
||||
cd libs/model-profiles
|
||||
|
||||
# Refresh profiles for a partner in this repo
|
||||
uv run langchain-profiles refresh --provider openai --data-dir ../partners/openai/langchain_openai/data
|
||||
|
||||
# Refresh profiles for a partner in an external repo (requires echo y to confirm)
|
||||
echo y | uv run langchain-profiles refresh --provider google --data-dir /path/to/langchain-google/libs/genai/langchain_google_genai/data
|
||||
```
|
||||
|
||||
Example partners with profiles in this repo:
|
||||
|
||||
- `libs/partners/openai/langchain_openai/data/` (provider: `openai`)
|
||||
- `libs/partners/anthropic/langchain_anthropic/data/` (provider: `anthropic`)
|
||||
- `libs/partners/perplexity/langchain_perplexity/data/` (provider: `perplexity`)
|
||||
|
||||
The `echo y |` pipe is required when `--data-dir` is outside the `libs/model-profiles` working directory.
|
||||
|
||||
## CI/CD infrastructure
|
||||
|
||||
### Release process
|
||||
|
||||
Releases are triggered manually via `.github/workflows/_release.yml` with `working-directory` and `release-version` inputs.
|
||||
|
||||
### PR labeling and linting
|
||||
|
||||
**Title linting** (`.github/workflows/pr_lint.yml`)
|
||||
|
||||
**Auto-labeling:**
|
||||
|
||||
- `.github/workflows/pr_labeler_file.yml`
|
||||
- `.github/workflows/pr_labeler_title.yml`
|
||||
- `.github/workflows/auto-label-by-package.yml`
|
||||
- `.github/workflows/tag-external-contributions.yml`
|
||||
|
||||
### Adding a new partner to CI
|
||||
|
||||
When adding a new partner package, update these files:
|
||||
|
||||
- `.github/ISSUE_TEMPLATE/*.yml` – Add to package dropdown
|
||||
- `.github/dependabot.yml` – Add dependency update entry
|
||||
- `.github/pr-file-labeler.yml` – Add file-to-label mapping
|
||||
- `.github/workflows/_release.yml` – Add API key secrets if needed
|
||||
- `.github/workflows/auto-label-by-package.yml` – Add package label
|
||||
- `.github/workflows/check_diffs.yml` – Add to change detection
|
||||
- `.github/workflows/integration_tests.yml` – Add integration test config
|
||||
- `.github/workflows/pr_lint.yml` – Add to allowed scopes
|
||||
|
||||
## Additional resources
|
||||
|
||||
- **Documentation:** https://docs.langchain.com/oss/python/langchain/overview and source at https://github.com/langchain-ai/docs or `../docs/`. Prefer the local install and use file search tools for best results. If needed, use the docs MCP server as defined in `.mcp.json` for programmatic access.
|
||||
|
||||
@@ -133,7 +133,7 @@ ignore-var-parameters = true # ignore missing documentation for *args and **kwa
|
||||
"langchain_core/sys_info.py" = [ "T201",]
|
||||
"tests/unit_tests/test_tools.py" = [ "ARG",]
|
||||
"tests/**" = [ "D1", "PLR2004", "S", "SLF",]
|
||||
"scripts/**" = [ "INP", "S",]
|
||||
"scripts/**" = [ "INP", "S", "T201",]
|
||||
|
||||
[tool.coverage.run]
|
||||
omit = [ "tests/*",]
|
||||
|
||||
@@ -17,8 +17,8 @@ if __name__ == "__main__":
|
||||
SourceFileLoader(module_name, file).load_module()
|
||||
except Exception:
|
||||
has_failure = True
|
||||
print(file) # noqa: T201
|
||||
print(file)
|
||||
traceback.print_exc()
|
||||
print() # noqa: T201
|
||||
print()
|
||||
|
||||
sys.exit(1 if has_failure else 0)
|
||||
|
||||
@@ -33,31 +33,31 @@ def main() -> int:
|
||||
version_path = package_dir / "langchain_core" / "version.py"
|
||||
|
||||
if not pyproject_path.exists():
|
||||
print(f"Error: {pyproject_path} not found") # noqa: T201
|
||||
print(f"Error: {pyproject_path} not found")
|
||||
return 1
|
||||
|
||||
if not version_path.exists():
|
||||
print(f"Error: {version_path} not found") # noqa: T201
|
||||
print(f"Error: {version_path} not found")
|
||||
return 1
|
||||
|
||||
pyproject_version = get_pyproject_version(pyproject_path)
|
||||
version_py_version = get_version_py_version(version_path)
|
||||
|
||||
if pyproject_version is None:
|
||||
print("Error: Could not find version in pyproject.toml") # noqa: T201
|
||||
print("Error: Could not find version in pyproject.toml")
|
||||
return 1
|
||||
|
||||
if version_py_version is None:
|
||||
print("Error: Could not find VERSION in langchain_core/version.py") # noqa: T201
|
||||
print("Error: Could not find VERSION in langchain_core/version.py")
|
||||
return 1
|
||||
|
||||
if pyproject_version != version_py_version:
|
||||
print("Error: Version mismatch detected!") # noqa: T201
|
||||
print(f" pyproject.toml: {pyproject_version}") # noqa: T201
|
||||
print(f" langchain_core/version.py: {version_py_version}") # noqa: T201
|
||||
print("Error: Version mismatch detected!")
|
||||
print(f" pyproject.toml: {pyproject_version}")
|
||||
print(f" langchain_core/version.py: {version_py_version}")
|
||||
return 1
|
||||
|
||||
print(f"Version check passed: {pyproject_version}") # noqa: T201
|
||||
print(f"Version check passed: {pyproject_version}")
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
@@ -175,7 +175,8 @@ ignore-var-parameters = true # ignore missing documentation for *args and **kwa
|
||||
]
|
||||
|
||||
"scripts/*" = [
|
||||
"INP", # Scripts are not in a package
|
||||
"INP", # Scripts are not in a package
|
||||
"T201", # Scripts can print to the console
|
||||
]
|
||||
|
||||
[tool.coverage.run]
|
||||
|
||||
@@ -26,8 +26,8 @@ if __name__ == "__main__":
|
||||
SourceFileLoader(module_name, file).load_module()
|
||||
except Exception:
|
||||
has_failure = True
|
||||
print(file) # noqa: T201
|
||||
print(file)
|
||||
traceback.print_exc()
|
||||
print() # noqa: T201
|
||||
print()
|
||||
|
||||
sys.exit(1 if has_failure else 0)
|
||||
|
||||
@@ -33,31 +33,31 @@ def main() -> int:
|
||||
init_path = package_dir / "langchain" / "__init__.py"
|
||||
|
||||
if not pyproject_path.exists():
|
||||
print(f"Error: {pyproject_path} not found") # noqa: T201
|
||||
print(f"Error: {pyproject_path} not found")
|
||||
return 1
|
||||
|
||||
if not init_path.exists():
|
||||
print(f"Error: {init_path} not found") # noqa: T201
|
||||
print(f"Error: {init_path} not found")
|
||||
return 1
|
||||
|
||||
pyproject_version = get_pyproject_version(pyproject_path)
|
||||
init_version = get_init_version(init_path)
|
||||
|
||||
if pyproject_version is None:
|
||||
print("Error: Could not find version in pyproject.toml") # noqa: T201
|
||||
print("Error: Could not find version in pyproject.toml")
|
||||
return 1
|
||||
|
||||
if init_version is None:
|
||||
print("Error: Could not find __version__ in langchain/__init__.py") # noqa: T201
|
||||
print("Error: Could not find __version__ in langchain/__init__.py")
|
||||
return 1
|
||||
|
||||
if pyproject_version != init_version:
|
||||
print("Error: Version mismatch detected!") # noqa: T201
|
||||
print(f" pyproject.toml: {pyproject_version}") # noqa: T201
|
||||
print(f" langchain/__init__.py: {init_version}") # noqa: T201
|
||||
print("Error: Version mismatch detected!")
|
||||
print(f" pyproject.toml: {pyproject_version}")
|
||||
print(f" langchain/__init__.py: {init_version}")
|
||||
return 1
|
||||
|
||||
print(f"Version check passed: {pyproject_version}") # noqa: T201
|
||||
print(f"Version check passed: {pyproject_version}")
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
@@ -310,14 +310,14 @@ def refresh(provider: str, data_dir: Path) -> None: # noqa: C901, PLR0915
|
||||
print(f"Writing to {output_file}...")
|
||||
module_content = [f'"""{MODULE_ADMONITION}"""\n\n', "from typing import Any\n\n"]
|
||||
module_content.append("_PROFILES: dict[str, dict[str, Any]] = ")
|
||||
json_str = json.dumps(profiles, indent=4)
|
||||
json_str = json.dumps(dict(sorted(profiles.items())), indent=4)
|
||||
json_str = (
|
||||
json_str.replace("true", "True")
|
||||
.replace("false", "False")
|
||||
.replace("null", "None")
|
||||
)
|
||||
# Add trailing commas for ruff format compliance
|
||||
json_str = re.sub(r"([^\s,{\[])(\n\s*[\}\]])", r"\1,\2", json_str)
|
||||
json_str = re.sub(r"([^\s,{\[])(?=\n\s*[\}\]])", r"\1,", json_str)
|
||||
module_content.append(f"{json_str}\n")
|
||||
_write_profiles_file(output_file, "".join(module_content))
|
||||
|
||||
|
||||
@@ -216,6 +216,62 @@ max_input_tokens = 123
|
||||
)
|
||||
|
||||
|
||||
def test_refresh_generates_sorted_profiles(
|
||||
tmp_path: Path, mock_models_dev_response: dict
|
||||
) -> None:
|
||||
"""Test that profiles are sorted alphabetically by model ID."""
|
||||
data_dir = tmp_path / "data"
|
||||
data_dir.mkdir()
|
||||
|
||||
# Inject models in reverse-alphabetical order so the API response
|
||||
# is NOT already sorted.
|
||||
mock_models_dev_response["anthropic"]["models"] = {
|
||||
"z-model": {
|
||||
"id": "z-model",
|
||||
"name": "Z Model",
|
||||
"tool_call": True,
|
||||
"limit": {"context": 100000, "output": 2048},
|
||||
"modalities": {"input": ["text"], "output": ["text"]},
|
||||
},
|
||||
"a-model": {
|
||||
"id": "a-model",
|
||||
"name": "A Model",
|
||||
"tool_call": True,
|
||||
"limit": {"context": 100000, "output": 2048},
|
||||
"modalities": {"input": ["text"], "output": ["text"]},
|
||||
},
|
||||
"m-model": {
|
||||
"id": "m-model",
|
||||
"name": "M Model",
|
||||
"tool_call": True,
|
||||
"limit": {"context": 100000, "output": 2048},
|
||||
"modalities": {"input": ["text"], "output": ["text"]},
|
||||
},
|
||||
}
|
||||
|
||||
mock_response = Mock()
|
||||
mock_response.json.return_value = mock_models_dev_response
|
||||
mock_response.raise_for_status = Mock()
|
||||
|
||||
with (
|
||||
patch("langchain_model_profiles.cli.httpx.get", return_value=mock_response),
|
||||
patch("builtins.input", return_value="y"),
|
||||
):
|
||||
refresh("anthropic", data_dir)
|
||||
|
||||
profiles_file = data_dir / "_profiles.py"
|
||||
spec = importlib.util.spec_from_file_location(
|
||||
"generated_profiles_sorted", profiles_file
|
||||
)
|
||||
assert spec
|
||||
assert spec.loader
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
spec.loader.exec_module(module) # type: ignore[union-attr]
|
||||
|
||||
model_ids = list(module._PROFILES.keys()) # type: ignore[attr-defined]
|
||||
assert model_ids == sorted(model_ids), f"Profile keys are not sorted: {model_ids}"
|
||||
|
||||
|
||||
def test_model_data_to_profile_text_modalities() -> None:
|
||||
"""Test that text input/output modalities are correctly mapped."""
|
||||
# Model with text in both input and output
|
||||
|
||||
2
libs/model-profiles/uv.lock
generated
2
libs/model-profiles/uv.lock
generated
@@ -527,7 +527,7 @@ typing = [
|
||||
|
||||
[[package]]
|
||||
name = "langchain-core"
|
||||
version = "1.2.13"
|
||||
version = "1.2.14"
|
||||
source = { editable = "../core" }
|
||||
dependencies = [
|
||||
{ name = "jsonpatch" },
|
||||
|
||||
@@ -1024,6 +1024,12 @@ class ChatAnthropic(BaseChatModel):
|
||||
"""Set model profile if not overridden."""
|
||||
if self.profile is None:
|
||||
self.profile = _get_default_model_profile(self.model)
|
||||
if (
|
||||
self.profile is not None
|
||||
and self.betas
|
||||
and "context-1m-2025-08-07" in self.betas
|
||||
):
|
||||
self.profile["max_input_tokens"] = 1_000_000
|
||||
return self
|
||||
|
||||
@cached_property
|
||||
|
||||
@@ -16,9 +16,9 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"claude-opus-4-5-20251101": {
|
||||
"claude-3-5-haiku-20241022": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -28,7 +28,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
@@ -54,196 +54,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-opus-4-1": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"claude-3-5-sonnet-20241022": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-sonnet-20240229": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-opus-4-6": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-sonnet-4-0": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-opus-4-20250514": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-sonnet-4-5-20250929": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-opus-4-0": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-5-haiku-20241022": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-5-sonnet-20240620": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 8192,
|
||||
@@ -263,7 +73,26 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-7-sonnet-latest": {
|
||||
"claude-3-5-sonnet-20241022": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-7-sonnet-20250219": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
@@ -282,7 +111,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-7-sonnet-20250219": {
|
||||
"claude-3-7-sonnet-latest": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
@@ -320,6 +149,63 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-opus-20240229": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-sonnet-20240229": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-haiku-4-5": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-haiku-4-5-20251001": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
@@ -339,9 +225,66 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-haiku-4-5": {
|
||||
"claude-opus-4-0": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-opus-4-1": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"claude-opus-4-1-20250805": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-opus-4-20250514": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -377,9 +320,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-3-opus-20240229": {
|
||||
"claude-opus-4-5-20251101": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 4096,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -389,7 +332,64 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-opus-4-6": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-sonnet-4-0": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-sonnet-4-20250514": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
@@ -415,7 +415,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"claude-sonnet-4-20250514": {
|
||||
"claude-sonnet-4-5-20250929": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
@@ -434,9 +434,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"structured_output": False,
|
||||
},
|
||||
"claude-opus-4-1-20250805": {
|
||||
"claude-sonnet-4-6": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 32000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
|
||||
@@ -2171,6 +2171,23 @@ def test_profile() -> None:
|
||||
assert model.profile == {"tool_calling": False}
|
||||
|
||||
|
||||
def test_profile_1m_context_beta() -> None:
|
||||
model = ChatAnthropic(model="claude-sonnet-4-5")
|
||||
assert model.profile
|
||||
assert model.profile["max_input_tokens"] == 200000
|
||||
|
||||
model = ChatAnthropic(model="claude-sonnet-4-5", betas=["context-1m-2025-08-07"])
|
||||
assert model.profile
|
||||
assert model.profile["max_input_tokens"] == 1000000
|
||||
|
||||
model = ChatAnthropic(
|
||||
model="claude-sonnet-4-5",
|
||||
betas=["token-efficient-tools-2025-02-19"],
|
||||
)
|
||||
assert model.profile
|
||||
assert model.profile["max_input_tokens"] == 200000
|
||||
|
||||
|
||||
async def test_model_profile_not_blocking() -> None:
|
||||
with blockbuster_ctx():
|
||||
model = ChatAnthropic(model="claude-sonnet-4-5")
|
||||
|
||||
@@ -16,20 +16,6 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"deepseek-reasoner": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"deepseek-chat": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 8192,
|
||||
@@ -44,4 +30,18 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"deepseek-reasoner": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
}
|
||||
|
||||
2
libs/partners/deepseek/uv.lock
generated
2
libs/partners/deepseek/uv.lock
generated
@@ -370,7 +370,7 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "langchain-core"
|
||||
version = "1.2.13"
|
||||
version = "1.2.14"
|
||||
source = { editable = "../../core" }
|
||||
dependencies = [
|
||||
{ name = "jsonpatch" },
|
||||
|
||||
@@ -16,9 +16,9 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"accounts/fireworks/models/kimi-k2-instruct": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"accounts/fireworks/models/deepseek-v3p1": {
|
||||
"max_input_tokens": 163840,
|
||||
"max_output_tokens": 163840,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
@@ -27,7 +27,49 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/deepseek-v3p2": {
|
||||
"max_input_tokens": 160000,
|
||||
"max_output_tokens": 160000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/glm-4p5": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/glm-4p5-air": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/glm-4p7": {
|
||||
@@ -58,76 +100,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/deepseek-v3p1": {
|
||||
"max_input_tokens": 163840,
|
||||
"max_output_tokens": 163840,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/minimax-m2p1": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 200000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/glm-4p5-air": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/deepseek-v3p2": {
|
||||
"max_input_tokens": 160000,
|
||||
"max_output_tokens": 160000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/minimax-m2p5": {
|
||||
"max_input_tokens": 196608,
|
||||
"max_output_tokens": 196608,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/gpt-oss-120b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 32768,
|
||||
@@ -142,48 +114,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/kimi-k2p5": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 256000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": True,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/kimi-k2-thinking": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 256000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/glm-4p5": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/gpt-oss-20b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 32768,
|
||||
@@ -198,4 +128,74 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/kimi-k2-instruct": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/kimi-k2-thinking": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 256000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/kimi-k2p5": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 256000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": True,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/minimax-m2p1": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 200000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"accounts/fireworks/models/minimax-m2p5": {
|
||||
"max_input_tokens": 196608,
|
||||
"max_output_tokens": 196608,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -16,62 +16,6 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"llama3-70b-8192": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"qwen-qwq-32b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"llama-3.1-8b-instant": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"llama-guard-3-8b": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"deepseek-r1-distill-llama-70b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
@@ -86,7 +30,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"llama3-8b-8192": {
|
||||
"gemma2-9b-it": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -100,9 +44,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-saba-24b": {
|
||||
"max_input_tokens": 32768,
|
||||
"max_output_tokens": 32768,
|
||||
"llama-3.1-8b-instant": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
@@ -128,7 +72,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"gemma2-9b-it": {
|
||||
"llama-guard-3-8b": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -140,6 +84,92 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"llama3-70b-8192": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"llama3-8b-8192": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"meta-llama/llama-4-maverick-17b-128e-instruct": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"meta-llama/llama-4-scout-17b-16e-instruct": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"meta-llama/llama-guard-4-12b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 1024,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"mistral-saba-24b": {
|
||||
"max_input_tokens": 32768,
|
||||
"max_output_tokens": 32768,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"moonshotai/kimi-k2-instruct": {
|
||||
@@ -171,64 +201,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"qwen/qwen3-32b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"meta-llama/llama-4-scout-17b-16e-instruct": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"meta-llama/llama-guard-4-12b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 1024,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"meta-llama/llama-4-maverick-17b-128e-instruct": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"openai/gpt-oss-120b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 65536,
|
||||
@@ -259,4 +231,32 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
},
|
||||
"qwen-qwq-32b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"qwen/qwen3-32b": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -16,21 +16,7 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"zai-org/GLM-4.7-Flash": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"zai-org/GLM-4.7": {
|
||||
"MiniMaxAI/MiniMax-M2.1": {
|
||||
"max_input_tokens": 204800,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
@@ -44,34 +30,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"zai-org/GLM-5": {
|
||||
"max_input_tokens": 202752,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"XiaomiMiMo/MiMo-V2-Flash": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"MiniMaxAI/MiniMax-M2.5": {
|
||||
"max_input_tokens": 204800,
|
||||
"max_output_tokens": 131072,
|
||||
@@ -86,8 +44,8 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"MiniMaxAI/MiniMax-M2.1": {
|
||||
"max_input_tokens": 204800,
|
||||
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
@@ -100,6 +58,118 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 66536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-Coder-Next": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 65536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-Embedding-4B": {
|
||||
"max_input_tokens": 32000,
|
||||
"max_output_tokens": 2048,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"Qwen/Qwen3-Embedding-8B": {
|
||||
"max_input_tokens": 32000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"Qwen/Qwen3-Next-80B-A3B-Instruct": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 66536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-Next-80B-A3B-Thinking": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3.5-397B-A17B": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 32768,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"XiaomiMiMo/MiMo-V2-Flash": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"deepseek-ai/DeepSeek-R1-0528": {
|
||||
"max_input_tokens": 163840,
|
||||
"max_output_tokens": 163840,
|
||||
@@ -156,20 +226,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"moonshotai/Kimi-K2.5": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": True,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"moonshotai/Kimi-K2-Thinking": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
@@ -184,27 +240,13 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-Next-80B-A3B-Instruct": {
|
||||
"moonshotai/Kimi-K2.5": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 66536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3.5-397B-A17B": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 32768,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"video_inputs": True,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
@@ -212,8 +254,8 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-235B-A22B-Thinking-2507": {
|
||||
"max_input_tokens": 262144,
|
||||
"zai-org/GLM-4.7": {
|
||||
"max_input_tokens": 204800,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
@@ -226,9 +268,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-Coder-Next": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 65536,
|
||||
"zai-org/GLM-4.7-Flash": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
@@ -237,53 +279,11 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-Coder-480B-A35B-Instruct": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 66536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"Qwen/Qwen3-Embedding-4B": {
|
||||
"max_input_tokens": 32000,
|
||||
"max_output_tokens": 2048,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"Qwen/Qwen3-Embedding-8B": {
|
||||
"max_input_tokens": 32000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"Qwen/Qwen3-Next-80B-A3B-Thinking": {
|
||||
"max_input_tokens": 262144,
|
||||
"zai-org/GLM-5": {
|
||||
"max_input_tokens": 202752,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
@@ -293,7 +293,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -16,6 +16,34 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"codestral-latest": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"devstral-2512": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"devstral-medium-2507": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
@@ -30,6 +58,48 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"devstral-medium-latest": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"devstral-small-2505": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"devstral-small-2507": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"labs-devstral-small-2512": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 256000,
|
||||
@@ -44,66 +114,10 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"devstral-medium-latest": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"open-mistral-7b": {
|
||||
"max_input_tokens": 8000,
|
||||
"max_output_tokens": 8000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-small-2506": {
|
||||
"magistral-medium-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-medium-2505": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"codestral-latest": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
@@ -111,21 +125,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"ministral-8b-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"magistral-small": {
|
||||
@@ -142,11 +142,11 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-large-2512": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"ministral-3b-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
@@ -156,7 +156,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"ministral-3b-latest": {
|
||||
"ministral-8b-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -184,9 +184,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"devstral-small-2505": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"mistral-large-2411": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
@@ -198,67 +198,11 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"pixtral-12b": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"open-mixtral-8x7b": {
|
||||
"max_input_tokens": 32000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"pixtral-large-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-nemo": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"devstral-2512": {
|
||||
"mistral-large-2512": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
@@ -282,6 +226,20 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-medium-2505": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 131072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-medium-2508": {
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 262144,
|
||||
@@ -296,10 +254,24 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-large-2411": {
|
||||
"max_input_tokens": 131072,
|
||||
"mistral-medium-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-nemo": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
@@ -310,6 +282,20 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-small-2506": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-small-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
@@ -324,6 +310,20 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"open-mistral-7b": {
|
||||
"max_input_tokens": 8000,
|
||||
"max_output_tokens": 8000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"open-mixtral-8x22b": {
|
||||
"max_input_tokens": 64000,
|
||||
"max_output_tokens": 64000,
|
||||
@@ -338,9 +338,23 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"mistral-medium-latest": {
|
||||
"open-mixtral-8x7b": {
|
||||
"max_input_tokens": 32000,
|
||||
"max_output_tokens": 32000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"pixtral-12b": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -352,11 +366,11 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"devstral-small-2507": {
|
||||
"pixtral-large-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
@@ -366,18 +380,4 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"magistral-medium-latest": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -16,6 +16,205 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"codex-mini-latest": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-3.5-turbo": {
|
||||
"max_input_tokens": 16385,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
"structured_output": False,
|
||||
"image_url_inputs": False,
|
||||
"pdf_inputs": False,
|
||||
"pdf_tool_message": False,
|
||||
"image_tool_message": False,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4-turbo": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4.1": {
|
||||
"max_input_tokens": 1047576,
|
||||
"max_output_tokens": 32768,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4.1-mini": {
|
||||
"max_input_tokens": 1047576,
|
||||
"max_output_tokens": 32768,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4.1-nano": {
|
||||
"max_input_tokens": 1047576,
|
||||
"max_output_tokens": 32768,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4o": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4o-2024-05-13": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4o-2024-08-06": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4o-2024-11-20": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
@@ -36,13 +235,32 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.3-codex": {
|
||||
"max_input_tokens": 400000,
|
||||
"gpt-4o-mini": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
@@ -52,6 +270,27 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5-chat-latest": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": False,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
@@ -76,6 +315,46 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5-pro": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 272000,
|
||||
@@ -96,46 +375,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4o-mini": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"text-embedding-ada-002": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 1536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5-chat-latest": {
|
||||
"gpt-5.1": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -147,7 +387,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
@@ -155,11 +395,11 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"codex-mini-latest": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"gpt-5.1-chat-latest": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
@@ -168,6 +408,27 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.1-codex": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
@@ -194,9 +455,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4o-2024-05-13": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 4096,
|
||||
"gpt-5.1-codex-mini": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -205,7 +466,27 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.2": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
@@ -254,46 +535,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"o3-deep-research": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"o1": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.1": {
|
||||
"gpt-5.2-pro": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
@@ -306,19 +548,20 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"structured_output": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"o4-mini-deep-research": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"gpt-5.3-codex": {
|
||||
"max_input_tokens": 400000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"pdf_inputs": True,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
@@ -326,8 +569,8 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
@@ -352,7 +595,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"o3": {
|
||||
"o1": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
@@ -372,189 +615,11 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"text-embedding-3-small": {
|
||||
"max_input_tokens": 8191,
|
||||
"max_output_tokens": 1536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4.1-nano": {
|
||||
"max_input_tokens": 1047576,
|
||||
"max_output_tokens": 32768,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"text-embedding-3-large": {
|
||||
"max_input_tokens": 8191,
|
||||
"max_output_tokens": 3072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-3.5-turbo": {
|
||||
"max_input_tokens": 16385,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
"structured_output": False,
|
||||
"image_url_inputs": False,
|
||||
"pdf_inputs": False,
|
||||
"pdf_tool_message": False,
|
||||
"image_tool_message": False,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.1-codex-mini": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.2": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4.1": {
|
||||
"max_input_tokens": 1047576,
|
||||
"max_output_tokens": 32768,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"o3-pro": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4-turbo": {
|
||||
"o1-mini": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 4096,
|
||||
"max_output_tokens": 65536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
@@ -562,47 +627,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"o4-mini": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4.1-mini": {
|
||||
"max_input_tokens": 1047576,
|
||||
"max_output_tokens": 32768,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"tool_calling": False,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
@@ -649,9 +674,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.1-codex": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"o3": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -669,9 +694,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.2-pro": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"o3-deep-research": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -682,7 +707,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
@@ -709,29 +733,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4o-2024-08-06": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5-mini": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"o3-pro": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -749,9 +753,9 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5.1-chat-latest": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 16384,
|
||||
"o4-mini": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
@@ -769,9 +773,28 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 8192,
|
||||
"o4-mini-deep-research": {
|
||||
"max_input_tokens": 200000,
|
||||
"max_output_tokens": 100000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"text-embedding-3-large": {
|
||||
"max_input_tokens": 8191,
|
||||
"max_output_tokens": 3072,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
@@ -781,59 +804,18 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-5-nano": {
|
||||
"max_input_tokens": 272000,
|
||||
"max_output_tokens": 128000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"o1-mini": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 65536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": False,
|
||||
"structured_output": True,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"gpt-4o": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 16384,
|
||||
"text-embedding-3-small": {
|
||||
"max_input_tokens": 8191,
|
||||
"max_output_tokens": 1536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
@@ -841,8 +823,26 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
"structured_output": True,
|
||||
"tool_calling": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
"image_tool_message": True,
|
||||
"tool_choice": True,
|
||||
},
|
||||
"text-embedding-ada-002": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 1536,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
"image_url_inputs": True,
|
||||
"pdf_inputs": True,
|
||||
"pdf_tool_message": True,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -16,20 +16,6 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"sonar-reasoning-pro": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"sonar": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 4096,
|
||||
@@ -72,4 +58,18 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": False,
|
||||
},
|
||||
"sonar-reasoning-pro": {
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": False,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -16,20 +16,6 @@ https://docs.langchain.com/oss/python/langchain/models#updating-or-overwriting-p
|
||||
from typing import Any
|
||||
|
||||
_PROFILES: dict[str, dict[str, Any]] = {
|
||||
"grok-2-1212": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-2": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
@@ -44,7 +30,21 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-fast-latest": {
|
||||
"grok-2-1212": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-2-latest": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -72,34 +72,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-code-fast-1": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 10000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-2-vision-1212": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 4096,
|
||||
@@ -114,104 +86,6 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4-1-fast-non-reasoning": {
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-beta": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-mini-fast": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4-fast": {
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-latest": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4-1-fast": {
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-2-vision-latest": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 4096,
|
||||
@@ -226,7 +100,63 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-mini-latest": {
|
||||
"grok-3": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-fast": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-fast-latest": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-latest": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-mini": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -240,7 +170,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-mini": {
|
||||
"grok-3-mini-fast": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -268,7 +198,7 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-2-latest": {
|
||||
"grok-3-mini-latest": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
@@ -279,9 +209,65 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 64000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4-1-fast": {
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4-1-fast-non-reasoning": {
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4-fast": {
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": True,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-4-fast-non-reasoning": {
|
||||
"max_input_tokens": 2000000,
|
||||
"max_output_tokens": 30000,
|
||||
@@ -296,6 +282,34 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-beta": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 4096,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-code-fast-1": {
|
||||
"max_input_tokens": 256000,
|
||||
"max_output_tokens": 10000,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": True,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-vision-beta": {
|
||||
"max_input_tokens": 8192,
|
||||
"max_output_tokens": 4096,
|
||||
@@ -310,18 +324,4 @@ _PROFILES: dict[str, dict[str, Any]] = {
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
"grok-3-fast": {
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"text_inputs": True,
|
||||
"image_inputs": False,
|
||||
"audio_inputs": False,
|
||||
"video_inputs": False,
|
||||
"text_outputs": True,
|
||||
"image_outputs": False,
|
||||
"audio_outputs": False,
|
||||
"video_outputs": False,
|
||||
"reasoning_output": False,
|
||||
"tool_calling": True,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
"""Integration tests for LangChain components."""
|
||||
|
||||
# ruff: noqa: E402
|
||||
import importlib.util
|
||||
|
||||
import pytest
|
||||
|
||||
# Rewrite assert statements for test suite so that implementations can
|
||||
@@ -19,13 +21,8 @@ modules = [
|
||||
for module in modules:
|
||||
pytest.register_assert_rewrite(f"langchain_tests.integration_tests.{module}")
|
||||
|
||||
_HAS_DEEPAGENTS = False
|
||||
try:
|
||||
import deepagents # noqa: F401
|
||||
except ImportError:
|
||||
_HAS_DEEPAGENTS = False
|
||||
else:
|
||||
_HAS_DEEPAGENTS = True
|
||||
_HAS_DEEPAGENTS = importlib.util.find_spec("deepagents") is not None
|
||||
if _HAS_DEEPAGENTS:
|
||||
pytest.register_assert_rewrite("langchain_tests.integration_tests.sandboxes")
|
||||
|
||||
from langchain_tests.integration_tests.base_store import (
|
||||
|
||||
Reference in New Issue
Block a user