Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
26.2.0.dev7
26.4.0.dev0
4 changes: 4 additions & 0 deletions docs/pyagentspec/source/_components/all_components.json
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@
"path": "pyagentspec.llms.llmconfig.LlmConfig",
"name": "pyagentspec.llms.LlmConfig"
},
{
"path": "pyagentspec.llms.dbmsvectorchainllmconfig.DbmsVectorChainLlmConfig",
"name": "pyagentspec.llms.DbmsVectorChainLlmConfig"
},
{
"path": "pyagentspec.llms.llmgenerationconfig.LlmGenerationConfig",
"name": "pyagentspec.llms.LlmGenerationConfig"
Expand Down
14 changes: 14 additions & 0 deletions docs/pyagentspec/source/_components/llm_config_tabs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,20 @@
model_id="model-id",
)

.. tab:: DBMS Vector Chain

.. code-block:: python

from pyagentspec.llms import DbmsVectorChainLlmConfig

llm_config = DbmsVectorChainLlmConfig(
name="Database OpenAI",
model_id="gpt-4o",
provider="openai",
url="https://api.openai.com/v1/chat/completions",
credential_name="MY_OPENAI_CREDENTIAL",
)

.. tab:: OCI GenAI

.. code-block:: python
Expand Down
6 changes: 4 additions & 2 deletions docs/pyagentspec/source/agentspec/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ You can download the Agent Spec technical report at the following :download:`lin
:maxdepth: 2

Introduction, motivation & vision <intro_and_motivation>
Language specification (v26.1.2 latest) <language_spec_26_1_2>
Language specification (v26.3.0 latest) <language_spec_26_3_0>
Language specification (v26.1.2) <language_spec_26_1_2>
Language specification (v26.1.0) <language_spec_26_1_0>
Language specification (v25.4.1) <language_spec_25_4_1>
Positioning in the agentic ecosystem <positioning>
Expand All @@ -39,7 +40,8 @@ You can download the Agent Spec technical report at the following :download:`lin

Introduction, motivation & vision <intro_and_motivation>
Language specification (under development) <language_spec_nightly>
Language specification (v26.1.2 latest release) <language_spec_26_1_2>
Language specification (v26.3.0 latest release) <language_spec_26_3_0>
Language specification (v26.1.2) <language_spec_26_1_2>
Language specification (v26.1.0) <language_spec_26_1_0>
Language specification (v25.4.1) <language_spec_25_4_1>
Positioning in the agentic ecosystem <positioning>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,16 @@
}
]
},
"DbmsVectorChainLlmConfig": {
"anyOf": [
{
"$ref": "#/$defs/BaseDbmsVectorChainLlmConfig"
},
{
"$ref": "#/$defs/ComponentReference"
}
]
},
"EndNode": {
"anyOf": [
{
Expand Down Expand Up @@ -2638,6 +2648,146 @@
],
"x-abstract-component": true
},
"BaseDbmsVectorChainLlmConfig": {
"additionalProperties": false,
"description": "Configure an LLM executed by Oracle Database through DBMS_VECTOR_CHAIN.",
"properties": {
"id": {
"title": "Id",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Description"
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Metadata"
},
"model_id": {
"minLength": 1,
"title": "Model Id",
"type": "string"
},
"provider": {
"minLength": 1,
"title": "Provider",
"type": "string"
},
"url": {
"minLength": 1,
"title": "Url",
"type": "string"
},
"default_generation_parameters": {
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/LlmGenerationConfig"
}
],
"default": null
},
"retry_policy": {
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/RetryPolicy"
}
],
"default": null
},
"host": {
"anyOf": [
{
"const": "local",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Host"
},
"credential_name": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Credential Name"
},
"transfer_timeout": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Transfer Timeout"
},
"connection_config": {
"anyOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/OracleDatabaseConnectionConfig"
}
],
"default": null
},
"$referenced_components": {
"$ref": "#/$defs/ReferencedComponents"
},
"component_type": {
"const": "DbmsVectorChainLlmConfig"
}
},
"required": [
"model_id",
"name",
"provider",
"url"
],
"title": "DbmsVectorChainLlmConfig",
"type": "object",
"x-abstract-component": false
},
"BaseEndNode": {
"additionalProperties": false,
"description": "End nodes denote the end of the execution of a flow.\n\nThere might be several end nodes in a flow, in which case the executor of the flow\nshould be able to track which one was reached and pass that back to the caller.\n\n- **Inputs**\n The list of inputs of the step. If both input and output properties are specified they\n must be an exact match\n\n If None is given, ``pyagentspec`` copies the outputs provided, if any. Otherwise, no input is exposed.\n- **Outputs**\n The list of outputs that should be exposed by the flow. If both input and output properties\n are specified they must be an exact match\n\n If None is given, ``pyagentspec`` copies the inputs provided, if any. Otherwise, no output is exposed.\n- **Branches**\n None.\n\nExamples\n--------\n>>> from pyagentspec.agent import Agent\n>>> from pyagentspec.flows.edges import ControlFlowEdge, DataFlowEdge\n>>> from pyagentspec.flows.flow import Flow\n>>> from pyagentspec.flows.nodes import AgentNode, BranchingNode, StartNode, EndNode\n>>> from pyagentspec.property import Property\n>>> languages_to_branch_name = {\n... \"english\": \"ENGLISH\",\n... \"spanish\": \"SPANISH\",\n... \"italian\": \"ITALIAN\",\n... }\n>>> language_property = Property(\n... json_schema={\"title\": \"language\", \"type\": \"string\"}\n... )\n>>> agent = Agent(\n... name=\"Language detector agent\",\n... llm_config=llm_config,\n... system_prompt=(\n... \"Your task is to understand the language spoken by the user.\"\n... \"Please output only the language in lowercase and submit.\"\n... ),\n... outputs=[language_property],\n... )\n>>> start_node = StartNode(name=\"start\")\n>>> english_end_node = EndNode(\n... name=\"english end\", branch_name=languages_to_branch_name[\"english\"]\n... )\n>>> spanish_end_node = EndNode(\n... name=\"spanish end\", branch_name=languages_to_branch_name[\"spanish\"]\n... )\n>>> italian_end_node = EndNode(\n... name=\"italian end\", branch_name=languages_to_branch_name[\"italian\"]\n... )\n>>> unknown_end_node = EndNode(name=\"unknown language end\", branch_name=\"unknown\")\n>>> branching_node = BranchingNode(\n... name=\"language check\",\n... mapping=languages_to_branch_name,\n... inputs=[language_property]\n... )\n>>> agent_node = AgentNode(\n... name=\"User input agent node\",\n... agent=agent,\n... )\n>>> assistant = Flow(\n... name=\"Check access flow\",\n... start_node=start_node,\n... nodes=[\n... start_node,\n... agent_node,\n... branching_node,\n... english_end_node,\n... spanish_end_node,\n... italian_end_node,\n... unknown_end_node,\n... ],\n... control_flow_connections=[\n... ControlFlowEdge(\n... name=\"start_to_agent\", from_node=start_node, to_node=agent_node\n... ),\n... ControlFlowEdge(\n... name=\"agent_to_branching\", from_node=agent_node, to_node=branching_node\n... ),\n... ControlFlowEdge(\n... name=\"branching_to_english_end\",\n... from_node=branching_node,\n... from_branch=languages_to_branch_name[\"english\"],\n... to_node=english_end_node,\n... ),\n... ControlFlowEdge(\n... name=\"branching_to_spanish_end\",\n... from_node=branching_node,\n... from_branch=languages_to_branch_name[\"spanish\"],\n... to_node=spanish_end_node,\n... ),\n... ControlFlowEdge(\n... name=\"branching_to_italian_end\",\n... from_node=branching_node,\n... from_branch=languages_to_branch_name[\"italian\"],\n... to_node=italian_end_node,\n... ),\n... ControlFlowEdge(\n... name=\"branching_to_unknown_end\",\n... from_node=branching_node,\n... from_branch=BranchingNode.DEFAULT_BRANCH,\n... to_node=unknown_end_node,\n... ),\n... ],\n... data_flow_connections=[\n... DataFlowEdge(\n... name=\"language_edge\",\n... source_node=agent_node,\n... source_output=\"language\",\n... destination_node=branching_node,\n... destination_input=\"language\",\n... ),\n... ],\n... )",
Expand Down Expand Up @@ -3386,6 +3536,9 @@
},
"BaseLlmConfig": {
"anyOf": [
{
"$ref": "#/$defs/DbmsVectorChainLlmConfig"
},
{
"$ref": "#/$defs/GeminiConfig"
},
Expand Down Expand Up @@ -7732,6 +7885,9 @@
{
"$ref": "#/$defs/BaseDatastore"
},
{
"$ref": "#/$defs/BaseDbmsVectorChainLlmConfig"
},
{
"$ref": "#/$defs/BaseEndNode"
},
Expand Down Expand Up @@ -8192,6 +8348,21 @@
}
}
},
"VersionedDbmsVectorChainLlmConfig": {
"anyOf": [
{
"$ref": "#/$defs/BaseDbmsVectorChainLlmConfig"
},
{
"$ref": "#/$defs/ComponentReference"
}
],
"properties": {
"agentspec_version": {
"$ref": "#/$defs/AgentSpecVersionEnum"
}
}
},
"VersionedEndNode": {
"anyOf": [
{
Expand Down Expand Up @@ -9077,6 +9248,9 @@
{
"$ref": "#/$defs/VersionedDatastore"
},
{
"$ref": "#/$defs/VersionedDbmsVectorChainLlmConfig"
},
{
"$ref": "#/$defs/VersionedEndNode"
},
Expand Down
Loading
Loading