Skip to content

Generic LLM Configuration Support#147

Merged
dhilloulinoracle merged 23 commits into
oracle:mainfrom
spichen:generic-llmconfig
May 6, 2026
Merged

Generic LLM Configuration Support#147
dhilloulinoracle merged 23 commits into
oracle:mainfrom
spichen:generic-llmconfig

Conversation

@spichen
Copy link
Copy Markdown
Contributor

@spichen spichen commented Mar 24, 2026

Implementation of RFC #114

@spichen spichen requested a review from a team March 24, 2026 20:18
@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Mar 24, 2026
@spichen spichen force-pushed the generic-llmconfig branch 2 times, most recently from 48115b7 to 86e4440 Compare March 24, 2026 20:22
@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Thank you @spichen for following-up.
@cesarebernardis please have a look as that's a very useful addition

Comment thread docs/pyagentspec/source/agentspec/language_spec_nightly.rst Outdated
Comment thread docs/pyagentspec/source/misc/reference_sheet.rst
Comment thread docs/pyagentspec/source/agentspec/language_spec_nightly.rst Outdated
Comment thread pyagentspec/src/pyagentspec/component.py Outdated
Comment thread pyagentspec/src/pyagentspec/component.py Outdated
Comment thread pyagentspec/tests/test_bare_llmconfig_adapter_dispatch.py Outdated
@spichen spichen force-pushed the generic-llmconfig branch 2 times, most recently from 2393a89 to c343e6b Compare April 2, 2026 13:25
Comment thread docs/pyagentspec/source/agentspec/language_spec_nightly.rst Outdated
Comment thread docs/pyagentspec/source/howtoguides/howto_llm_from_different_providers.rst Outdated
Comment thread pyagentspec/src/pyagentspec/llms/geminiconfig.py Outdated
Comment thread pyagentspec/src/pyagentspec/llms/llmconfig.py Outdated
Comment thread pyagentspec/src/pyagentspec/adapters/autogen/_autogenconverter.py Outdated
Comment thread pyagentspec/src/pyagentspec/adapters/langgraph/_langgraphconverter.py Outdated
Comment thread docs/pyagentspec/source/misc/reference_sheet.rst
@xdave
Copy link
Copy Markdown

xdave commented May 2, 2026

Hi there, I am eagerly awaiting the incorporation of these changes. It cleanly unlocks a lot wider use of this standard by many individuals and organizations. Thank you!

spichen and others added 9 commits May 4, 2026 15:21
LlmConfig is no longer abstract. It can be used directly with model_id,
provider, api_provider, api_type, url, and api_key to describe any LLM
without a dedicated subclass. Existing subclasses remain unchanged.

All framework adapters dispatch bare LlmConfig instances via api_provider.
Schema generation handles concrete-with-subclasses via
_include_subclasses_in_schema on Component. Documentation, JSON spec,
and language spec updated accordingly.
- Mark api_key as SensitiveField in spec and add to sensitive fields table
- Add missing url and api_key fields to reference sheet
- Clarify url field defaults to API provider's default URL when null
- Split adapter-specific tests into respective tests/adapters/ folders
Add test that validates a bare LlmConfig embedded in an Agent schema,
ensuring subclass schemas are correctly populated in $defs when schema
generation starts from a parent component (not LlmConfig itself).
…ispatch

Cover openai provider basic dispatch and url+api_key passthrough
for both adapters, matching the coverage already present in
openaiagents and langgraph adapter tests.
…roviders.rst

Co-authored-by: sonleoracle <tran.minh.son.le@oracle.com>
@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Internal regression failed: Build ID #427

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate failed: Build ID #658

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate INPROGRESS

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Internal regression failed: Build ID #454

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate failed: Build ID #659

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate INPROGRESS

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Internal regression failed: Build ID #455

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate failed: Build ID #660

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate INPROGRESS

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Internal regression failed: Build ID #456

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate failed: Build ID #661

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate INPROGRESS

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Internal regression failed: Build ID #457

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate failed: Build ID #662

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate INPROGRESS

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Internal regression failed: Build ID #458

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate failed: Build ID #663

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate INPROGRESS

@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Internal regression succeeded 🍏: Build ID #459

@dhilloulinoracle dhilloulinoracle merged commit e62e929 into oracle:main May 6, 2026
6 of 7 checks passed
@dhilloulinoracle
Copy link
Copy Markdown
Contributor

Merge Gate succeeded 🍏: Build ID #664

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants