Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
4759bbd
Merge pull request #1 from JamMaster1999/stable_logging
JamMaster1999 Mar 18, 2025
b6f9de7
adding perplexity citations support
JamMaster1999 Apr 1, 2025
f5b7399
fixed the citations issue
JamMaster1999 Apr 3, 2025
c2882ab
added new openai and gemini models. Added support for inline sources …
JamMaster1999 Apr 22, 2025
1d7c80d
added a ton of new models. Added support for openAI responses. Added …
JamMaster1999 Apr 26, 2025
90ff6f7
new changes for code interpretor
JamMaster1999 Jun 4, 2025
ffc6922
added new fallback_config api paramter and new gemini 2.5 production …
JamMaster1999 Jul 6, 2025
3729543
added gemini models and updated readme for fallback_config
JamMaster1999 Jul 6, 2025
3fd6d04
added token counting from openai, support caching for anthropic, gemi…
JamMaster1999 Jul 13, 2025
4898f6b
added support for tracking cost for cached content
JamMaster1999 Jul 13, 2025
1480cfe
new gemini and openai models pricing, support for websearch for O-se…
JamMaster1999 Jul 29, 2025
7530883
added some new models and support for interleaved images and text
JamMaster1999 Oct 24, 2025
7271bc0
refactored to use google-genai instead of openai-compatible. Added po…
JamMaster1999 Nov 1, 2025
abfa992
added support for reaoning_effort as well
JamMaster1999 Nov 1, 2025
640d643
fixed the issue with adding images
JamMaster1999 Nov 1, 2025
7fd1f8a
added support for async workloads for all major providers. added supp…
JamMaster1999 Nov 18, 2025
9d9ead3
added gemini 3
JamMaster1999 Dec 8, 2025
86f74fd
added new models and fixed the image understanding in responses
JamMaster1999 Dec 11, 2025
7a39075
fixed response synthesizer for images in responses api and also adde…
JamMaster1999 Jan 13, 2026
cd6a154
added support for new thinking mode for gmeini 3, support for image i…
JamMaster1999 Jan 30, 2026
083e788
added support for progressive tracking when using async_query and fix…
JamMaster1999 Feb 26, 2026
d11163a
added gemini 3.1 pro
JamMaster1999 Mar 20, 2026
1762349
"Claude PR Assistant workflow"
JamMaster1999 Mar 25, 2026
1f874d2
"Claude Code Review workflow"
JamMaster1999 Mar 25, 2026
721d8d0
Merge pull request #2 from JamMaster1999/add-claude-github-actions-17…
JamMaster1999 Mar 25, 2026
0077cbc
Fixed modal async warnings and added more robust support for images.
JamMaster1999 Apr 3, 2026
3d98d2a
Fixed another image issue
JamMaster1999 Apr 3, 2026
eca68a4
Add compute_cost tracking to Usage across all providers
JamMaster1999 Apr 3, 2026
2366551
updated the latest package names
JamMaster1999 Apr 3, 2026
da7a0ff
Update ModelConfig parameters for responses-gpt-5 series and add resp…
JamMaster1999 May 4, 2026
a87cbfc
Add Gemini 3.5 flash model configurations and implement timeout handl…
JamMaster1999 May 26, 2026
43e927b
Add Gemini 3.1 flash lite model configurations and enhance error logg…
JamMaster1999 May 31, 2026
04945be
Update dependencies in requirements and setup files, and enhance imag…
JamMaster1999 Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Claude Code Review

on:
pull_request:
types: [opened, synchronize, ready_for_review, reopened]
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# - "src/**/*.js"
# - "src/**/*.jsx"

jobs:
claude-review:
# Optional: Filter by PR author
# if: |
# github.event.pull_request.user.login == 'external-contributor' ||
# github.event.pull_request.user.login == 'new-developer' ||
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'

runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
plugins: 'code-review@claude-code-plugins'
prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://code.claude.com/docs/en/cli-reference for available options

50 changes: 50 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Claude Code

on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]

jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}

# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read

# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
# prompt: 'Update the pull request description to include a summary of changes.'

# Optional: Add claude_args to customize behavior and configuration
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://code.claude.com/docs/en/cli-reference for available options
# claude_args: '--allowed-tools Bash(gh pr:*)'

27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,30 @@
# LLM Master

## Fallback Configuration

Use `fallback_config` to specify which parameters should be passed to fallback models:

```python
# Primary model with advanced params, fallback gets only compatible ones
response = await llm.query(
model_name="o3",
reasoning_effort="high", # o3-specific parameter
temperature=0.7,
fallback_model="claude-3-5-sonnet-latest",
fallback_config={"temperature": 0.7} # Only pass temperature to Claude
)

# Safe fallback: no parameters passed to fallback model
response = await llm.query(
model_name="gemini-2.5-flash",
reasoning_effort="low", # Gemini-specific
fallback_model="gpt-4.1"
# No fallback_config = no params passed to fallback (safe default)
)
```

---

# Adding a New Provider Using OpenAI Base Client

This guide walks through the process of adding a new API provider (like Recraft.AI) that uses the OpenAI client base class but with a different endpoint and potentially different features.
Expand Down
2 changes: 2 additions & 0 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from .base_provider import UnifiedProvider
from .anthropic_provider import AnthropicProvider
from .bfl_provider import BFLProvider
from .gemini_provider import GoogleGenAIProvider
from .classes import (
LLMResponse,
Usage,
Expand All @@ -17,6 +18,7 @@
"UnifiedProvider",
"AnthropicProvider",
"BFLProvider",
"GoogleGenAIProvider",
"LLMResponse",
"Usage",
"ModelRegistry",
Expand Down
Loading
Loading