Skip to content
This repository was archived by the owner on Aug 25, 2024. It is now read-only.

Commit b6b546b

Browse files
John Andersenpdxjohnny
authored andcommitted
CONTRIBUTING: Add mermaid for tool call validating proxy
1 parent ed02923 commit b6b546b

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

CONTRIBUTING.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,60 @@ Each database tells the other databases when there are updates.
133133
We use federation to enable self reporting and granularity
134134
as applicable to ad-hoc formed policy as desired by end-user.
135135

136+
```mermaid
137+
graph TD
138+
subgraph Tool_Catalog[Tool Catalog]
139+
subgraph Third_Party[3rd Party Catalog - Open Source / External OpenAPI Endpoints]
140+
run_kubernetes_get_pod[kubectl get pod]
141+
run_kubernetes_delete_deployment[kubectl delete deploy $deployment_name]
142+
end
143+
subgraph Second_Party[2nd Party Catalog - Org Local OpenAPI Endpoints]
144+
query_org_database[Query Org Database]
145+
end
146+
query_org_database --> tool_catalog_list_tools
147+
run_kubernetes_get_pod --> tool_catalog_list_tools
148+
run_kubernetes_delete_deployment --> tool_catalog_list_tools
149+
tool_catalog_list_tools[#47;tools#47;list]
150+
end
151+
subgraph llm_provider_Endpoint[LLM Endpoint - https://api.openai.com/v1/]
152+
llm_provider_completions_endpoint[#47;chat#47;completions]
153+
154+
llm_provider_completions_endpoint --> query_org_database
155+
llm_provider_completions_endpoint --> run_kubernetes_get_pod
156+
llm_provider_completions_endpoint --> run_kubernetes_delete_deployment
157+
end
158+
subgraph Transparency_Service[Transparency Service]
159+
Transparency_Service_Statement_Submission_Endpoint[POST #47;entries]
160+
Transparency_Service_Policy_Engine[Decide admicability per Registration Policy]
161+
Transparency_Service_Receipt_Endpoint[GET #47;receipts#47;urn...qnGmr1o]
162+
163+
Transparency_Service_Statement_Submission_Endpoint --> Transparency_Service_Policy_Engine
164+
Transparency_Service_Policy_Engine --> Transparency_Service_Receipt_Endpoint
165+
end
166+
subgraph LLM_Proxy[LLM Proxy]
167+
llm_proxy_completions_endpoint[#47;chat#47;completions]
168+
intercept_tool_definitions[Intercept tool definitions to LLM]
169+
add_tool_definitions[Add tools from tool catalog to tool definitions]
170+
make_modified_request_to_llm_provider[Make modified request to llm_provider]
171+
validate_llm_reponse_tool_calls[Validate LLM reponse tool calls]
172+
173+
llm_proxy_completions_endpoint --> intercept_tool_definitions
174+
intercept_tool_definitions --> add_tool_definitions
175+
tool_catalog_list_tools --> add_tool_definitions
176+
add_tool_definitions --> make_modified_request_to_llm_provider
177+
make_modified_request_to_llm_provider --> llm_provider_completions_endpoint
178+
llm_provider_completions_endpoint --> validate_llm_reponse_tool_calls
179+
validate_llm_reponse_tool_calls --> Transparency_Service_Statement_Submission_Endpoint
180+
Transparency_Service_Receipt_Endpoint --> validate_llm_reponse_tool_calls
181+
validate_llm_reponse_tool_calls --> llm_proxy_completions_endpoint
182+
end
183+
subgraph AI_Agent[AI Agent]
184+
langchain_agent[langchain.ChatOpenAI] --> llm_proxy_completions_endpoint
185+
end
186+
187+
llm_proxy_completions_endpoint -->|Return proxied response| langchain_agent
188+
```
189+
136190
- Related: https://github.com/ossf/s2c2f/blob/main/specification/framework.md#appendix-relation-to-scitt
137191
- This use case will be mostly focused on the policy / gatekeeper component and federation components of [SCITT](https://datatracker.ietf.org/doc/draft-ietf-scitt-architecture/).
138192
- 5.2.2: Registration Policies

0 commit comments

Comments
 (0)