1
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<!doctype html>
3
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<html lang="en" class="no-js">
4
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<head>
5
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
6
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta charset="utf-8">
7
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta name="viewport" content="width=device-width,initial-scale=1">
8
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
9
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta name="description" content="AI-powered video analysis and knowledge extraction">
10
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
11
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
12
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta name="author" content="CONFLICT LLC">
13
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
14
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
15
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="canonical" href="https://planopticon.dev/api/providers/">
16
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
17
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
18
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="prev" href="../models/">
19
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
20
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
21
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="next" href="../analyzers/">
22
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
23
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
24
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
25
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
26
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
27
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="icon" href="../../assets/images/favicon.png">
28
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.4">
29
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
30
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
31
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
32
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<title>Providers - PlanOpticon</title>
33
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
34
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
35
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
36
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="../../assets/stylesheets/main.484c7ddc.min.css">
37
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
38
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
39
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
40
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
41
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
42
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
43
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
44
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
45
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
46
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
47
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
48
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
49
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
50
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
51
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
52
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
53
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
54
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
55
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
56
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
57
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
58
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="../../assets/_mkdocstrings.css">
59
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
60
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<link rel="stylesheet" href="../../assets/css/custom.css">
61
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
62
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
63
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
64
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
65
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
66
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
67
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
68
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</head>
69
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
70
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
71
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
72
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
73
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
74
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
75
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
76
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
77
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
78
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom">
79
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
80
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
81
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
82
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
83
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-overlay" for="__drawer"></label>
84
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div data-md-component="skip">
85
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
86
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
87
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#providers-api-reference" class="md-skip">
88
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Skip to content
89
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
90
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
91
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
92
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div data-md-component="announce">
93
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
94
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
95
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
96
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
97
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
98
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
99
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<header class="md-header" data-md-component="header">
100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-header__inner md-grid" aria-label="Header">
101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../.." title="PlanOpticon" class="md-header__button md-logo" aria-label="PlanOpticon" data-md-component="logo">
102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<img src="../../assets/images/conflict-logo.svg" alt="logo">
104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-header__button md-icon" for="__drawer">
107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__title" data-md-component="header-title">
111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__ellipsis">
112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__topic">
113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
PlanOpticon
115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__topic" data-md-component="header-topic">
118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Providers
121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<form class="md-header__option" data-md-component="palette">
129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="custom" data-md-color-accent="custom" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</form>
151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-header__button md-icon" for="__search">
161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search" data-md-component="search" role="dialog">
165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-search__overlay" for="__search"></label>
166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search__inner" role="search">
167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<form class="md-search__form" name="search">
168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-search__icon md-icon" for="__search">
170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-search__options" aria-label="Search">
176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</button>
181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search__suggest" data-md-component="search-suggest"></div>
184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</form>
186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search__output">
187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search-result" data-md-component="search-result">
189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-search-result__meta">
190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Initializing search
191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ol class="md-search-result__list" role="presentation"></ol>
193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-header__source">
202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="https://github.com/ConflictHQ/PlanOpticon" title="Go to repository" class="md-source" data-md-component="source">
203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-source__icon md-icon">
204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-source__repository">
208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ConflictHQ/PlanOpticon
209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</header>
216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-container" data-md-component="container">
218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-grid">
225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-tabs__list">
226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../.." class="md-tabs__link">
234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Home
240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../getting-started/installation/" class="md-tabs__link">
255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Getting Started
259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/single-video/" class="md-tabs__link">
275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
User Guide
279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../use-cases/" class="md-tabs__link">
293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Use Cases
299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../cli-reference/" class="md-tabs__link">
312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
CLI Reference
318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../architecture/overview/" class="md-tabs__link">
333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Architecture
337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item md-tabs__item--active">
354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../models/" class="md-tabs__link">
355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
API Reference
359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../faq/" class="md-tabs__link">
373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
FAQ & Troubleshooting
379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-tabs__item">
391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../contributing/" class="md-tabs__link">
392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Contributing
398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<main class="md-main" data-md-component="main">
411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-main__inner md-grid">
412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar__scrollwrap">
417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar__inner">
418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__drawer">
426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../.." title="PlanOpticon" class="md-nav__button md-logo" aria-label="PlanOpticon" data-md-component="logo">
427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<img src="../../assets/images/conflict-logo.svg" alt="logo">
429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
PlanOpticon
432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-nav__source">
435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="https://github.com/ConflictHQ/PlanOpticon" title="Go to repository" class="md-source" data-md-component="source">
436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-source__icon md-icon">
437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-source__repository">
441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ConflictHQ/PlanOpticon
442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../.." class="md-nav__link">
456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Home
463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--nested">
492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Getting Started
508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__nav_2">
520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Getting Started
524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../getting-started/installation/" class="md-nav__link">
537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Installation
544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../getting-started/quickstart/" class="md-nav__link">
565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Quick Start
572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../getting-started/configuration/" class="md-nav__link">
593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Configuration
600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--nested">
637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
User Guide
653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__nav_3">
665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
User Guide
669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/single-video/" class="md-nav__link">
682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Single Video Analysis
689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/batch/" class="md-nav__link">
710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Batch Processing
717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/document-ingestion/" class="md-nav__link">
738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Document Ingestion
745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/cloud-sources/" class="md-nav__link">
766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Cloud Sources
773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/knowledge-graphs/" class="md-nav__link">
794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Knowledge Graphs
801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/companion/" class="md-nav__link">
822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Interactive Companion
829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/planning-agent/" class="md-nav__link">
850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Planning Agent
857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/authentication/" class="md-nav__link">
878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Authentication
885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
891
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
892
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
893
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
894
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
895
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
896
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
897
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
898
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
899
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
900
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
901
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
902
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
903
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
904
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
905
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/export/" class="md-nav__link">
906
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
907
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
908
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
909
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
910
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
911
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
912
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Export & Documents
913
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
914
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
915
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
916
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
917
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
918
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
919
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
920
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
921
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
922
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
923
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
924
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
925
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
926
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
927
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
928
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
929
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
930
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
931
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
932
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
933
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../guide/output-formats/" class="md-nav__link">
934
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
935
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
936
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
937
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
938
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
939
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
940
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Output Formats
941
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
942
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
943
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
944
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
945
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
946
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
947
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
948
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
949
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
950
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
951
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
952
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
953
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
954
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
955
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
956
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
957
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
958
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
959
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
960
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
961
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
962
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
963
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
964
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
965
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
966
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
967
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
968
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../use-cases/" class="md-nav__link">
969
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
970
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
971
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
972
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
973
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
974
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
975
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Use Cases
976
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
977
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
978
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
979
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
980
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
981
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
982
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
983
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
984
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
985
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
986
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
987
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
988
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
989
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
990
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
991
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
992
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
993
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
994
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
995
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../cli-reference/" class="md-nav__link">
996
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
997
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
998
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
999
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1000
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1001
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1002
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
CLI Reference
1003
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1004
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1005
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1006
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1007
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1008
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1009
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1010
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1011
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1012
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1013
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1014
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1015
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1016
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1017
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1018
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1019
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1020
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1021
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1022
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1023
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1024
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1025
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1026
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1027
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1028
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1029
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1030
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1031
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--nested">
1032
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1033
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1034
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1035
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1036
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1037
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
1038
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1039
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1040
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
1041
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1042
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1043
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1044
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1045
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1046
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1047
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Architecture
1048
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1049
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1050
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1051
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1052
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1053
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1054
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1055
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1056
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1057
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1058
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
1059
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__nav_6">
1060
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1061
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1062
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1063
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Architecture
1064
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1065
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1066
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1067
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
1068
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1069
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1070
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1071
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1072
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1073
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1074
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1075
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1076
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../architecture/overview/" class="md-nav__link">
1077
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1078
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1079
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1080
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1081
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1082
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1083
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Overview
1084
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1085
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1086
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1087
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1088
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1089
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1090
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1091
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1092
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1093
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1094
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1095
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1096
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1097
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1098
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1099
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../architecture/providers/" class="md-nav__link">
1105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Provider System
1112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../architecture/pipeline/" class="md-nav__link">
1133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Processing Pipeline
1140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
1182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" checked>
1186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="">
1189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
API Reference
1196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="true">
1207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__nav_7">
1208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
API Reference
1212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-scrollfix>
1216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../models/" class="md-nav__link">
1225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Models
1232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item md-nav__item--active">
1254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
1256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__link md-nav__link--active" for="__toc">
1262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Providers
1269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="./" class="md-nav__link md-nav__link--active">
1280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Providers
1287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__toc">
1306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
1307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Table of contents
1308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
1309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base" class="md-nav__link">
1313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
base
1316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="base">
1321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider" class="md-nav__link">
1325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
BaseProvider
1328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="BaseProvider">
1333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.analyze_image" class="md-nav__link">
1337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
analyze_image
1340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.chat" class="md-nav__link">
1348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat
1351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.list_models" class="md-nav__link">
1359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
list_models
1362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.transcribe_audio" class="md-nav__link">
1370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcribe_audio
1373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ModelInfo" class="md-nav__link">
1386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ModelInfo
1389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.OpenAICompatibleProvider" class="md-nav__link">
1397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OpenAICompatibleProvider
1400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry" class="md-nav__link">
1408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ProviderRegistry
1411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="ProviderRegistry">
1416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.all_registered" class="md-nav__link">
1420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
all_registered
1423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.available" class="md-nav__link">
1431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
available
1434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get" class="md-nav__link">
1442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get
1445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get_by_model" class="md-nav__link">
1453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_by_model
1456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get_default_models" class="md-nav__link">
1464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_default_models
1467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.register" class="md-nav__link">
1475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
register
1478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager" class="md-nav__link">
1496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
manager
1499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="manager">
1504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager" class="md-nav__link">
1508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ProviderManager
1511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="ProviderManager">
1516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.__init__" class="md-nav__link">
1520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
__init__
1523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="__init__">
1528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.__init__--parameters" class="md-nav__link">
1532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Parameters
1535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.analyze_image" class="md-nav__link">
1548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
analyze_image
1551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.chat" class="md-nav__link">
1559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat
1562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.get_models_used" class="md-nav__link">
1570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_models_used
1573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.transcribe_audio" class="md-nav__link">
1581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcribe_audio
1584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery" class="md-nav__link">
1602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
discovery
1605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="discovery">
1610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery.clear_discovery_cache" class="md-nav__link">
1614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
clear_discovery_cache
1617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery.discover_available_models" class="md-nav__link">
1625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
discover_available_models
1628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#overview" class="md-nav__link">
1641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Overview
1644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#baseprovider-abc" class="md-nav__link">
1652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
BaseProvider (ABC)
1655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="BaseProvider (ABC)">
1660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#chat" class="md-nav__link">
1664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat()
1667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#analyze_image" class="md-nav__link">
1675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
analyze_image()
1678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#transcribe_audio" class="md-nav__link">
1686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcribe_audio()
1689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#list_models" class="md-nav__link">
1697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
list_models()
1700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#modelinfo" class="md-nav__link">
1713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ModelInfo
1716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#providerregistry" class="md-nav__link">
1724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ProviderRegistry
1727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="ProviderRegistry">
1732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#register" class="md-nav__link">
1736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
register()
1739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#get" class="md-nav__link">
1747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get()
1750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#get_by_model" class="md-nav__link">
1758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_by_model()
1761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#get_default_models" class="md-nav__link">
1769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_default_models()
1772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#available" class="md-nav__link">
1780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
available()
1783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#all_registered" class="md-nav__link">
1791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
all_registered()
1794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#openaicompatibleprovider" class="md-nav__link">
1807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OpenAICompatibleProvider
1810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#providermanager" class="md-nav__link">
1818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ProviderManager
1821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="ProviderManager">
1826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#constructor" class="md-nav__link">
1830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Constructor
1833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#auto-selection-preferences" class="md-nav__link">
1841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Auto-selection preferences
1844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#chat_1" class="md-nav__link">
1852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat()
1855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#analyze_image_1" class="md-nav__link">
1863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
analyze_image()
1866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#transcribe_audio_1" class="md-nav__link">
1874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcribe_audio()
1877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#get_models_used" class="md-nav__link">
1885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_models_used()
1888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1891
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1892
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1893
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1894
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1895
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#usage-examples" class="md-nav__link">
1896
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1897
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1898
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Usage examples
1899
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1900
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1901
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1902
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1903
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1904
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1905
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1906
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1907
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1908
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1909
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1910
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1911
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#discover_available_models" class="md-nav__link">
1912
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1913
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1914
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
discover_available_models()
1915
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1916
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1917
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1918
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1919
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="discover_available_models()">
1920
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
1921
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1922
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1923
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#clear_discovery_cache" class="md-nav__link">
1924
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1925
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1926
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
clear_discovery_cache()
1927
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1928
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1929
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1930
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1931
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1932
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1933
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1934
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1935
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1936
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1937
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1938
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1939
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#built-in-providers" class="md-nav__link">
1940
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1941
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1942
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Built-in Providers
1943
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1944
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1945
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1946
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1947
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1948
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1949
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
1950
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1951
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
1952
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1953
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1954
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1955
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1956
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1957
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1958
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1959
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1960
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1961
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1962
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1963
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1964
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1965
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../analyzers/" class="md-nav__link">
1966
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1967
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1968
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1969
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1970
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1971
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1972
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Analyzers
1973
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1974
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1975
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1976
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
1977
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1978
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1979
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1980
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
1981
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
1982
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1983
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1984
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1985
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1986
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1987
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1988
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1989
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1990
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1991
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1992
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
1993
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../agent/" class="md-nav__link">
1994
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1995
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1996
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1997
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
1998
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
1999
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2000
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Agent & Skills
2001
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2002
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2003
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2004
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2005
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2006
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2007
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2008
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2009
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2010
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2011
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2012
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2013
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2014
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2015
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2016
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2017
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2018
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2019
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2020
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2021
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../sources/" class="md-nav__link">
2022
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2023
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2024
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2025
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2026
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2027
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2028
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Sources
2029
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2030
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2031
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2032
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2033
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2034
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2035
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2036
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2037
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2038
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2039
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2040
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2041
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2042
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2043
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2044
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2045
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2046
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2047
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2048
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2049
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../auth/" class="md-nav__link">
2050
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2051
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2052
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2053
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2054
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2055
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2056
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Authentication
2057
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2058
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2059
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2060
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2061
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2062
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2063
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2064
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2065
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2066
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2067
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2068
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2069
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2070
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2071
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2072
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2073
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2074
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2075
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2076
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2077
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2078
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2079
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2080
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2081
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2082
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2083
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2084
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../faq/" class="md-nav__link">
2085
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2086
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2087
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2088
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2089
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2090
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2091
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
FAQ & Troubleshooting
2092
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2093
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2094
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2095
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2096
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2097
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2098
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2099
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="../../contributing/" class="md-nav__link">
2112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Contributing
2119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar__scrollwrap">
2141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-sidebar__inner">
2142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<label class="md-nav__title" for="__toc">
2152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-nav__icon md-icon"></span>
2153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Table of contents
2154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</label>
2155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base" class="md-nav__link">
2159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
base
2162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="base">
2167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider" class="md-nav__link">
2171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
BaseProvider
2174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="BaseProvider">
2179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.analyze_image" class="md-nav__link">
2183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
analyze_image
2186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.chat" class="md-nav__link">
2194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat
2197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.list_models" class="md-nav__link">
2205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
list_models
2208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.transcribe_audio" class="md-nav__link">
2216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcribe_audio
2219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ModelInfo" class="md-nav__link">
2232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ModelInfo
2235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.OpenAICompatibleProvider" class="md-nav__link">
2243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OpenAICompatibleProvider
2246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry" class="md-nav__link">
2254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ProviderRegistry
2257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="ProviderRegistry">
2262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.all_registered" class="md-nav__link">
2266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
all_registered
2269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.available" class="md-nav__link">
2277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
available
2280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get" class="md-nav__link">
2288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get
2291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get_by_model" class="md-nav__link">
2299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_by_model
2302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get_default_models" class="md-nav__link">
2310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_default_models
2313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.register" class="md-nav__link">
2321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
register
2324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager" class="md-nav__link">
2342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
manager
2345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="manager">
2350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager" class="md-nav__link">
2354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ProviderManager
2357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="ProviderManager">
2362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.__init__" class="md-nav__link">
2366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
__init__
2369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="__init__">
2374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.__init__--parameters" class="md-nav__link">
2378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Parameters
2381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.analyze_image" class="md-nav__link">
2394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
analyze_image
2397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.chat" class="md-nav__link">
2405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat
2408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.get_models_used" class="md-nav__link">
2416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_models_used
2419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.transcribe_audio" class="md-nav__link">
2427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcribe_audio
2430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery" class="md-nav__link">
2448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
discovery
2451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="discovery">
2456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery.clear_discovery_cache" class="md-nav__link">
2460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
clear_discovery_cache
2463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery.discover_available_models" class="md-nav__link">
2471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
discover_available_models
2474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#overview" class="md-nav__link">
2487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Overview
2490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#baseprovider-abc" class="md-nav__link">
2498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
BaseProvider (ABC)
2501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="BaseProvider (ABC)">
2506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#chat" class="md-nav__link">
2510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat()
2513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#analyze_image" class="md-nav__link">
2521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
analyze_image()
2524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#transcribe_audio" class="md-nav__link">
2532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcribe_audio()
2535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#list_models" class="md-nav__link">
2543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
list_models()
2546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#modelinfo" class="md-nav__link">
2559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ModelInfo
2562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#providerregistry" class="md-nav__link">
2570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ProviderRegistry
2573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="ProviderRegistry">
2578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#register" class="md-nav__link">
2582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
register()
2585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#get" class="md-nav__link">
2593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get()
2596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#get_by_model" class="md-nav__link">
2604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_by_model()
2607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#get_default_models" class="md-nav__link">
2615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_default_models()
2618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#available" class="md-nav__link">
2626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
available()
2629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#all_registered" class="md-nav__link">
2637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
all_registered()
2640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#openaicompatibleprovider" class="md-nav__link">
2653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
OpenAICompatibleProvider
2656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#providermanager" class="md-nav__link">
2664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
ProviderManager
2667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="ProviderManager">
2672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#constructor" class="md-nav__link">
2676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Constructor
2679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#auto-selection-preferences" class="md-nav__link">
2687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Auto-selection preferences
2690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#chat_1" class="md-nav__link">
2698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat()
2701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#analyze_image_1" class="md-nav__link">
2709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
analyze_image()
2712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#transcribe_audio_1" class="md-nav__link">
2720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcribe_audio()
2723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#get_models_used" class="md-nav__link">
2731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
get_models_used()
2734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#usage-examples" class="md-nav__link">
2742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Usage examples
2745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#discover_available_models" class="md-nav__link">
2758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
discover_available_models()
2761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<nav class="md-nav" aria-label="discover_available_models()">
2766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul class="md-nav__list">
2767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#clear_discovery_cache" class="md-nav__link">
2770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
clear_discovery_cache()
2773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li class="md-nav__item">
2785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#built-in-providers" class="md-nav__link">
2786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="md-ellipsis">
2787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Built-in Providers
2789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
2792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</li>
2794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
2796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</nav>
2798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
2801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-content" data-md-component="content">
2805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<article class="md-content__inner md-typeset">
2807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h1 id="providers-api-reference">Providers API Reference<a class="headerlink" href="#providers-api-reference" title="Permanent link">¶</a></h1>
2816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-module">
2819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="video_processor.providers.base" class="doc doc-heading">
2823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code>video_processor.providers.base</code>
2824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base" class="headerlink" title="Permanent link">¶</a></h2>
2827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents first">
2829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Abstract base class, registry, and shared types for provider implementations.</p>
2831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-children">
2842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-class">
2852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="video_processor.providers.base.BaseProvider" class="doc doc-heading">
2856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code>BaseProvider</code>
2857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider" class="headerlink" title="Permanent link">¶</a></h3>
2860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
2863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p class="doc doc-class-bases">
2864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Bases: <code><span title="abc.ABC">ABC</span></code></p>
2865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Abstract base for all provider implementations.</p>
2869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
2878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
2879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-26">26</a></span>
2880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-27">27</a></span>
2881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-28">28</a></span>
2882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-29">29</a></span>
2883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-30">30</a></span>
2884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-31">31</a></span>
2885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-32">32</a></span>
2886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-33">33</a></span>
2887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-34">34</a></span>
2888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-35">35</a></span>
2889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-36">36</a></span>
2890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-37">37</a></span>
2891
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-38">38</a></span>
2892
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-39">39</a></span>
2893
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-40">40</a></span>
2894
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-41">41</a></span>
2895
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-42">42</a></span>
2896
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-43">43</a></span>
2897
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-44">44</a></span>
2898
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-45">45</a></span>
2899
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-46">46</a></span>
2900
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-47">47</a></span>
2901
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-48">48</a></span>
2902
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-49">49</a></span>
2903
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-50">50</a></span>
2904
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-51">51</a></span>
2905
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-52">52</a></span>
2906
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-53">53</a></span>
2907
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-54">54</a></span>
2908
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-55">55</a></span>
2909
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-56">56</a></span>
2910
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-57">57</a></span>
2911
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-58">58</a></span>
2912
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-59">59</a></span>
2913
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-60">60</a></span>
2914
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-61">61</a></span>
2915
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-62">62</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-26" name="__codelineno-0-26"></a><span class="k">class</span><span class="w"> </span><span class="nc">BaseProvider</span><span class="p">(</span><span class="n">ABC</span><span class="p">):</span>
2916
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-27" name="__codelineno-0-27"></a><span class="w"> </span><span class="sd">"""Abstract base for all provider implementations."""</span>
2917
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-28" name="__codelineno-0-28"></a>
2918
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-29" name="__codelineno-0-29"></a> <span class="n">provider_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">""</span>
2919
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-30" name="__codelineno-0-30"></a>
2920
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-31" name="__codelineno-0-31"></a> <span class="nd">@abstractmethod</span>
2921
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-32" name="__codelineno-0-32"></a> <span class="k">def</span><span class="w"> </span><span class="nf">chat</span><span class="p">(</span>
2922
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-33" name="__codelineno-0-33"></a> <span class="bp">self</span><span class="p">,</span>
2923
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-34" name="__codelineno-0-34"></a> <span class="n">messages</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">dict</span><span class="p">],</span>
2924
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-35" name="__codelineno-0-35"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
2925
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-36" name="__codelineno-0-36"></a> <span class="n">temperature</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">,</span>
2926
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-37" name="__codelineno-0-37"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
2927
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-38" name="__codelineno-0-38"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
2928
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-39" name="__codelineno-0-39"></a><span class="w"> </span><span class="sd">"""Send a chat completion request. Returns the assistant text."""</span>
2929
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-40" name="__codelineno-0-40"></a>
2930
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-41" name="__codelineno-0-41"></a> <span class="nd">@abstractmethod</span>
2931
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-42" name="__codelineno-0-42"></a> <span class="k">def</span><span class="w"> </span><span class="nf">analyze_image</span><span class="p">(</span>
2932
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-43" name="__codelineno-0-43"></a> <span class="bp">self</span><span class="p">,</span>
2933
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-44" name="__codelineno-0-44"></a> <span class="n">image_bytes</span><span class="p">:</span> <span class="nb">bytes</span><span class="p">,</span>
2934
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-45" name="__codelineno-0-45"></a> <span class="n">prompt</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
2935
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-46" name="__codelineno-0-46"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
2936
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-47" name="__codelineno-0-47"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
2937
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-48" name="__codelineno-0-48"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
2938
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-49" name="__codelineno-0-49"></a><span class="w"> </span><span class="sd">"""Analyze an image with a prompt. Returns the assistant text."""</span>
2939
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-50" name="__codelineno-0-50"></a>
2940
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="nd">@abstractmethod</span>
2941
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-52" name="__codelineno-0-52"></a> <span class="k">def</span><span class="w"> </span><span class="nf">transcribe_audio</span><span class="p">(</span>
2942
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-53" name="__codelineno-0-53"></a> <span class="bp">self</span><span class="p">,</span>
2943
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-54" name="__codelineno-0-54"></a> <span class="n">audio_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Path</span><span class="p">,</span>
2944
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-55" name="__codelineno-0-55"></a> <span class="n">language</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
2945
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-56" name="__codelineno-0-56"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
2946
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-57" name="__codelineno-0-57"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
2947
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-58" name="__codelineno-0-58"></a><span class="w"> </span><span class="sd">"""Transcribe an audio file. Returns dict with 'text', 'segments', etc."""</span>
2948
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-59" name="__codelineno-0-59"></a>
2949
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-60" name="__codelineno-0-60"></a> <span class="nd">@abstractmethod</span>
2950
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-61" name="__codelineno-0-61"></a> <span class="k">def</span><span class="w"> </span><span class="nf">list_models</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]:</span>
2951
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-62" name="__codelineno-0-62"></a><span class="w"> </span><span class="sd">"""Discover available models from this provider's API."""</span>
2952
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
2953
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
2954
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2955
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2956
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2957
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-children">
2958
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2959
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2960
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2961
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2962
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2963
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2964
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2965
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2966
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2967
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2968
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
2969
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2970
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2971
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.BaseProvider.analyze_image" class="doc doc-heading">
2972
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">analyze_image</span><span class="p">(</span><span class="n">image_bytes</span><span class="p">,</span> <span class="n">prompt</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="mi">4096</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
2973
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2974
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
2975
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-abstractmethod"><code>abstractmethod</code></small>
2976
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
2977
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2978
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.analyze_image" class="headerlink" title="Permanent link">¶</a></h4>
2979
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2980
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2981
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
2982
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2983
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Analyze an image with a prompt. Returns the assistant text.</p>
2984
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2985
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
2986
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
2987
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
2988
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-41">41</a></span>
2989
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-42">42</a></span>
2990
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-43">43</a></span>
2991
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-44">44</a></span>
2992
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-45">45</a></span>
2993
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-46">46</a></span>
2994
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-47">47</a></span>
2995
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-48">48</a></span>
2996
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-49">49</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-41" name="__codelineno-0-41"></a><span class="nd">@abstractmethod</span>
2997
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="k">def</span><span class="w"> </span><span class="nf">analyze_image</span><span class="p">(</span>
2998
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-43" name="__codelineno-0-43"></a> <span class="bp">self</span><span class="p">,</span>
2999
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-44" name="__codelineno-0-44"></a> <span class="n">image_bytes</span><span class="p">:</span> <span class="nb">bytes</span><span class="p">,</span>
3000
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-45" name="__codelineno-0-45"></a> <span class="n">prompt</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
3001
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-46" name="__codelineno-0-46"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
3002
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-47" name="__codelineno-0-47"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3003
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-48" name="__codelineno-0-48"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
3004
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-49" name="__codelineno-0-49"></a><span class="w"> </span><span class="sd">"""Analyze an image with a prompt. Returns the assistant text."""</span>
3005
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3006
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3007
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3008
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3009
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3010
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3011
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3012
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3013
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3014
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.BaseProvider.chat" class="doc doc-heading">
3015
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">chat</span><span class="p">(</span><span class="n">messages</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="mi">4096</span><span class="p">,</span> <span class="n">temperature</span><span class="o">=</span><span class="mf">0.7</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
3016
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3017
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3018
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-abstractmethod"><code>abstractmethod</code></small>
3019
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3020
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3021
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.chat" class="headerlink" title="Permanent link">¶</a></h4>
3022
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3023
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3024
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3025
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3026
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Send a chat completion request. Returns the assistant text.</p>
3027
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3028
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3029
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3030
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3031
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-31">31</a></span>
3032
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-32">32</a></span>
3033
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-33">33</a></span>
3034
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-34">34</a></span>
3035
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-35">35</a></span>
3036
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-36">36</a></span>
3037
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-37">37</a></span>
3038
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-38">38</a></span>
3039
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-39">39</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-31" name="__codelineno-0-31"></a><span class="nd">@abstractmethod</span>
3040
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-32" name="__codelineno-0-32"></a><span class="k">def</span><span class="w"> </span><span class="nf">chat</span><span class="p">(</span>
3041
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-33" name="__codelineno-0-33"></a> <span class="bp">self</span><span class="p">,</span>
3042
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-34" name="__codelineno-0-34"></a> <span class="n">messages</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">dict</span><span class="p">],</span>
3043
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-35" name="__codelineno-0-35"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
3044
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-36" name="__codelineno-0-36"></a> <span class="n">temperature</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">,</span>
3045
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-37" name="__codelineno-0-37"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3046
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-38" name="__codelineno-0-38"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
3047
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-39" name="__codelineno-0-39"></a><span class="w"> </span><span class="sd">"""Send a chat completion request. Returns the assistant text."""</span>
3048
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3049
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3050
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3051
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3052
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3053
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3054
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3055
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3056
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3057
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.BaseProvider.list_models" class="doc doc-heading">
3058
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">list_models</span><span class="p">()</span></code>
3059
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3060
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3061
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-abstractmethod"><code>abstractmethod</code></small>
3062
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3063
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3064
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.list_models" class="headerlink" title="Permanent link">¶</a></h4>
3065
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3066
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3067
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3068
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3069
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Discover available models from this provider's API.</p>
3070
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3071
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3072
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3073
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3074
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-60">60</a></span>
3075
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-61">61</a></span>
3076
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-62">62</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-60" name="__codelineno-0-60"></a><span class="nd">@abstractmethod</span>
3077
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-61" name="__codelineno-0-61"></a><span class="k">def</span><span class="w"> </span><span class="nf">list_models</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]:</span>
3078
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-62" name="__codelineno-0-62"></a><span class="w"> </span><span class="sd">"""Discover available models from this provider's API."""</span>
3079
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3080
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3081
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3082
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3083
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3084
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3085
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3086
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3087
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3088
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.BaseProvider.transcribe_audio" class="doc doc-heading">
3089
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">transcribe_audio</span><span class="p">(</span><span class="n">audio_path</span><span class="p">,</span> <span class="n">language</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
3090
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3091
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3092
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-abstractmethod"><code>abstractmethod</code></small>
3093
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3094
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3095
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.BaseProvider.transcribe_audio" class="headerlink" title="Permanent link">¶</a></h4>
3096
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3097
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3098
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3099
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Transcribe an audio file. Returns dict with 'text', 'segments', etc.</p>
3101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-51">51</a></span>
3106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-52">52</a></span>
3107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-53">53</a></span>
3108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-54">54</a></span>
3109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-55">55</a></span>
3110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-56">56</a></span>
3111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-57">57</a></span>
3112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-58">58</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-51" name="__codelineno-0-51"></a><span class="nd">@abstractmethod</span>
3113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-52" name="__codelineno-0-52"></a><span class="k">def</span><span class="w"> </span><span class="nf">transcribe_audio</span><span class="p">(</span>
3114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-53" name="__codelineno-0-53"></a> <span class="bp">self</span><span class="p">,</span>
3115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-54" name="__codelineno-0-54"></a> <span class="n">audio_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Path</span><span class="p">,</span>
3116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-55" name="__codelineno-0-55"></a> <span class="n">language</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-56" name="__codelineno-0-56"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-57" name="__codelineno-0-57"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
3119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-58" name="__codelineno-0-58"></a><span class="w"> </span><span class="sd">"""Transcribe an audio file. Returns dict with 'text', 'segments', etc."""</span>
3120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-class">
3135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="video_processor.providers.base.ModelInfo" class="doc doc-heading">
3139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code>ModelInfo</code>
3140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ModelInfo" class="headerlink" title="Permanent link">¶</a></h3>
3143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p class="doc doc-class-bases">
3147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Bases: <code><span title="pydantic.BaseModel">BaseModel</span></code></p>
3148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Information about an available model.</p>
3152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-15">15</a></span>
3163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-16">16</a></span>
3164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-17">17</a></span>
3165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-18">18</a></span>
3166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-19">19</a></span>
3167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-20">20</a></span>
3168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-21">21</a></span>
3169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-22">22</a></span>
3170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-23">23</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-15" name="__codelineno-0-15"></a><span class="k">class</span><span class="w"> </span><span class="nc">ModelInfo</span><span class="p">(</span><span class="n">BaseModel</span><span class="p">):</span>
3171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-16" name="__codelineno-0-16"></a><span class="w"> </span><span class="sd">"""Information about an available model."""</span>
3172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-17" name="__codelineno-0-17"></a>
3173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-18" name="__codelineno-0-18"></a> <span class="nb">id</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">"Model identifier (e.g. gpt-4o)"</span><span class="p">)</span>
3174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-19" name="__codelineno-0-19"></a> <span class="n">provider</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">"Provider name (openai, anthropic, gemini)"</span><span class="p">)</span>
3175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-20" name="__codelineno-0-20"></a> <span class="n">display_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s2">""</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">"Human-readable name"</span><span class="p">)</span>
3176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-21" name="__codelineno-0-21"></a> <span class="n">capabilities</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="n">Field</span><span class="p">(</span>
3177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-22" name="__codelineno-0-22"></a> <span class="n">default_factory</span><span class="o">=</span><span class="nb">list</span><span class="p">,</span> <span class="n">description</span><span class="o">=</span><span class="s2">"Model capabilities: chat, vision, audio, embedding"</span>
3178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-23" name="__codelineno-0-23"></a> <span class="p">)</span>
3179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-children">
3185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-class">
3204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="video_processor.providers.base.OpenAICompatibleProvider" class="doc doc-heading">
3208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code>OpenAICompatibleProvider</code>
3209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.OpenAICompatibleProvider" class="headerlink" title="Permanent link">¶</a></h3>
3212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p class="doc doc-class-bases">
3216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Bases: <code><a class="autorefs autorefs-internal" title="BaseProvider (video_processor.providers.base.BaseProvider)" href="#video_processor.providers.base.BaseProvider">BaseProvider</a></code></p>
3217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Base for providers using OpenAI-compatible APIs.</p>
3221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Suitable for Together, Fireworks, Cerebras, xAI, Azure, and similar services.</p>
3222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-129">129</a></span>
3233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-130">130</a></span>
3234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-131">131</a></span>
3235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-132">132</a></span>
3236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-133">133</a></span>
3237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-134">134</a></span>
3238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-135">135</a></span>
3239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-136">136</a></span>
3240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-137">137</a></span>
3241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-138">138</a></span>
3242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-139">139</a></span>
3243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-140">140</a></span>
3244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-141">141</a></span>
3245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-142">142</a></span>
3246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-143">143</a></span>
3247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-144">144</a></span>
3248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-145">145</a></span>
3249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-146">146</a></span>
3250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-147">147</a></span>
3251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-148">148</a></span>
3252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-149">149</a></span>
3253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-150">150</a></span>
3254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-151">151</a></span>
3255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-152">152</a></span>
3256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-153">153</a></span>
3257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-154">154</a></span>
3258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-155">155</a></span>
3259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-156">156</a></span>
3260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-157">157</a></span>
3261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-158">158</a></span>
3262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-159">159</a></span>
3263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-160">160</a></span>
3264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-161">161</a></span>
3265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-162">162</a></span>
3266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-163">163</a></span>
3267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-164">164</a></span>
3268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-165">165</a></span>
3269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-166">166</a></span>
3270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-167">167</a></span>
3271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-168">168</a></span>
3272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-169">169</a></span>
3273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-170">170</a></span>
3274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-171">171</a></span>
3275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-172">172</a></span>
3276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-173">173</a></span>
3277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-174">174</a></span>
3278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-175">175</a></span>
3279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-176">176</a></span>
3280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-177">177</a></span>
3281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-178">178</a></span>
3282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-179">179</a></span>
3283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-180">180</a></span>
3284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-181">181</a></span>
3285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-182">182</a></span>
3286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-183">183</a></span>
3287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-184">184</a></span>
3288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-185">185</a></span>
3289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-186">186</a></span>
3290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-187">187</a></span>
3291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-188">188</a></span>
3292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-189">189</a></span>
3293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-190">190</a></span>
3294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-191">191</a></span>
3295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-192">192</a></span>
3296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-193">193</a></span>
3297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-194">194</a></span>
3298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-195">195</a></span>
3299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-196">196</a></span>
3300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-197">197</a></span>
3301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-198">198</a></span>
3302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-199">199</a></span>
3303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-200">200</a></span>
3304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-201">201</a></span>
3305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-202">202</a></span>
3306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-203">203</a></span>
3307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-204">204</a></span>
3308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-205">205</a></span>
3309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-206">206</a></span>
3310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-207">207</a></span>
3311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-208">208</a></span>
3312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-209">209</a></span>
3313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-210">210</a></span>
3314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-211">211</a></span>
3315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-212">212</a></span>
3316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-213">213</a></span>
3317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-214">214</a></span>
3318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-215">215</a></span>
3319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-216">216</a></span>
3320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-217">217</a></span>
3321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-218">218</a></span>
3322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-219">219</a></span>
3323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-220">220</a></span>
3324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-221">221</a></span>
3325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-222">222</a></span>
3326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-223">223</a></span>
3327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-224">224</a></span>
3328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-225">225</a></span>
3329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-226">226</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-129" name="__codelineno-0-129"></a><span class="k">class</span><span class="w"> </span><span class="nc">OpenAICompatibleProvider</span><span class="p">(</span><span class="n">BaseProvider</span><span class="p">):</span>
3330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-130" name="__codelineno-0-130"></a><span class="w"> </span><span class="sd">"""Base for providers using OpenAI-compatible APIs.</span>
3331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-131" name="__codelineno-0-131"></a>
3332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-132" name="__codelineno-0-132"></a><span class="sd"> Suitable for Together, Fireworks, Cerebras, xAI, Azure, and similar services.</span>
3333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-133" name="__codelineno-0-133"></a><span class="sd"> """</span>
3334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-134" name="__codelineno-0-134"></a>
3335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-135" name="__codelineno-0-135"></a> <span class="n">provider_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">""</span>
3336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-136" name="__codelineno-0-136"></a> <span class="n">base_url</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">""</span>
3337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-137" name="__codelineno-0-137"></a> <span class="n">env_var</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">""</span>
3338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-138" name="__codelineno-0-138"></a>
3339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-139" name="__codelineno-0-139"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">api_key</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">base_url</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
3340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-140" name="__codelineno-0-140"></a> <span class="kn">from</span><span class="w"> </span><span class="nn">openai</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenAI</span>
3341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-141" name="__codelineno-0-141"></a>
3342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-142" name="__codelineno-0-142"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_api_key</span> <span class="o">=</span> <span class="n">api_key</span> <span class="ow">or</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">env_var</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
3343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-143" name="__codelineno-0-143"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_base_url</span> <span class="o">=</span> <span class="n">base_url</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">base_url</span>
3344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-144" name="__codelineno-0-144"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span> <span class="o">=</span> <span class="n">OpenAI</span><span class="p">(</span><span class="n">api_key</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_api_key</span><span class="p">,</span> <span class="n">base_url</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_base_url</span><span class="p">)</span>
3345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-145" name="__codelineno-0-145"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_last_usage</span> <span class="o">=</span> <span class="kc">None</span>
3346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-146" name="__codelineno-0-146"></a>
3347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-147" name="__codelineno-0-147"></a> <span class="k">def</span><span class="w"> </span><span class="nf">chat</span><span class="p">(</span>
3348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-148" name="__codelineno-0-148"></a> <span class="bp">self</span><span class="p">,</span>
3349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-149" name="__codelineno-0-149"></a> <span class="n">messages</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">dict</span><span class="p">],</span>
3350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-150" name="__codelineno-0-150"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
3351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-151" name="__codelineno-0-151"></a> <span class="n">temperature</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">,</span>
3352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-152" name="__codelineno-0-152"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-153" name="__codelineno-0-153"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
3354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-154" name="__codelineno-0-154"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">model</span> <span class="ow">or</span> <span class="s2">"gpt-4o"</span>
3355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-155" name="__codelineno-0-155"></a> <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">chat</span><span class="o">.</span><span class="n">completions</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
3356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-156" name="__codelineno-0-156"></a> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">,</span>
3357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-157" name="__codelineno-0-157"></a> <span class="n">messages</span><span class="o">=</span><span class="n">messages</span><span class="p">,</span>
3358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-158" name="__codelineno-0-158"></a> <span class="n">max_tokens</span><span class="o">=</span><span class="n">max_tokens</span><span class="p">,</span>
3359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-159" name="__codelineno-0-159"></a> <span class="n">temperature</span><span class="o">=</span><span class="n">temperature</span><span class="p">,</span>
3360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-160" name="__codelineno-0-160"></a> <span class="p">)</span>
3361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-161" name="__codelineno-0-161"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_last_usage</span> <span class="o">=</span> <span class="p">{</span>
3362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-162" name="__codelineno-0-162"></a> <span class="s2">"input_tokens"</span><span class="p">:</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">usage</span><span class="p">,</span> <span class="s2">"prompt_tokens"</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">usage</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span>
3363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-163" name="__codelineno-0-163"></a> <span class="s2">"output_tokens"</span><span class="p">:</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">usage</span><span class="p">,</span> <span class="s2">"completion_tokens"</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
3364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-164" name="__codelineno-0-164"></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">usage</span>
3365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-165" name="__codelineno-0-165"></a> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span>
3366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-166" name="__codelineno-0-166"></a> <span class="p">}</span>
3367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-167" name="__codelineno-0-167"></a> <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">choices</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">message</span><span class="o">.</span><span class="n">content</span> <span class="ow">or</span> <span class="s2">""</span>
3368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-168" name="__codelineno-0-168"></a>
3369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-169" name="__codelineno-0-169"></a> <span class="k">def</span><span class="w"> </span><span class="nf">analyze_image</span><span class="p">(</span>
3370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-170" name="__codelineno-0-170"></a> <span class="bp">self</span><span class="p">,</span>
3371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-171" name="__codelineno-0-171"></a> <span class="n">image_bytes</span><span class="p">:</span> <span class="nb">bytes</span><span class="p">,</span>
3372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-172" name="__codelineno-0-172"></a> <span class="n">prompt</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
3373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-173" name="__codelineno-0-173"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
3374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-174" name="__codelineno-0-174"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-175" name="__codelineno-0-175"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
3376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-176" name="__codelineno-0-176"></a> <span class="n">model</span> <span class="o">=</span> <span class="n">model</span> <span class="ow">or</span> <span class="s2">"gpt-4o"</span>
3377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-177" name="__codelineno-0-177"></a> <span class="n">b64</span> <span class="o">=</span> <span class="n">base64</span><span class="o">.</span><span class="n">b64encode</span><span class="p">(</span><span class="n">image_bytes</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">()</span>
3378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-178" name="__codelineno-0-178"></a> <span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">chat</span><span class="o">.</span><span class="n">completions</span><span class="o">.</span><span class="n">create</span><span class="p">(</span>
3379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-179" name="__codelineno-0-179"></a> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">,</span>
3380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-180" name="__codelineno-0-180"></a> <span class="n">messages</span><span class="o">=</span><span class="p">[</span>
3381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-181" name="__codelineno-0-181"></a> <span class="p">{</span>
3382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-182" name="__codelineno-0-182"></a> <span class="s2">"role"</span><span class="p">:</span> <span class="s2">"user"</span><span class="p">,</span>
3383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-183" name="__codelineno-0-183"></a> <span class="s2">"content"</span><span class="p">:</span> <span class="p">[</span>
3384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-184" name="__codelineno-0-184"></a> <span class="p">{</span><span class="s2">"type"</span><span class="p">:</span> <span class="s2">"text"</span><span class="p">,</span> <span class="s2">"text"</span><span class="p">:</span> <span class="n">prompt</span><span class="p">},</span>
3385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-185" name="__codelineno-0-185"></a> <span class="p">{</span>
3386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-186" name="__codelineno-0-186"></a> <span class="s2">"type"</span><span class="p">:</span> <span class="s2">"image_url"</span><span class="p">,</span>
3387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-187" name="__codelineno-0-187"></a> <span class="s2">"image_url"</span><span class="p">:</span> <span class="p">{</span><span class="s2">"url"</span><span class="p">:</span> <span class="sa">f</span><span class="s2">"data:image/jpeg;base64,</span><span class="si">{</span><span class="n">b64</span><span class="si">}</span><span class="s2">"</span><span class="p">},</span>
3388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-188" name="__codelineno-0-188"></a> <span class="p">},</span>
3389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-189" name="__codelineno-0-189"></a> <span class="p">],</span>
3390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-190" name="__codelineno-0-190"></a> <span class="p">}</span>
3391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-191" name="__codelineno-0-191"></a> <span class="p">],</span>
3392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-192" name="__codelineno-0-192"></a> <span class="n">max_tokens</span><span class="o">=</span><span class="n">max_tokens</span><span class="p">,</span>
3393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-193" name="__codelineno-0-193"></a> <span class="p">)</span>
3394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-194" name="__codelineno-0-194"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_last_usage</span> <span class="o">=</span> <span class="p">{</span>
3395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-195" name="__codelineno-0-195"></a> <span class="s2">"input_tokens"</span><span class="p">:</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">usage</span><span class="p">,</span> <span class="s2">"prompt_tokens"</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">usage</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span>
3396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-196" name="__codelineno-0-196"></a> <span class="s2">"output_tokens"</span><span class="p">:</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">usage</span><span class="p">,</span> <span class="s2">"completion_tokens"</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
3397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-197" name="__codelineno-0-197"></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">usage</span>
3398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-198" name="__codelineno-0-198"></a> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span>
3399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-199" name="__codelineno-0-199"></a> <span class="p">}</span>
3400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-200" name="__codelineno-0-200"></a> <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">choices</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">message</span><span class="o">.</span><span class="n">content</span> <span class="ow">or</span> <span class="s2">""</span>
3401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-201" name="__codelineno-0-201"></a>
3402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-202" name="__codelineno-0-202"></a> <span class="k">def</span><span class="w"> </span><span class="nf">transcribe_audio</span><span class="p">(</span>
3403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-203" name="__codelineno-0-203"></a> <span class="bp">self</span><span class="p">,</span>
3404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-204" name="__codelineno-0-204"></a> <span class="n">audio_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Path</span><span class="p">,</span>
3405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-205" name="__codelineno-0-205"></a> <span class="n">language</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-206" name="__codelineno-0-206"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-207" name="__codelineno-0-207"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
3408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-208" name="__codelineno-0-208"></a> <span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">provider_name</span><span class="si">}</span><span class="s2"> does not support audio transcription"</span><span class="p">)</span>
3409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-209" name="__codelineno-0-209"></a>
3410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-210" name="__codelineno-0-210"></a> <span class="k">def</span><span class="w"> </span><span class="nf">list_models</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]:</span>
3411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-211" name="__codelineno-0-211"></a> <span class="n">models</span> <span class="o">=</span> <span class="p">[]</span>
3412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-212" name="__codelineno-0-212"></a> <span class="k">try</span><span class="p">:</span>
3413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-213" name="__codelineno-0-213"></a> <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">models</span><span class="o">.</span><span class="n">list</span><span class="p">():</span>
3414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-214" name="__codelineno-0-214"></a> <span class="n">mid</span> <span class="o">=</span> <span class="n">m</span><span class="o">.</span><span class="n">id</span>
3415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-215" name="__codelineno-0-215"></a> <span class="n">caps</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"chat"</span><span class="p">]</span>
3416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-216" name="__codelineno-0-216"></a> <span class="n">models</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
3417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-217" name="__codelineno-0-217"></a> <span class="n">ModelInfo</span><span class="p">(</span>
3418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-218" name="__codelineno-0-218"></a> <span class="nb">id</span><span class="o">=</span><span class="n">mid</span><span class="p">,</span>
3419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-219" name="__codelineno-0-219"></a> <span class="n">provider</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">provider_name</span><span class="p">,</span>
3420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-220" name="__codelineno-0-220"></a> <span class="n">display_name</span><span class="o">=</span><span class="n">mid</span><span class="p">,</span>
3421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-221" name="__codelineno-0-221"></a> <span class="n">capabilities</span><span class="o">=</span><span class="n">caps</span><span class="p">,</span>
3422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-222" name="__codelineno-0-222"></a> <span class="p">)</span>
3423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-223" name="__codelineno-0-223"></a> <span class="p">)</span>
3424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-224" name="__codelineno-0-224"></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
3425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-225" name="__codelineno-0-225"></a> <span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Failed to list </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">provider_name</span><span class="si">}</span><span class="s2"> models: </span><span class="si">{</span><span class="n">e</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
3426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-226" name="__codelineno-0-226"></a> <span class="k">return</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">models</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">m</span><span class="p">:</span> <span class="n">m</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
3427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-children">
3433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-class">
3452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="video_processor.providers.base.ProviderRegistry" class="doc doc-heading">
3456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code>ProviderRegistry</code>
3457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry" class="headerlink" title="Permanent link">¶</a></h3>
3460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Registry for provider classes. Providers register themselves with metadata.</p>
3467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-65"> 65</a></span>
3478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-66"> 66</a></span>
3479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-67"> 67</a></span>
3480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-68"> 68</a></span>
3481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-69"> 69</a></span>
3482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-70"> 70</a></span>
3483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-71"> 71</a></span>
3484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-72"> 72</a></span>
3485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-73"> 73</a></span>
3486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-74"> 74</a></span>
3487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-75"> 75</a></span>
3488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-76"> 76</a></span>
3489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-77"> 77</a></span>
3490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-78"> 78</a></span>
3491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-79"> 79</a></span>
3492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-80"> 80</a></span>
3493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-81"> 81</a></span>
3494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-82"> 82</a></span>
3495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-83"> 83</a></span>
3496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-84"> 84</a></span>
3497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-85"> 85</a></span>
3498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-86"> 86</a></span>
3499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-87"> 87</a></span>
3500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-88"> 88</a></span>
3501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-89"> 89</a></span>
3502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-90"> 90</a></span>
3503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-91"> 91</a></span>
3504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-92"> 92</a></span>
3505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-93"> 93</a></span>
3506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-94"> 94</a></span>
3507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-95"> 95</a></span>
3508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-96"> 96</a></span>
3509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-97"> 97</a></span>
3510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-98"> 98</a></span>
3511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-99"> 99</a></span>
3512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-100">100</a></span>
3513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-101">101</a></span>
3514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-102">102</a></span>
3515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-103">103</a></span>
3516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-104">104</a></span>
3517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-105">105</a></span>
3518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-106">106</a></span>
3519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-107">107</a></span>
3520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-108">108</a></span>
3521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-109">109</a></span>
3522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-110">110</a></span>
3523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-111">111</a></span>
3524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-112">112</a></span>
3525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-113">113</a></span>
3526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-114">114</a></span>
3527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-115">115</a></span>
3528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-116">116</a></span>
3529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-117">117</a></span>
3530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-118">118</a></span>
3531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-119">119</a></span>
3532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-120">120</a></span>
3533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-121">121</a></span>
3534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-122">122</a></span>
3535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-123">123</a></span>
3536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-124">124</a></span>
3537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-125">125</a></span>
3538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-126">126</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-65" name="__codelineno-0-65"></a><span class="k">class</span><span class="w"> </span><span class="nc">ProviderRegistry</span><span class="p">:</span>
3539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-66" name="__codelineno-0-66"></a><span class="w"> </span><span class="sd">"""Registry for provider classes. Providers register themselves with metadata."""</span>
3540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-67" name="__codelineno-0-67"></a>
3541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-68" name="__codelineno-0-68"></a> <span class="n">_providers</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Dict</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
3542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-69" name="__codelineno-0-69"></a>
3543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-70" name="__codelineno-0-70"></a> <span class="nd">@classmethod</span>
3544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-71" name="__codelineno-0-71"></a> <span class="k">def</span><span class="w"> </span><span class="nf">register</span><span class="p">(</span>
3545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-72" name="__codelineno-0-72"></a> <span class="bp">cls</span><span class="p">,</span>
3546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-73" name="__codelineno-0-73"></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
3547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-74" name="__codelineno-0-74"></a> <span class="n">provider_class</span><span class="p">:</span> <span class="nb">type</span><span class="p">,</span>
3548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-75" name="__codelineno-0-75"></a> <span class="n">env_var</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">""</span><span class="p">,</span>
3549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-76" name="__codelineno-0-76"></a> <span class="n">model_prefixes</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-77" name="__codelineno-0-77"></a> <span class="n">default_models</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-78" name="__codelineno-0-78"></a> <span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
3552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-79" name="__codelineno-0-79"></a><span class="w"> </span><span class="sd">"""Register a provider class with its metadata."""</span>
3553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-80" name="__codelineno-0-80"></a> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
3554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-81" name="__codelineno-0-81"></a> <span class="s2">"class"</span><span class="p">:</span> <span class="n">provider_class</span><span class="p">,</span>
3555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-82" name="__codelineno-0-82"></a> <span class="s2">"env_var"</span><span class="p">:</span> <span class="n">env_var</span><span class="p">,</span>
3556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-83" name="__codelineno-0-83"></a> <span class="s2">"model_prefixes"</span><span class="p">:</span> <span class="n">model_prefixes</span> <span class="ow">or</span> <span class="p">[],</span>
3557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-84" name="__codelineno-0-84"></a> <span class="s2">"default_models"</span><span class="p">:</span> <span class="n">default_models</span> <span class="ow">or</span> <span class="p">{},</span>
3558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="p">}</span>
3559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-86" name="__codelineno-0-86"></a>
3560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-87" name="__codelineno-0-87"></a> <span class="nd">@classmethod</span>
3561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-88" name="__codelineno-0-88"></a> <span class="k">def</span><span class="w"> </span><span class="nf">get</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">type</span><span class="p">:</span>
3562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-89" name="__codelineno-0-89"></a><span class="w"> </span><span class="sd">"""Return the provider class for a given name."""</span>
3563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">:</span>
3564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-91" name="__codelineno-0-91"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown provider: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
3565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-92" name="__codelineno-0-92"></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"class"</span><span class="p">]</span>
3566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-93" name="__codelineno-0-93"></a>
3567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-94" name="__codelineno-0-94"></a> <span class="nd">@classmethod</span>
3568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-95" name="__codelineno-0-95"></a> <span class="k">def</span><span class="w"> </span><span class="nf">get_by_model</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">model_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
3569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-96" name="__codelineno-0-96"></a><span class="w"> </span><span class="sd">"""Return provider name for a model ID based on prefix matching."""</span>
3570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-97" name="__codelineno-0-97"></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">info</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
3571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-98" name="__codelineno-0-98"></a> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="n">info</span><span class="p">[</span><span class="s2">"model_prefixes"</span><span class="p">]:</span>
3572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-99" name="__codelineno-0-99"></a> <span class="k">if</span> <span class="n">model_id</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="n">prefix</span><span class="p">):</span>
3573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-100" name="__codelineno-0-100"></a> <span class="k">return</span> <span class="n">name</span>
3574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-101" name="__codelineno-0-101"></a> <span class="k">return</span> <span class="kc">None</span>
3575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-102" name="__codelineno-0-102"></a>
3576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-103" name="__codelineno-0-103"></a> <span class="nd">@classmethod</span>
3577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-104" name="__codelineno-0-104"></a> <span class="k">def</span><span class="w"> </span><span class="nf">get_default_models</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
3578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-105" name="__codelineno-0-105"></a><span class="w"> </span><span class="sd">"""Return the default models dict for a provider."""</span>
3579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-106" name="__codelineno-0-106"></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">:</span>
3580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-107" name="__codelineno-0-107"></a> <span class="k">return</span> <span class="p">{}</span>
3581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-108" name="__codelineno-0-108"></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"default_models"</span><span class="p">,</span> <span class="p">{})</span>
3582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-109" name="__codelineno-0-109"></a>
3583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-110" name="__codelineno-0-110"></a> <span class="nd">@classmethod</span>
3584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-111" name="__codelineno-0-111"></a> <span class="k">def</span><span class="w"> </span><span class="nf">available</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span> <span class="o">-></span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
3585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-112" name="__codelineno-0-112"></a><span class="w"> </span><span class="sd">"""Return names of providers whose env var is set (or have no env var requirement)."""</span>
3586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-113" name="__codelineno-0-113"></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
3587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-114" name="__codelineno-0-114"></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">info</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
3588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-115" name="__codelineno-0-115"></a> <span class="n">env_var</span> <span class="o">=</span> <span class="n">info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"env_var"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
3589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-116" name="__codelineno-0-116"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">env_var</span><span class="p">:</span>
3590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-117" name="__codelineno-0-117"></a> <span class="c1"># Providers without an env var (e.g. ollama) need special availability checks</span>
3591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-118" name="__codelineno-0-118"></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
3592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-119" name="__codelineno-0-119"></a> <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="n">env_var</span><span class="p">,</span> <span class="s2">""</span><span class="p">):</span>
3593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-120" name="__codelineno-0-120"></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
3594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-121" name="__codelineno-0-121"></a> <span class="k">return</span> <span class="n">result</span>
3595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-122" name="__codelineno-0-122"></a>
3596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-123" name="__codelineno-0-123"></a> <span class="nd">@classmethod</span>
3597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-124" name="__codelineno-0-124"></a> <span class="k">def</span><span class="w"> </span><span class="nf">all_registered</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Dict</span><span class="p">]:</span>
3598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-125" name="__codelineno-0-125"></a><span class="w"> </span><span class="sd">"""Return all registered providers and their metadata."""</span>
3599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-126" name="__codelineno-0-126"></a> <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">)</span>
3600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-children">
3606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.ProviderRegistry.all_registered" class="doc doc-heading">
3620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">all_registered</span><span class="p">()</span></code>
3621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small>
3624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.all_registered" class="headerlink" title="Permanent link">¶</a></h4>
3627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return all registered providers and their metadata.</p>
3632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-123">123</a></span>
3637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-124">124</a></span>
3638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-125">125</a></span>
3639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-126">126</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-123" name="__codelineno-0-123"></a><span class="nd">@classmethod</span>
3640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-124" name="__codelineno-0-124"></a><span class="k">def</span><span class="w"> </span><span class="nf">all_registered</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Dict</span><span class="p">]:</span>
3641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-125" name="__codelineno-0-125"></a><span class="w"> </span><span class="sd">"""Return all registered providers and their metadata."""</span>
3642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-126" name="__codelineno-0-126"></a> <span class="k">return</span> <span class="nb">dict</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">)</span>
3643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.ProviderRegistry.available" class="doc doc-heading">
3653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">available</span><span class="p">()</span></code>
3654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small>
3657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.available" class="headerlink" title="Permanent link">¶</a></h4>
3660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return names of providers whose env var is set (or have no env var requirement).</p>
3665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-110">110</a></span>
3670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-111">111</a></span>
3671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-112">112</a></span>
3672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-113">113</a></span>
3673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-114">114</a></span>
3674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-115">115</a></span>
3675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-116">116</a></span>
3676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-117">117</a></span>
3677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-118">118</a></span>
3678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-119">119</a></span>
3679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-120">120</a></span>
3680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-121">121</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-110" name="__codelineno-0-110"></a><span class="nd">@classmethod</span>
3681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-111" name="__codelineno-0-111"></a><span class="k">def</span><span class="w"> </span><span class="nf">available</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span> <span class="o">-></span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
3682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-112" name="__codelineno-0-112"></a><span class="w"> </span><span class="sd">"""Return names of providers whose env var is set (or have no env var requirement)."""</span>
3683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-113" name="__codelineno-0-113"></a> <span class="n">result</span> <span class="o">=</span> <span class="p">[]</span>
3684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-114" name="__codelineno-0-114"></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">info</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
3685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-115" name="__codelineno-0-115"></a> <span class="n">env_var</span> <span class="o">=</span> <span class="n">info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"env_var"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
3686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-116" name="__codelineno-0-116"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">env_var</span><span class="p">:</span>
3687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-117" name="__codelineno-0-117"></a> <span class="c1"># Providers without an env var (e.g. ollama) need special availability checks</span>
3688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-118" name="__codelineno-0-118"></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
3689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-119" name="__codelineno-0-119"></a> <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="n">env_var</span><span class="p">,</span> <span class="s2">""</span><span class="p">):</span>
3690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-120" name="__codelineno-0-120"></a> <span class="n">result</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
3691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-121" name="__codelineno-0-121"></a> <span class="k">return</span> <span class="n">result</span>
3692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.ProviderRegistry.get" class="doc doc-heading">
3702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">)</span></code>
3703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small>
3706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get" class="headerlink" title="Permanent link">¶</a></h4>
3709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return the provider class for a given name.</p>
3714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-87">87</a></span>
3719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-88">88</a></span>
3720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-89">89</a></span>
3721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-90">90</a></span>
3722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-91">91</a></span>
3723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-92">92</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-87" name="__codelineno-0-87"></a><span class="nd">@classmethod</span>
3724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-88" name="__codelineno-0-88"></a><span class="k">def</span><span class="w"> </span><span class="nf">get</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">type</span><span class="p">:</span>
3725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-89" name="__codelineno-0-89"></a><span class="w"> </span><span class="sd">"""Return the provider class for a given name."""</span>
3726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">:</span>
3727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-91" name="__codelineno-0-91"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Unknown provider: </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
3728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-92" name="__codelineno-0-92"></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">[</span><span class="n">name</span><span class="p">][</span><span class="s2">"class"</span><span class="p">]</span>
3729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.ProviderRegistry.get_by_model" class="doc doc-heading">
3739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">get_by_model</span><span class="p">(</span><span class="n">model_id</span><span class="p">)</span></code>
3740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small>
3743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get_by_model" class="headerlink" title="Permanent link">¶</a></h4>
3746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return provider name for a model ID based on prefix matching.</p>
3751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-94"> 94</a></span>
3756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-95"> 95</a></span>
3757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-96"> 96</a></span>
3758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-97"> 97</a></span>
3759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-98"> 98</a></span>
3760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-99"> 99</a></span>
3761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-100">100</a></span>
3762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-101">101</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-94" name="__codelineno-0-94"></a><span class="nd">@classmethod</span>
3763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-95" name="__codelineno-0-95"></a><span class="k">def</span><span class="w"> </span><span class="nf">get_by_model</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">model_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]:</span>
3764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-96" name="__codelineno-0-96"></a><span class="w"> </span><span class="sd">"""Return provider name for a model ID based on prefix matching."""</span>
3765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-97" name="__codelineno-0-97"></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">info</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
3766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-98" name="__codelineno-0-98"></a> <span class="k">for</span> <span class="n">prefix</span> <span class="ow">in</span> <span class="n">info</span><span class="p">[</span><span class="s2">"model_prefixes"</span><span class="p">]:</span>
3767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-99" name="__codelineno-0-99"></a> <span class="k">if</span> <span class="n">model_id</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="n">prefix</span><span class="p">):</span>
3768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-100" name="__codelineno-0-100"></a> <span class="k">return</span> <span class="n">name</span>
3769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-101" name="__codelineno-0-101"></a> <span class="k">return</span> <span class="kc">None</span>
3770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.ProviderRegistry.get_default_models" class="doc doc-heading">
3780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">get_default_models</span><span class="p">(</span><span class="n">name</span><span class="p">)</span></code>
3781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small>
3784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.get_default_models" class="headerlink" title="Permanent link">¶</a></h4>
3787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return the default models dict for a provider.</p>
3792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-103">103</a></span>
3797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-104">104</a></span>
3798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-105">105</a></span>
3799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-106">106</a></span>
3800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-107">107</a></span>
3801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-108">108</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-103" name="__codelineno-0-103"></a><span class="nd">@classmethod</span>
3802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-104" name="__codelineno-0-104"></a><span class="k">def</span><span class="w"> </span><span class="nf">get_default_models</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
3803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-105" name="__codelineno-0-105"></a><span class="w"> </span><span class="sd">"""Return the default models dict for a provider."""</span>
3804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-106" name="__codelineno-0-106"></a> <span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">:</span>
3805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-107" name="__codelineno-0-107"></a> <span class="k">return</span> <span class="p">{}</span>
3806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-108" name="__codelineno-0-108"></a> <span class="k">return</span> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"default_models"</span><span class="p">,</span> <span class="p">{})</span>
3807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
3814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.base.ProviderRegistry.register" class="doc doc-heading">
3817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">register</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">provider_class</span><span class="p">,</span> <span class="n">env_var</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">model_prefixes</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">default_models</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
3818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="doc doc-labels">
3820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small>
3821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</span>
3822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.base.ProviderRegistry.register" class="headerlink" title="Permanent link">¶</a></h4>
3824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Register a provider class with its metadata.</p>
3829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/base.py</code></summary>
3833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-70">70</a></span>
3834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-71">71</a></span>
3835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-72">72</a></span>
3836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-73">73</a></span>
3837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-74">74</a></span>
3838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-75">75</a></span>
3839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-76">76</a></span>
3840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-77">77</a></span>
3841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-78">78</a></span>
3842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-79">79</a></span>
3843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-80">80</a></span>
3844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-81">81</a></span>
3845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-82">82</a></span>
3846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-83">83</a></span>
3847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-84">84</a></span>
3848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-85">85</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-70" name="__codelineno-0-70"></a><span class="nd">@classmethod</span>
3849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-71" name="__codelineno-0-71"></a><span class="k">def</span><span class="w"> </span><span class="nf">register</span><span class="p">(</span>
3850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-72" name="__codelineno-0-72"></a> <span class="bp">cls</span><span class="p">,</span>
3851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-73" name="__codelineno-0-73"></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
3852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-74" name="__codelineno-0-74"></a> <span class="n">provider_class</span><span class="p">:</span> <span class="nb">type</span><span class="p">,</span>
3853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-75" name="__codelineno-0-75"></a> <span class="n">env_var</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">""</span><span class="p">,</span>
3854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-76" name="__codelineno-0-76"></a> <span class="n">model_prefixes</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-77" name="__codelineno-0-77"></a> <span class="n">default_models</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
3856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-78" name="__codelineno-0-78"></a><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
3857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-79" name="__codelineno-0-79"></a><span class="w"> </span><span class="sd">"""Register a provider class with its metadata."""</span>
3858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-80" name="__codelineno-0-80"></a> <span class="bp">cls</span><span class="o">.</span><span class="n">_providers</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
3859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-81" name="__codelineno-0-81"></a> <span class="s2">"class"</span><span class="p">:</span> <span class="n">provider_class</span><span class="p">,</span>
3860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-82" name="__codelineno-0-82"></a> <span class="s2">"env_var"</span><span class="p">:</span> <span class="n">env_var</span><span class="p">,</span>
3861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-83" name="__codelineno-0-83"></a> <span class="s2">"model_prefixes"</span><span class="p">:</span> <span class="n">model_prefixes</span> <span class="ow">or</span> <span class="p">[],</span>
3862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-84" name="__codelineno-0-84"></a> <span class="s2">"default_models"</span><span class="p">:</span> <span class="n">default_models</span> <span class="ow">or</span> <span class="p">{},</span>
3863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="p">}</span>
3864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
3865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
3866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
3886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-module">
3888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3891
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="video_processor.providers.manager" class="doc doc-heading">
3892
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code>video_processor.providers.manager</code>
3893
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3894
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3895
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager" class="headerlink" title="Permanent link">¶</a></h2>
3896
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3897
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents first">
3898
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3899
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>ProviderManager - unified interface for routing API calls to the best available provider.</p>
3900
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3901
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3902
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3903
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3904
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3905
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3906
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3907
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3908
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3909
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3910
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-children">
3911
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3912
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3913
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3914
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3915
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3916
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3917
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3918
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3919
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3920
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-class">
3921
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3922
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3923
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3924
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="video_processor.providers.manager.ProviderManager" class="doc doc-heading">
3925
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code>ProviderManager</code>
3926
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3927
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3928
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager" class="headerlink" title="Permanent link">¶</a></h3>
3929
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3930
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3931
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
3932
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3933
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3934
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3935
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Routes API calls to the best available provider/model.</p>
3936
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Supports explicit model selection or auto-routing based on
3937
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
discovered available models.</p>
3938
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3939
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3940
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3941
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3942
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3943
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3944
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3945
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
3946
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
3947
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/manager.py</code></summary>
3948
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-52"> 52</a></span>
3949
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-53"> 53</a></span>
3950
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-54"> 54</a></span>
3951
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-55"> 55</a></span>
3952
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-56"> 56</a></span>
3953
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-57"> 57</a></span>
3954
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-58"> 58</a></span>
3955
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-59"> 59</a></span>
3956
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-60"> 60</a></span>
3957
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-61"> 61</a></span>
3958
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-62"> 62</a></span>
3959
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-63"> 63</a></span>
3960
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-64"> 64</a></span>
3961
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-65"> 65</a></span>
3962
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-66"> 66</a></span>
3963
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-67"> 67</a></span>
3964
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-68"> 68</a></span>
3965
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-69"> 69</a></span>
3966
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-70"> 70</a></span>
3967
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-71"> 71</a></span>
3968
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-72"> 72</a></span>
3969
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-73"> 73</a></span>
3970
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-74"> 74</a></span>
3971
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-75"> 75</a></span>
3972
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-76"> 76</a></span>
3973
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-77"> 77</a></span>
3974
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-78"> 78</a></span>
3975
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-79"> 79</a></span>
3976
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-80"> 80</a></span>
3977
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-81"> 81</a></span>
3978
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-82"> 82</a></span>
3979
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-83"> 83</a></span>
3980
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-84"> 84</a></span>
3981
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-85"> 85</a></span>
3982
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-86"> 86</a></span>
3983
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-87"> 87</a></span>
3984
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-88"> 88</a></span>
3985
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-89"> 89</a></span>
3986
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-90"> 90</a></span>
3987
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-91"> 91</a></span>
3988
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-92"> 92</a></span>
3989
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-93"> 93</a></span>
3990
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-94"> 94</a></span>
3991
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-95"> 95</a></span>
3992
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-96"> 96</a></span>
3993
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-97"> 97</a></span>
3994
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-98"> 98</a></span>
3995
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-99"> 99</a></span>
3996
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-100">100</a></span>
3997
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-101">101</a></span>
3998
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-102">102</a></span>
3999
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-103">103</a></span>
4000
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-104">104</a></span>
4001
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-105">105</a></span>
4002
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-106">106</a></span>
4003
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-107">107</a></span>
4004
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-108">108</a></span>
4005
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-109">109</a></span>
4006
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-110">110</a></span>
4007
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-111">111</a></span>
4008
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-112">112</a></span>
4009
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-113">113</a></span>
4010
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-114">114</a></span>
4011
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-115">115</a></span>
4012
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-116">116</a></span>
4013
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-117">117</a></span>
4014
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-118">118</a></span>
4015
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-119">119</a></span>
4016
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-120">120</a></span>
4017
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-121">121</a></span>
4018
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-122">122</a></span>
4019
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-123">123</a></span>
4020
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-124">124</a></span>
4021
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-125">125</a></span>
4022
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-126">126</a></span>
4023
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-127">127</a></span>
4024
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-128">128</a></span>
4025
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-129">129</a></span>
4026
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-130">130</a></span>
4027
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-131">131</a></span>
4028
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-132">132</a></span>
4029
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-133">133</a></span>
4030
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-134">134</a></span>
4031
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-135">135</a></span>
4032
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-136">136</a></span>
4033
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-137">137</a></span>
4034
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-138">138</a></span>
4035
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-139">139</a></span>
4036
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-140">140</a></span>
4037
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-141">141</a></span>
4038
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-142">142</a></span>
4039
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-143">143</a></span>
4040
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-144">144</a></span>
4041
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-145">145</a></span>
4042
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-146">146</a></span>
4043
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-147">147</a></span>
4044
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-148">148</a></span>
4045
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-149">149</a></span>
4046
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-150">150</a></span>
4047
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-151">151</a></span>
4048
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-152">152</a></span>
4049
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-153">153</a></span>
4050
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-154">154</a></span>
4051
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-155">155</a></span>
4052
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-156">156</a></span>
4053
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-157">157</a></span>
4054
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-158">158</a></span>
4055
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-159">159</a></span>
4056
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-160">160</a></span>
4057
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-161">161</a></span>
4058
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-162">162</a></span>
4059
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-163">163</a></span>
4060
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-164">164</a></span>
4061
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-165">165</a></span>
4062
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-166">166</a></span>
4063
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-167">167</a></span>
4064
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-168">168</a></span>
4065
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-169">169</a></span>
4066
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-170">170</a></span>
4067
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-171">171</a></span>
4068
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-172">172</a></span>
4069
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-173">173</a></span>
4070
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-174">174</a></span>
4071
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-175">175</a></span>
4072
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-176">176</a></span>
4073
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-177">177</a></span>
4074
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-178">178</a></span>
4075
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-179">179</a></span>
4076
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-180">180</a></span>
4077
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-181">181</a></span>
4078
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-182">182</a></span>
4079
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-183">183</a></span>
4080
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-184">184</a></span>
4081
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-185">185</a></span>
4082
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-186">186</a></span>
4083
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-187">187</a></span>
4084
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-188">188</a></span>
4085
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-189">189</a></span>
4086
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-190">190</a></span>
4087
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-191">191</a></span>
4088
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-192">192</a></span>
4089
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-193">193</a></span>
4090
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-194">194</a></span>
4091
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-195">195</a></span>
4092
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-196">196</a></span>
4093
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-197">197</a></span>
4094
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-198">198</a></span>
4095
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-199">199</a></span>
4096
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-200">200</a></span>
4097
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-201">201</a></span>
4098
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-202">202</a></span>
4099
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-203">203</a></span>
4100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-204">204</a></span>
4101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-205">205</a></span>
4102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-206">206</a></span>
4103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-207">207</a></span>
4104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-208">208</a></span>
4105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-209">209</a></span>
4106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-210">210</a></span>
4107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-211">211</a></span>
4108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-212">212</a></span>
4109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-213">213</a></span>
4110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-214">214</a></span>
4111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-215">215</a></span>
4112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-216">216</a></span>
4113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-217">217</a></span>
4114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-218">218</a></span>
4115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-219">219</a></span>
4116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-220">220</a></span>
4117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-221">221</a></span>
4118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-222">222</a></span>
4119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-223">223</a></span>
4120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-224">224</a></span>
4121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-225">225</a></span>
4122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-226">226</a></span>
4123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-227">227</a></span>
4124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-228">228</a></span>
4125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-229">229</a></span>
4126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-230">230</a></span>
4127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-231">231</a></span>
4128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-232">232</a></span>
4129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-233">233</a></span>
4130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-234">234</a></span>
4131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-235">235</a></span>
4132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-236">236</a></span>
4133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-237">237</a></span>
4134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-238">238</a></span>
4135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-239">239</a></span>
4136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-240">240</a></span>
4137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-241">241</a></span>
4138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-242">242</a></span>
4139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-243">243</a></span>
4140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-244">244</a></span>
4141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-245">245</a></span>
4142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-246">246</a></span>
4143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-247">247</a></span>
4144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-248">248</a></span>
4145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-249">249</a></span>
4146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-250">250</a></span>
4147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-251">251</a></span>
4148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-252">252</a></span>
4149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-253">253</a></span>
4150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-254">254</a></span>
4151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-255">255</a></span>
4152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-256">256</a></span>
4153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-257">257</a></span>
4154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-258">258</a></span>
4155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-259">259</a></span>
4156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-260">260</a></span>
4157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-261">261</a></span>
4158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-262">262</a></span>
4159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-263">263</a></span>
4160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-264">264</a></span>
4161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-265">265</a></span>
4162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-266">266</a></span>
4163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-267">267</a></span>
4164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-268">268</a></span>
4165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-269">269</a></span>
4166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-270">270</a></span>
4167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-271">271</a></span>
4168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-272">272</a></span>
4169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-273">273</a></span>
4170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-274">274</a></span>
4171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-275">275</a></span>
4172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-276">276</a></span>
4173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-277">277</a></span>
4174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-278">278</a></span>
4175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-279">279</a></span>
4176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-280">280</a></span>
4177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-281">281</a></span>
4178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-282">282</a></span>
4179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-283">283</a></span>
4180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-284">284</a></span>
4181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-285">285</a></span>
4182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-286">286</a></span>
4183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-287">287</a></span>
4184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-288">288</a></span>
4185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-289">289</a></span>
4186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-290">290</a></span>
4187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-291">291</a></span>
4188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-292">292</a></span>
4189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-293">293</a></span>
4190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-294">294</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-52" name="__codelineno-0-52"></a><span class="k">class</span><span class="w"> </span><span class="nc">ProviderManager</span><span class="p">:</span>
4191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-53" name="__codelineno-0-53"></a><span class="w"> </span><span class="sd">"""</span>
4192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-54" name="__codelineno-0-54"></a><span class="sd"> Routes API calls to the best available provider/model.</span>
4193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-55" name="__codelineno-0-55"></a>
4194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-56" name="__codelineno-0-56"></a><span class="sd"> Supports explicit model selection or auto-routing based on</span>
4195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-57" name="__codelineno-0-57"></a><span class="sd"> discovered available models.</span>
4196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-58" name="__codelineno-0-58"></a><span class="sd"> """</span>
4197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-59" name="__codelineno-0-59"></a>
4198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-60" name="__codelineno-0-60"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span>
4199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-61" name="__codelineno-0-61"></a> <span class="bp">self</span><span class="p">,</span>
4200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-62" name="__codelineno-0-62"></a> <span class="n">vision_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-63" name="__codelineno-0-63"></a> <span class="n">chat_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-64" name="__codelineno-0-64"></a> <span class="n">transcription_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-65" name="__codelineno-0-65"></a> <span class="n">provider</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-66" name="__codelineno-0-66"></a> <span class="n">auto</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
4205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-67" name="__codelineno-0-67"></a> <span class="p">):</span>
4206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-68" name="__codelineno-0-68"></a><span class="w"> </span><span class="sd">"""</span>
4207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-69" name="__codelineno-0-69"></a><span class="sd"> Initialize the ProviderManager.</span>
4208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-70" name="__codelineno-0-70"></a>
4209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-71" name="__codelineno-0-71"></a><span class="sd"> Parameters</span>
4210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-72" name="__codelineno-0-72"></a><span class="sd"> ----------</span>
4211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-73" name="__codelineno-0-73"></a><span class="sd"> vision_model : override model for vision tasks (e.g. 'gpt-4o')</span>
4212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-74" name="__codelineno-0-74"></a><span class="sd"> chat_model : override model for chat/LLM tasks</span>
4213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-75" name="__codelineno-0-75"></a><span class="sd"> transcription_model : override model for transcription</span>
4214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-76" name="__codelineno-0-76"></a><span class="sd"> provider : force all tasks to a single provider ('openai', 'anthropic', 'gemini')</span>
4215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-77" name="__codelineno-0-77"></a><span class="sd"> auto : if True and no model specified, pick the best available</span>
4216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-78" name="__codelineno-0-78"></a><span class="sd"> """</span>
4217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-79" name="__codelineno-0-79"></a> <span class="n">_ensure_providers_registered</span><span class="p">()</span>
4218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-80" name="__codelineno-0-80"></a> <span class="bp">self</span><span class="o">.</span><span class="n">auto</span> <span class="o">=</span> <span class="n">auto</span>
4219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-81" name="__codelineno-0-81"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_providers</span><span class="p">:</span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">BaseProvider</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
4220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-82" name="__codelineno-0-82"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_available_models</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span>
4221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-83" name="__codelineno-0-83"></a> <span class="bp">self</span><span class="o">.</span><span class="n">usage</span> <span class="o">=</span> <span class="n">UsageTracker</span><span class="p">()</span>
4222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-84" name="__codelineno-0-84"></a>
4223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="c1"># If a single provider is forced, apply it</span>
4224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-86" name="__codelineno-0-86"></a> <span class="k">if</span> <span class="n">provider</span><span class="p">:</span>
4225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-87" name="__codelineno-0-87"></a> <span class="bp">self</span><span class="o">.</span><span class="n">vision_model</span> <span class="o">=</span> <span class="n">vision_model</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_default_for_provider</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="s2">"vision"</span><span class="p">)</span>
4226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-88" name="__codelineno-0-88"></a> <span class="bp">self</span><span class="o">.</span><span class="n">chat_model</span> <span class="o">=</span> <span class="n">chat_model</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_default_for_provider</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="s2">"chat"</span><span class="p">)</span>
4227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span> <span class="o">=</span> <span class="n">transcription_model</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_default_for_provider</span><span class="p">(</span>
4228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="n">provider</span><span class="p">,</span> <span class="s2">"audio"</span>
4229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-91" name="__codelineno-0-91"></a> <span class="p">)</span>
4230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-92" name="__codelineno-0-92"></a> <span class="k">else</span><span class="p">:</span>
4231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-93" name="__codelineno-0-93"></a> <span class="bp">self</span><span class="o">.</span><span class="n">vision_model</span> <span class="o">=</span> <span class="n">vision_model</span>
4232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-94" name="__codelineno-0-94"></a> <span class="bp">self</span><span class="o">.</span><span class="n">chat_model</span> <span class="o">=</span> <span class="n">chat_model</span>
4233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-95" name="__codelineno-0-95"></a> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span> <span class="o">=</span> <span class="n">transcription_model</span>
4234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-96" name="__codelineno-0-96"></a>
4235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-97" name="__codelineno-0-97"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_forced_provider</span> <span class="o">=</span> <span class="n">provider</span>
4236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-98" name="__codelineno-0-98"></a>
4237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-99" name="__codelineno-0-99"></a> <span class="nd">@staticmethod</span>
4238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-100" name="__codelineno-0-100"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_default_for_provider</span><span class="p">(</span><span class="n">provider</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">capability</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
4239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-101" name="__codelineno-0-101"></a><span class="w"> </span><span class="sd">"""Return the default model for a provider/capability combo."""</span>
4240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-102" name="__codelineno-0-102"></a> <span class="n">defaults</span> <span class="o">=</span> <span class="n">ProviderRegistry</span><span class="o">.</span><span class="n">get_default_models</span><span class="p">(</span><span class="n">provider</span><span class="p">)</span>
4241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-103" name="__codelineno-0-103"></a> <span class="k">if</span> <span class="n">defaults</span><span class="p">:</span>
4242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-104" name="__codelineno-0-104"></a> <span class="k">return</span> <span class="n">defaults</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">capability</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
4243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-105" name="__codelineno-0-105"></a> <span class="c1"># Fallback for unregistered providers</span>
4244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-106" name="__codelineno-0-106"></a> <span class="k">return</span> <span class="s2">""</span>
4245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-107" name="__codelineno-0-107"></a>
4246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-108" name="__codelineno-0-108"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_get_provider</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">provider_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">BaseProvider</span><span class="p">:</span>
4247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-109" name="__codelineno-0-109"></a><span class="w"> </span><span class="sd">"""Lazily initialize and cache a provider instance."""</span>
4248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-110" name="__codelineno-0-110"></a> <span class="k">if</span> <span class="n">provider_name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_providers</span><span class="p">:</span>
4249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-111" name="__codelineno-0-111"></a> <span class="n">_ensure_providers_registered</span><span class="p">()</span>
4250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-112" name="__codelineno-0-112"></a> <span class="n">provider_class</span> <span class="o">=</span> <span class="n">ProviderRegistry</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">provider_name</span><span class="p">)</span>
4251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-113" name="__codelineno-0-113"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_providers</span><span class="p">[</span><span class="n">provider_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">provider_class</span><span class="p">()</span>
4252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-114" name="__codelineno-0-114"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_providers</span><span class="p">[</span><span class="n">provider_name</span><span class="p">]</span>
4253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-115" name="__codelineno-0-115"></a>
4254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-116" name="__codelineno-0-116"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_provider_for_model</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">model_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
4255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-117" name="__codelineno-0-117"></a><span class="w"> </span><span class="sd">"""Infer the provider from a model id."""</span>
4256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-118" name="__codelineno-0-118"></a> <span class="n">_ensure_providers_registered</span><span class="p">()</span>
4257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-119" name="__codelineno-0-119"></a> <span class="c1"># Check registry prefix matching first</span>
4258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-120" name="__codelineno-0-120"></a> <span class="n">provider_name</span> <span class="o">=</span> <span class="n">ProviderRegistry</span><span class="o">.</span><span class="n">get_by_model</span><span class="p">(</span><span class="n">model_id</span><span class="p">)</span>
4259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-121" name="__codelineno-0-121"></a> <span class="k">if</span> <span class="n">provider_name</span><span class="p">:</span>
4260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-122" name="__codelineno-0-122"></a> <span class="k">return</span> <span class="n">provider_name</span>
4261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-123" name="__codelineno-0-123"></a> <span class="c1"># Try discovery (exact match, then prefix match for ollama name:tag format)</span>
4262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-124" name="__codelineno-0-124"></a> <span class="n">models</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_available_models</span><span class="p">()</span>
4263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-125" name="__codelineno-0-125"></a> <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">models</span><span class="p">:</span>
4264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-126" name="__codelineno-0-126"></a> <span class="k">if</span> <span class="n">m</span><span class="o">.</span><span class="n">id</span> <span class="o">==</span> <span class="n">model_id</span><span class="p">:</span>
4265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-127" name="__codelineno-0-127"></a> <span class="k">return</span> <span class="n">m</span><span class="o">.</span><span class="n">provider</span>
4266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-128" name="__codelineno-0-128"></a> <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">models</span><span class="p">:</span>
4267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-129" name="__codelineno-0-129"></a> <span class="k">if</span> <span class="n">m</span><span class="o">.</span><span class="n">id</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="n">model_id</span> <span class="o">+</span> <span class="s2">":"</span><span class="p">):</span>
4268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-130" name="__codelineno-0-130"></a> <span class="k">return</span> <span class="n">m</span><span class="o">.</span><span class="n">provider</span>
4269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-131" name="__codelineno-0-131"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Cannot determine provider for model: </span><span class="si">{</span><span class="n">model_id</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-132" name="__codelineno-0-132"></a>
4271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-133" name="__codelineno-0-133"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_get_available_models</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]:</span>
4272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-134" name="__codelineno-0-134"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_available_models</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
4273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-135" name="__codelineno-0-135"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_available_models</span> <span class="o">=</span> <span class="n">discover_available_models</span><span class="p">()</span>
4274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-136" name="__codelineno-0-136"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_available_models</span>
4275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-137" name="__codelineno-0-137"></a>
4276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-138" name="__codelineno-0-138"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_resolve_model</span><span class="p">(</span>
4277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-139" name="__codelineno-0-139"></a> <span class="bp">self</span><span class="p">,</span> <span class="n">explicit</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span> <span class="n">capability</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">preferences</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span>
4278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-140" name="__codelineno-0-140"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
4279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-141" name="__codelineno-0-141"></a><span class="w"> </span><span class="sd">"""</span>
4280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-142" name="__codelineno-0-142"></a><span class="sd"> Resolve which (provider, model) to use for a capability.</span>
4281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-143" name="__codelineno-0-143"></a>
4282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-144" name="__codelineno-0-144"></a><span class="sd"> Returns (provider_name, model_id).</span>
4283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-145" name="__codelineno-0-145"></a><span class="sd"> """</span>
4284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-146" name="__codelineno-0-146"></a> <span class="k">if</span> <span class="n">explicit</span><span class="p">:</span>
4285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-147" name="__codelineno-0-147"></a> <span class="n">prov</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_provider_for_model</span><span class="p">(</span><span class="n">explicit</span><span class="p">)</span>
4286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-148" name="__codelineno-0-148"></a> <span class="k">return</span> <span class="n">prov</span><span class="p">,</span> <span class="n">explicit</span>
4287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-149" name="__codelineno-0-149"></a>
4288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-150" name="__codelineno-0-150"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">auto</span><span class="p">:</span>
4289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-151" name="__codelineno-0-151"></a> <span class="c1"># Try preference order, picking the first provider that has an API key</span>
4290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-152" name="__codelineno-0-152"></a> <span class="k">for</span> <span class="n">prov</span><span class="p">,</span> <span class="n">model</span> <span class="ow">in</span> <span class="n">preferences</span><span class="p">:</span>
4291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-153" name="__codelineno-0-153"></a> <span class="k">try</span><span class="p">:</span>
4292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-154" name="__codelineno-0-154"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_get_provider</span><span class="p">(</span><span class="n">prov</span><span class="p">)</span>
4293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-155" name="__codelineno-0-155"></a> <span class="k">return</span> <span class="n">prov</span><span class="p">,</span> <span class="n">model</span>
4294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-156" name="__codelineno-0-156"></a> <span class="k">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">ImportError</span><span class="p">):</span>
4295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-157" name="__codelineno-0-157"></a> <span class="k">continue</span>
4296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-158" name="__codelineno-0-158"></a>
4297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-159" name="__codelineno-0-159"></a> <span class="c1"># Fallback: try Ollama if available (no API key needed)</span>
4298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-160" name="__codelineno-0-160"></a> <span class="k">try</span><span class="p">:</span>
4299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-161" name="__codelineno-0-161"></a> <span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.ollama_provider</span><span class="w"> </span><span class="kn">import</span> <span class="n">OllamaProvider</span>
4300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-162" name="__codelineno-0-162"></a>
4301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-163" name="__codelineno-0-163"></a> <span class="k">if</span> <span class="n">OllamaProvider</span><span class="o">.</span><span class="n">is_available</span><span class="p">():</span>
4302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-164" name="__codelineno-0-164"></a> <span class="n">provider</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_provider</span><span class="p">(</span><span class="s2">"ollama"</span><span class="p">)</span>
4303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-165" name="__codelineno-0-165"></a> <span class="n">models</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">list_models</span><span class="p">()</span>
4304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-166" name="__codelineno-0-166"></a> <span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">models</span><span class="p">:</span>
4305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-167" name="__codelineno-0-167"></a> <span class="k">if</span> <span class="n">capability</span> <span class="ow">in</span> <span class="n">m</span><span class="o">.</span><span class="n">capabilities</span><span class="p">:</span>
4306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-168" name="__codelineno-0-168"></a> <span class="k">return</span> <span class="s2">"ollama"</span><span class="p">,</span> <span class="n">m</span><span class="o">.</span><span class="n">id</span>
4307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-169" name="__codelineno-0-169"></a> <span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
4308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-170" name="__codelineno-0-170"></a> <span class="k">pass</span>
4309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-171" name="__codelineno-0-171"></a>
4310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-172" name="__codelineno-0-172"></a> <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span>
4311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-173" name="__codelineno-0-173"></a> <span class="sa">f</span><span class="s2">"No provider available for capability '</span><span class="si">{</span><span class="n">capability</span><span class="si">}</span><span class="s2">'. "</span>
4312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-174" name="__codelineno-0-174"></a> <span class="s2">"Set an API key for at least one provider, or start Ollama."</span>
4313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-175" name="__codelineno-0-175"></a> <span class="p">)</span>
4314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-176" name="__codelineno-0-176"></a>
4315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-177" name="__codelineno-0-177"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_track</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">provider</span><span class="p">:</span> <span class="n">BaseProvider</span><span class="p">,</span> <span class="n">prov_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">model</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
4316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-178" name="__codelineno-0-178"></a><span class="w"> </span><span class="sd">"""Record usage from the last API call on a provider."""</span>
4317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-179" name="__codelineno-0-179"></a> <span class="n">last</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="s2">"_last_usage"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
4318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-180" name="__codelineno-0-180"></a> <span class="k">if</span> <span class="n">last</span><span class="p">:</span>
4319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-181" name="__codelineno-0-181"></a> <span class="bp">self</span><span class="o">.</span><span class="n">usage</span><span class="o">.</span><span class="n">record</span><span class="p">(</span>
4320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-182" name="__codelineno-0-182"></a> <span class="n">provider</span><span class="o">=</span><span class="n">prov_name</span><span class="p">,</span>
4321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-183" name="__codelineno-0-183"></a> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">,</span>
4322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-184" name="__codelineno-0-184"></a> <span class="n">input_tokens</span><span class="o">=</span><span class="n">last</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"input_tokens"</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span>
4323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-185" name="__codelineno-0-185"></a> <span class="n">output_tokens</span><span class="o">=</span><span class="n">last</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"output_tokens"</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span>
4324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-186" name="__codelineno-0-186"></a> <span class="p">)</span>
4325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-187" name="__codelineno-0-187"></a> <span class="n">provider</span><span class="o">.</span><span class="n">_last_usage</span> <span class="o">=</span> <span class="kc">None</span>
4326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-188" name="__codelineno-0-188"></a>
4327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-189" name="__codelineno-0-189"></a> <span class="c1"># --- Public API ---</span>
4328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-190" name="__codelineno-0-190"></a>
4329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-191" name="__codelineno-0-191"></a> <span class="k">def</span><span class="w"> </span><span class="nf">chat</span><span class="p">(</span>
4330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-192" name="__codelineno-0-192"></a> <span class="bp">self</span><span class="p">,</span>
4331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-193" name="__codelineno-0-193"></a> <span class="n">messages</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">dict</span><span class="p">],</span>
4332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-194" name="__codelineno-0-194"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
4333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-195" name="__codelineno-0-195"></a> <span class="n">temperature</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">,</span>
4334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-196" name="__codelineno-0-196"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
4335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-197" name="__codelineno-0-197"></a><span class="w"> </span><span class="sd">"""Send a chat completion to the best available provider."""</span>
4336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-198" name="__codelineno-0-198"></a> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_model</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">chat_model</span><span class="p">,</span> <span class="s2">"chat"</span><span class="p">,</span> <span class="n">_CHAT_PREFERENCES</span><span class="p">)</span>
4337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-199" name="__codelineno-0-199"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Chat: using </span><span class="si">{</span><span class="n">prov_name</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">model</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-200" name="__codelineno-0-200"></a> <span class="n">provider</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_provider</span><span class="p">(</span><span class="n">prov_name</span><span class="p">)</span>
4339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-201" name="__codelineno-0-201"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">chat</span><span class="p">(</span>
4340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-202" name="__codelineno-0-202"></a> <span class="n">messages</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="n">max_tokens</span><span class="p">,</span> <span class="n">temperature</span><span class="o">=</span><span class="n">temperature</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="n">model</span>
4341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-203" name="__codelineno-0-203"></a> <span class="p">)</span>
4342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-204" name="__codelineno-0-204"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_track</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span><span class="p">)</span>
4343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-205" name="__codelineno-0-205"></a> <span class="k">return</span> <span class="n">result</span>
4344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-206" name="__codelineno-0-206"></a>
4345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-207" name="__codelineno-0-207"></a> <span class="k">def</span><span class="w"> </span><span class="nf">analyze_image</span><span class="p">(</span>
4346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-208" name="__codelineno-0-208"></a> <span class="bp">self</span><span class="p">,</span>
4347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-209" name="__codelineno-0-209"></a> <span class="n">image_bytes</span><span class="p">:</span> <span class="nb">bytes</span><span class="p">,</span>
4348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-210" name="__codelineno-0-210"></a> <span class="n">prompt</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
4349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-211" name="__codelineno-0-211"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
4350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-212" name="__codelineno-0-212"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
4351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-213" name="__codelineno-0-213"></a><span class="w"> </span><span class="sd">"""Analyze an image using the best available vision provider."""</span>
4352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-214" name="__codelineno-0-214"></a> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_model</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">vision_model</span><span class="p">,</span> <span class="s2">"vision"</span><span class="p">,</span> <span class="n">_VISION_PREFERENCES</span><span class="p">)</span>
4353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-215" name="__codelineno-0-215"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Vision: using </span><span class="si">{</span><span class="n">prov_name</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">model</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-216" name="__codelineno-0-216"></a> <span class="n">provider</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_provider</span><span class="p">(</span><span class="n">prov_name</span><span class="p">)</span>
4355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-217" name="__codelineno-0-217"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">analyze_image</span><span class="p">(</span><span class="n">image_bytes</span><span class="p">,</span> <span class="n">prompt</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="n">max_tokens</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">)</span>
4356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-218" name="__codelineno-0-218"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_track</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span><span class="p">)</span>
4357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-219" name="__codelineno-0-219"></a> <span class="k">return</span> <span class="n">result</span>
4358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-220" name="__codelineno-0-220"></a>
4359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-221" name="__codelineno-0-221"></a> <span class="k">def</span><span class="w"> </span><span class="nf">transcribe_audio</span><span class="p">(</span>
4360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-222" name="__codelineno-0-222"></a> <span class="bp">self</span><span class="p">,</span>
4361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-223" name="__codelineno-0-223"></a> <span class="n">audio_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Path</span><span class="p">,</span>
4362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-224" name="__codelineno-0-224"></a> <span class="n">language</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-225" name="__codelineno-0-225"></a> <span class="n">speaker_hints</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-226" name="__codelineno-0-226"></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
4365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-227" name="__codelineno-0-227"></a><span class="w"> </span><span class="sd">"""Transcribe audio using local Whisper if available, otherwise API."""</span>
4366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-228" name="__codelineno-0-228"></a> <span class="c1"># Prefer local Whisper — no file size limits, no API costs</span>
4367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-229" name="__codelineno-0-229"></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">"whisper-local"</span><span class="p">):</span>
4368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-230" name="__codelineno-0-230"></a> <span class="k">try</span><span class="p">:</span>
4369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-231" name="__codelineno-0-231"></a> <span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.whisper_local</span><span class="w"> </span><span class="kn">import</span> <span class="n">WhisperLocal</span>
4370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-232" name="__codelineno-0-232"></a>
4371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-233" name="__codelineno-0-233"></a> <span class="k">if</span> <span class="n">WhisperLocal</span><span class="o">.</span><span class="n">is_available</span><span class="p">():</span>
4372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-234" name="__codelineno-0-234"></a> <span class="c1"># Parse model size from "whisper-local:large" or default to "large"</span>
4373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-235" name="__codelineno-0-235"></a> <span class="n">size</span> <span class="o">=</span> <span class="s2">"large"</span>
4374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-236" name="__codelineno-0-236"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span> <span class="ow">and</span> <span class="s2">":"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="p">:</span>
4375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-237" name="__codelineno-0-237"></a> <span class="n">size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
4376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-238" name="__codelineno-0-238"></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"_whisper_local"</span><span class="p">):</span>
4377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-239" name="__codelineno-0-239"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_whisper_local</span> <span class="o">=</span> <span class="n">WhisperLocal</span><span class="p">(</span><span class="n">model_size</span><span class="o">=</span><span class="n">size</span><span class="p">)</span>
4378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-240" name="__codelineno-0-240"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Transcription: using local whisper-</span><span class="si">{</span><span class="n">size</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-241" name="__codelineno-0-241"></a> <span class="c1"># Pass speaker names as initial prompt hint for Whisper</span>
4380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-242" name="__codelineno-0-242"></a> <span class="n">whisper_kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"language"</span><span class="p">:</span> <span class="n">language</span><span class="p">}</span>
4381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-243" name="__codelineno-0-243"></a> <span class="k">if</span> <span class="n">speaker_hints</span><span class="p">:</span>
4382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-244" name="__codelineno-0-244"></a> <span class="n">whisper_kwargs</span><span class="p">[</span><span class="s2">"initial_prompt"</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span>
4383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-245" name="__codelineno-0-245"></a> <span class="s2">"Speakers: "</span> <span class="o">+</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">speaker_hints</span><span class="p">)</span> <span class="o">+</span> <span class="s2">"."</span>
4384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-246" name="__codelineno-0-246"></a> <span class="p">)</span>
4385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-247" name="__codelineno-0-247"></a> <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_whisper_local</span><span class="o">.</span><span class="n">transcribe</span><span class="p">(</span><span class="n">audio_path</span><span class="p">,</span> <span class="o">**</span><span class="n">whisper_kwargs</span><span class="p">)</span>
4386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-248" name="__codelineno-0-248"></a> <span class="n">duration</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"duration"</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span>
4387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-249" name="__codelineno-0-249"></a> <span class="bp">self</span><span class="o">.</span><span class="n">usage</span><span class="o">.</span><span class="n">record</span><span class="p">(</span>
4388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-250" name="__codelineno-0-250"></a> <span class="n">provider</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
4389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-251" name="__codelineno-0-251"></a> <span class="n">model</span><span class="o">=</span><span class="sa">f</span><span class="s2">"whisper-</span><span class="si">{</span><span class="n">size</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
4390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-252" name="__codelineno-0-252"></a> <span class="n">audio_minutes</span><span class="o">=</span><span class="n">duration</span> <span class="o">/</span> <span class="mi">60</span> <span class="k">if</span> <span class="n">duration</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span>
4391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-253" name="__codelineno-0-253"></a> <span class="p">)</span>
4392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-254" name="__codelineno-0-254"></a> <span class="k">return</span> <span class="n">result</span>
4393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-255" name="__codelineno-0-255"></a> <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
4394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-256" name="__codelineno-0-256"></a> <span class="k">pass</span>
4395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-257" name="__codelineno-0-257"></a>
4396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-258" name="__codelineno-0-258"></a> <span class="c1"># Fall back to API-based transcription</span>
4397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-259" name="__codelineno-0-259"></a> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_model</span><span class="p">(</span>
4398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-260" name="__codelineno-0-260"></a> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="p">,</span> <span class="s2">"audio"</span><span class="p">,</span> <span class="n">_TRANSCRIPTION_PREFERENCES</span>
4399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-261" name="__codelineno-0-261"></a> <span class="p">)</span>
4400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-262" name="__codelineno-0-262"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Transcription: using </span><span class="si">{</span><span class="n">prov_name</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">model</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-263" name="__codelineno-0-263"></a> <span class="n">provider</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_provider</span><span class="p">(</span><span class="n">prov_name</span><span class="p">)</span>
4402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-264" name="__codelineno-0-264"></a> <span class="c1"># Build transcription kwargs, passing speaker hints where supported</span>
4403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-265" name="__codelineno-0-265"></a> <span class="n">transcribe_kwargs</span><span class="p">:</span> <span class="nb">dict</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"language"</span><span class="p">:</span> <span class="n">language</span><span class="p">,</span> <span class="s2">"model"</span><span class="p">:</span> <span class="n">model</span><span class="p">}</span>
4404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-266" name="__codelineno-0-266"></a> <span class="k">if</span> <span class="n">speaker_hints</span><span class="p">:</span>
4405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-267" name="__codelineno-0-267"></a> <span class="k">if</span> <span class="n">prov_name</span> <span class="o">==</span> <span class="s2">"openai"</span><span class="p">:</span>
4406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-268" name="__codelineno-0-268"></a> <span class="c1"># OpenAI Whisper supports a 'prompt' parameter for hints</span>
4407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-269" name="__codelineno-0-269"></a> <span class="n">transcribe_kwargs</span><span class="p">[</span><span class="s2">"prompt"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Speakers: "</span> <span class="o">+</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">speaker_hints</span><span class="p">)</span> <span class="o">+</span> <span class="s2">"."</span>
4408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-270" name="__codelineno-0-270"></a> <span class="k">else</span><span class="p">:</span>
4409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-271" name="__codelineno-0-271"></a> <span class="n">transcribe_kwargs</span><span class="p">[</span><span class="s2">"speaker_hints"</span><span class="p">]</span> <span class="o">=</span> <span class="n">speaker_hints</span>
4410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-272" name="__codelineno-0-272"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">transcribe_audio</span><span class="p">(</span><span class="n">audio_path</span><span class="p">,</span> <span class="o">**</span><span class="n">transcribe_kwargs</span><span class="p">)</span>
4411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-273" name="__codelineno-0-273"></a> <span class="n">duration</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"duration"</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span>
4412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-274" name="__codelineno-0-274"></a> <span class="bp">self</span><span class="o">.</span><span class="n">usage</span><span class="o">.</span><span class="n">record</span><span class="p">(</span>
4413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-275" name="__codelineno-0-275"></a> <span class="n">provider</span><span class="o">=</span><span class="n">prov_name</span><span class="p">,</span>
4414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-276" name="__codelineno-0-276"></a> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">,</span>
4415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-277" name="__codelineno-0-277"></a> <span class="n">audio_minutes</span><span class="o">=</span><span class="n">duration</span> <span class="o">/</span> <span class="mi">60</span> <span class="k">if</span> <span class="n">duration</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span>
4416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-278" name="__codelineno-0-278"></a> <span class="p">)</span>
4417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-279" name="__codelineno-0-279"></a> <span class="k">return</span> <span class="n">result</span>
4418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-280" name="__codelineno-0-280"></a>
4419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-281" name="__codelineno-0-281"></a> <span class="k">def</span><span class="w"> </span><span class="nf">get_models_used</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
4420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-282" name="__codelineno-0-282"></a><span class="w"> </span><span class="sd">"""Return a dict mapping capability to 'provider/model' for tracking."""</span>
4421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-283" name="__codelineno-0-283"></a> <span class="n">result</span> <span class="o">=</span> <span class="p">{}</span>
4422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-284" name="__codelineno-0-284"></a> <span class="k">for</span> <span class="n">cap</span><span class="p">,</span> <span class="n">explicit</span><span class="p">,</span> <span class="n">prefs</span> <span class="ow">in</span> <span class="p">[</span>
4423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-285" name="__codelineno-0-285"></a> <span class="p">(</span><span class="s2">"vision"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">vision_model</span><span class="p">,</span> <span class="n">_VISION_PREFERENCES</span><span class="p">),</span>
4424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-286" name="__codelineno-0-286"></a> <span class="p">(</span><span class="s2">"chat"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">chat_model</span><span class="p">,</span> <span class="n">_CHAT_PREFERENCES</span><span class="p">),</span>
4425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-287" name="__codelineno-0-287"></a> <span class="p">(</span><span class="s2">"transcription"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="p">,</span> <span class="n">_TRANSCRIPTION_PREFERENCES</span><span class="p">),</span>
4426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-288" name="__codelineno-0-288"></a> <span class="p">]:</span>
4427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-289" name="__codelineno-0-289"></a> <span class="k">try</span><span class="p">:</span>
4428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-290" name="__codelineno-0-290"></a> <span class="n">prov</span><span class="p">,</span> <span class="n">model</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_model</span><span class="p">(</span><span class="n">explicit</span><span class="p">,</span> <span class="n">cap</span><span class="p">,</span> <span class="n">prefs</span><span class="p">)</span>
4429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-291" name="__codelineno-0-291"></a> <span class="n">result</span><span class="p">[</span><span class="n">cap</span><span class="p">]</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">prov</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">model</span><span class="si">}</span><span class="s2">"</span>
4430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-292" name="__codelineno-0-292"></a> <span class="k">except</span> <span class="ne">RuntimeError</span><span class="p">:</span>
4431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-293" name="__codelineno-0-293"></a> <span class="k">pass</span>
4432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-294" name="__codelineno-0-294"></a> <span class="k">return</span> <span class="n">result</span>
4433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
4434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
4435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-children">
4439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
4450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.manager.ProviderManager.__init__" class="doc doc-heading">
4453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">vision_model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">chat_model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">transcription_model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">provider</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">auto</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></code>
4454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.__init__" class="headerlink" title="Permanent link">¶</a></h4>
4456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
4459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Initialize the ProviderManager.</p>
4461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h6 id="video_processor.providers.manager.ProviderManager.__init__--parameters">Parameters<a class="headerlink" href="#video_processor.providers.manager.ProviderManager.__init__--parameters" title="Permanent link">¶</a></h6>
4462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>vision_model : override model for vision tasks (e.g. 'gpt-4o')
4463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
chat_model : override model for chat/LLM tasks
4464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
transcription_model : override model for transcription
4465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
provider : force all tasks to a single provider ('openai', 'anthropic', 'gemini')
4466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
auto : if True and no model specified, pick the best available</p>
4467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
4470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/manager.py</code></summary>
4471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-60">60</a></span>
4472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-61">61</a></span>
4473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-62">62</a></span>
4474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-63">63</a></span>
4475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-64">64</a></span>
4476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-65">65</a></span>
4477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-66">66</a></span>
4478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-67">67</a></span>
4479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-68">68</a></span>
4480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-69">69</a></span>
4481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-70">70</a></span>
4482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-71">71</a></span>
4483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-72">72</a></span>
4484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-73">73</a></span>
4485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-74">74</a></span>
4486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-75">75</a></span>
4487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-76">76</a></span>
4488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-77">77</a></span>
4489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-78">78</a></span>
4490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-79">79</a></span>
4491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-80">80</a></span>
4492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-81">81</a></span>
4493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-82">82</a></span>
4494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-83">83</a></span>
4495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-84">84</a></span>
4496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-85">85</a></span>
4497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-86">86</a></span>
4498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-87">87</a></span>
4499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-88">88</a></span>
4500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-89">89</a></span>
4501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-90">90</a></span>
4502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-91">91</a></span>
4503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-92">92</a></span>
4504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-93">93</a></span>
4505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-94">94</a></span>
4506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-95">95</a></span>
4507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-96">96</a></span>
4508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-97">97</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-60" name="__codelineno-0-60"></a><span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span>
4509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-61" name="__codelineno-0-61"></a> <span class="bp">self</span><span class="p">,</span>
4510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-62" name="__codelineno-0-62"></a> <span class="n">vision_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-63" name="__codelineno-0-63"></a> <span class="n">chat_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-64" name="__codelineno-0-64"></a> <span class="n">transcription_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-65" name="__codelineno-0-65"></a> <span class="n">provider</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-66" name="__codelineno-0-66"></a> <span class="n">auto</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
4515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-67" name="__codelineno-0-67"></a><span class="p">):</span>
4516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-68" name="__codelineno-0-68"></a><span class="w"> </span><span class="sd">"""</span>
4517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-69" name="__codelineno-0-69"></a><span class="sd"> Initialize the ProviderManager.</span>
4518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-70" name="__codelineno-0-70"></a>
4519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-71" name="__codelineno-0-71"></a><span class="sd"> Parameters</span>
4520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-72" name="__codelineno-0-72"></a><span class="sd"> ----------</span>
4521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-73" name="__codelineno-0-73"></a><span class="sd"> vision_model : override model for vision tasks (e.g. 'gpt-4o')</span>
4522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-74" name="__codelineno-0-74"></a><span class="sd"> chat_model : override model for chat/LLM tasks</span>
4523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-75" name="__codelineno-0-75"></a><span class="sd"> transcription_model : override model for transcription</span>
4524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-76" name="__codelineno-0-76"></a><span class="sd"> provider : force all tasks to a single provider ('openai', 'anthropic', 'gemini')</span>
4525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-77" name="__codelineno-0-77"></a><span class="sd"> auto : if True and no model specified, pick the best available</span>
4526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-78" name="__codelineno-0-78"></a><span class="sd"> """</span>
4527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-79" name="__codelineno-0-79"></a> <span class="n">_ensure_providers_registered</span><span class="p">()</span>
4528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-80" name="__codelineno-0-80"></a> <span class="bp">self</span><span class="o">.</span><span class="n">auto</span> <span class="o">=</span> <span class="n">auto</span>
4529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-81" name="__codelineno-0-81"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_providers</span><span class="p">:</span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">BaseProvider</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
4530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-82" name="__codelineno-0-82"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_available_models</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span>
4531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-83" name="__codelineno-0-83"></a> <span class="bp">self</span><span class="o">.</span><span class="n">usage</span> <span class="o">=</span> <span class="n">UsageTracker</span><span class="p">()</span>
4532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-84" name="__codelineno-0-84"></a>
4533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="c1"># If a single provider is forced, apply it</span>
4534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-86" name="__codelineno-0-86"></a> <span class="k">if</span> <span class="n">provider</span><span class="p">:</span>
4535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-87" name="__codelineno-0-87"></a> <span class="bp">self</span><span class="o">.</span><span class="n">vision_model</span> <span class="o">=</span> <span class="n">vision_model</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_default_for_provider</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="s2">"vision"</span><span class="p">)</span>
4536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-88" name="__codelineno-0-88"></a> <span class="bp">self</span><span class="o">.</span><span class="n">chat_model</span> <span class="o">=</span> <span class="n">chat_model</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_default_for_provider</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="s2">"chat"</span><span class="p">)</span>
4537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span> <span class="o">=</span> <span class="n">transcription_model</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">_default_for_provider</span><span class="p">(</span>
4538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="n">provider</span><span class="p">,</span> <span class="s2">"audio"</span>
4539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-91" name="__codelineno-0-91"></a> <span class="p">)</span>
4540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-92" name="__codelineno-0-92"></a> <span class="k">else</span><span class="p">:</span>
4541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-93" name="__codelineno-0-93"></a> <span class="bp">self</span><span class="o">.</span><span class="n">vision_model</span> <span class="o">=</span> <span class="n">vision_model</span>
4542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-94" name="__codelineno-0-94"></a> <span class="bp">self</span><span class="o">.</span><span class="n">chat_model</span> <span class="o">=</span> <span class="n">chat_model</span>
4543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-95" name="__codelineno-0-95"></a> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span> <span class="o">=</span> <span class="n">transcription_model</span>
4544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-96" name="__codelineno-0-96"></a>
4545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-97" name="__codelineno-0-97"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_forced_provider</span> <span class="o">=</span> <span class="n">provider</span>
4546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
4547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
4548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
4553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.manager.ProviderManager.analyze_image" class="doc doc-heading">
4556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">analyze_image</span><span class="p">(</span><span class="n">image_bytes</span><span class="p">,</span> <span class="n">prompt</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="mi">4096</span><span class="p">)</span></code>
4557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.analyze_image" class="headerlink" title="Permanent link">¶</a></h4>
4559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
4562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Analyze an image using the best available vision provider.</p>
4564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
4567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/manager.py</code></summary>
4568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-207">207</a></span>
4569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-208">208</a></span>
4570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-209">209</a></span>
4571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-210">210</a></span>
4572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-211">211</a></span>
4573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-212">212</a></span>
4574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-213">213</a></span>
4575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-214">214</a></span>
4576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-215">215</a></span>
4577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-216">216</a></span>
4578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-217">217</a></span>
4579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-218">218</a></span>
4580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-219">219</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-207" name="__codelineno-0-207"></a><span class="k">def</span><span class="w"> </span><span class="nf">analyze_image</span><span class="p">(</span>
4581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-208" name="__codelineno-0-208"></a> <span class="bp">self</span><span class="p">,</span>
4582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-209" name="__codelineno-0-209"></a> <span class="n">image_bytes</span><span class="p">:</span> <span class="nb">bytes</span><span class="p">,</span>
4583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-210" name="__codelineno-0-210"></a> <span class="n">prompt</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
4584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-211" name="__codelineno-0-211"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
4585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-212" name="__codelineno-0-212"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
4586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-213" name="__codelineno-0-213"></a><span class="w"> </span><span class="sd">"""Analyze an image using the best available vision provider."""</span>
4587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-214" name="__codelineno-0-214"></a> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_model</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">vision_model</span><span class="p">,</span> <span class="s2">"vision"</span><span class="p">,</span> <span class="n">_VISION_PREFERENCES</span><span class="p">)</span>
4588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-215" name="__codelineno-0-215"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Vision: using </span><span class="si">{</span><span class="n">prov_name</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">model</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-216" name="__codelineno-0-216"></a> <span class="n">provider</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_provider</span><span class="p">(</span><span class="n">prov_name</span><span class="p">)</span>
4590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-217" name="__codelineno-0-217"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">analyze_image</span><span class="p">(</span><span class="n">image_bytes</span><span class="p">,</span> <span class="n">prompt</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="n">max_tokens</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">)</span>
4591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-218" name="__codelineno-0-218"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_track</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span><span class="p">)</span>
4592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-219" name="__codelineno-0-219"></a> <span class="k">return</span> <span class="n">result</span>
4593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
4594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
4595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
4600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.manager.ProviderManager.chat" class="doc doc-heading">
4603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">chat</span><span class="p">(</span><span class="n">messages</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="mi">4096</span><span class="p">,</span> <span class="n">temperature</span><span class="o">=</span><span class="mf">0.7</span><span class="p">)</span></code>
4604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.chat" class="headerlink" title="Permanent link">¶</a></h4>
4606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
4609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Send a chat completion to the best available provider.</p>
4611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
4614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/manager.py</code></summary>
4615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-191">191</a></span>
4616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-192">192</a></span>
4617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-193">193</a></span>
4618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-194">194</a></span>
4619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-195">195</a></span>
4620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-196">196</a></span>
4621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-197">197</a></span>
4622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-198">198</a></span>
4623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-199">199</a></span>
4624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-200">200</a></span>
4625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-201">201</a></span>
4626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-202">202</a></span>
4627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-203">203</a></span>
4628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-204">204</a></span>
4629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-205">205</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-191" name="__codelineno-0-191"></a><span class="k">def</span><span class="w"> </span><span class="nf">chat</span><span class="p">(</span>
4630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-192" name="__codelineno-0-192"></a> <span class="bp">self</span><span class="p">,</span>
4631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-193" name="__codelineno-0-193"></a> <span class="n">messages</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">dict</span><span class="p">],</span>
4632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-194" name="__codelineno-0-194"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
4633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-195" name="__codelineno-0-195"></a> <span class="n">temperature</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">,</span>
4634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-196" name="__codelineno-0-196"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
4635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-197" name="__codelineno-0-197"></a><span class="w"> </span><span class="sd">"""Send a chat completion to the best available provider."""</span>
4636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-198" name="__codelineno-0-198"></a> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_model</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">chat_model</span><span class="p">,</span> <span class="s2">"chat"</span><span class="p">,</span> <span class="n">_CHAT_PREFERENCES</span><span class="p">)</span>
4637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-199" name="__codelineno-0-199"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Chat: using </span><span class="si">{</span><span class="n">prov_name</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">model</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-200" name="__codelineno-0-200"></a> <span class="n">provider</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_provider</span><span class="p">(</span><span class="n">prov_name</span><span class="p">)</span>
4639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-201" name="__codelineno-0-201"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">chat</span><span class="p">(</span>
4640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-202" name="__codelineno-0-202"></a> <span class="n">messages</span><span class="p">,</span> <span class="n">max_tokens</span><span class="o">=</span><span class="n">max_tokens</span><span class="p">,</span> <span class="n">temperature</span><span class="o">=</span><span class="n">temperature</span><span class="p">,</span> <span class="n">model</span><span class="o">=</span><span class="n">model</span>
4641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-203" name="__codelineno-0-203"></a> <span class="p">)</span>
4642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-204" name="__codelineno-0-204"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_track</span><span class="p">(</span><span class="n">provider</span><span class="p">,</span> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span><span class="p">)</span>
4643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-205" name="__codelineno-0-205"></a> <span class="k">return</span> <span class="n">result</span>
4644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
4645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
4646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
4651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.manager.ProviderManager.get_models_used" class="doc doc-heading">
4654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">get_models_used</span><span class="p">()</span></code>
4655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.get_models_used" class="headerlink" title="Permanent link">¶</a></h4>
4657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
4660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return a dict mapping capability to 'provider/model' for tracking.</p>
4662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
4665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/manager.py</code></summary>
4666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-281">281</a></span>
4667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-282">282</a></span>
4668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-283">283</a></span>
4669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-284">284</a></span>
4670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-285">285</a></span>
4671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-286">286</a></span>
4672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-287">287</a></span>
4673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-288">288</a></span>
4674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-289">289</a></span>
4675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-290">290</a></span>
4676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-291">291</a></span>
4677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-292">292</a></span>
4678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-293">293</a></span>
4679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-294">294</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-281" name="__codelineno-0-281"></a><span class="k">def</span><span class="w"> </span><span class="nf">get_models_used</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
4680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-282" name="__codelineno-0-282"></a><span class="w"> </span><span class="sd">"""Return a dict mapping capability to 'provider/model' for tracking."""</span>
4681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-283" name="__codelineno-0-283"></a> <span class="n">result</span> <span class="o">=</span> <span class="p">{}</span>
4682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-284" name="__codelineno-0-284"></a> <span class="k">for</span> <span class="n">cap</span><span class="p">,</span> <span class="n">explicit</span><span class="p">,</span> <span class="n">prefs</span> <span class="ow">in</span> <span class="p">[</span>
4683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-285" name="__codelineno-0-285"></a> <span class="p">(</span><span class="s2">"vision"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">vision_model</span><span class="p">,</span> <span class="n">_VISION_PREFERENCES</span><span class="p">),</span>
4684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-286" name="__codelineno-0-286"></a> <span class="p">(</span><span class="s2">"chat"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">chat_model</span><span class="p">,</span> <span class="n">_CHAT_PREFERENCES</span><span class="p">),</span>
4685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-287" name="__codelineno-0-287"></a> <span class="p">(</span><span class="s2">"transcription"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="p">,</span> <span class="n">_TRANSCRIPTION_PREFERENCES</span><span class="p">),</span>
4686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-288" name="__codelineno-0-288"></a> <span class="p">]:</span>
4687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-289" name="__codelineno-0-289"></a> <span class="k">try</span><span class="p">:</span>
4688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-290" name="__codelineno-0-290"></a> <span class="n">prov</span><span class="p">,</span> <span class="n">model</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_model</span><span class="p">(</span><span class="n">explicit</span><span class="p">,</span> <span class="n">cap</span><span class="p">,</span> <span class="n">prefs</span><span class="p">)</span>
4689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-291" name="__codelineno-0-291"></a> <span class="n">result</span><span class="p">[</span><span class="n">cap</span><span class="p">]</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">prov</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">model</span><span class="si">}</span><span class="s2">"</span>
4690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-292" name="__codelineno-0-292"></a> <span class="k">except</span> <span class="ne">RuntimeError</span><span class="p">:</span>
4691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-293" name="__codelineno-0-293"></a> <span class="k">pass</span>
4692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-294" name="__codelineno-0-294"></a> <span class="k">return</span> <span class="n">result</span>
4693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
4694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
4695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
4700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h4 id="video_processor.providers.manager.ProviderManager.transcribe_audio" class="doc doc-heading">
4703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">transcribe_audio</span><span class="p">(</span><span class="n">audio_path</span><span class="p">,</span> <span class="n">language</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">speaker_hints</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
4704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.manager.ProviderManager.transcribe_audio" class="headerlink" title="Permanent link">¶</a></h4>
4706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
4709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Transcribe audio using local Whisper if available, otherwise API.</p>
4711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
4714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/manager.py</code></summary>
4715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-221">221</a></span>
4716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-222">222</a></span>
4717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-223">223</a></span>
4718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-224">224</a></span>
4719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-225">225</a></span>
4720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-226">226</a></span>
4721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-227">227</a></span>
4722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-228">228</a></span>
4723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-229">229</a></span>
4724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-230">230</a></span>
4725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-231">231</a></span>
4726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-232">232</a></span>
4727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-233">233</a></span>
4728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-234">234</a></span>
4729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-235">235</a></span>
4730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-236">236</a></span>
4731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-237">237</a></span>
4732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-238">238</a></span>
4733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-239">239</a></span>
4734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-240">240</a></span>
4735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-241">241</a></span>
4736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-242">242</a></span>
4737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-243">243</a></span>
4738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-244">244</a></span>
4739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-245">245</a></span>
4740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-246">246</a></span>
4741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-247">247</a></span>
4742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-248">248</a></span>
4743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-249">249</a></span>
4744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-250">250</a></span>
4745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-251">251</a></span>
4746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-252">252</a></span>
4747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-253">253</a></span>
4748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-254">254</a></span>
4749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-255">255</a></span>
4750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-256">256</a></span>
4751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-257">257</a></span>
4752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-258">258</a></span>
4753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-259">259</a></span>
4754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-260">260</a></span>
4755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-261">261</a></span>
4756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-262">262</a></span>
4757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-263">263</a></span>
4758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-264">264</a></span>
4759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-265">265</a></span>
4760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-266">266</a></span>
4761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-267">267</a></span>
4762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-268">268</a></span>
4763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-269">269</a></span>
4764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-270">270</a></span>
4765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-271">271</a></span>
4766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-272">272</a></span>
4767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-273">273</a></span>
4768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-274">274</a></span>
4769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-275">275</a></span>
4770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-276">276</a></span>
4771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-277">277</a></span>
4772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-278">278</a></span>
4773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-279">279</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-221" name="__codelineno-0-221"></a><span class="k">def</span><span class="w"> </span><span class="nf">transcribe_audio</span><span class="p">(</span>
4774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-222" name="__codelineno-0-222"></a> <span class="bp">self</span><span class="p">,</span>
4775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-223" name="__codelineno-0-223"></a> <span class="n">audio_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Path</span><span class="p">,</span>
4776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-224" name="__codelineno-0-224"></a> <span class="n">language</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-225" name="__codelineno-0-225"></a> <span class="n">speaker_hints</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
4778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-226" name="__codelineno-0-226"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
4779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-227" name="__codelineno-0-227"></a><span class="w"> </span><span class="sd">"""Transcribe audio using local Whisper if available, otherwise API."""</span>
4780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-228" name="__codelineno-0-228"></a> <span class="c1"># Prefer local Whisper — no file size limits, no API costs</span>
4781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-229" name="__codelineno-0-229"></a> <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s2">"whisper-local"</span><span class="p">):</span>
4782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-230" name="__codelineno-0-230"></a> <span class="k">try</span><span class="p">:</span>
4783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-231" name="__codelineno-0-231"></a> <span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.whisper_local</span><span class="w"> </span><span class="kn">import</span> <span class="n">WhisperLocal</span>
4784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-232" name="__codelineno-0-232"></a>
4785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-233" name="__codelineno-0-233"></a> <span class="k">if</span> <span class="n">WhisperLocal</span><span class="o">.</span><span class="n">is_available</span><span class="p">():</span>
4786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-234" name="__codelineno-0-234"></a> <span class="c1"># Parse model size from "whisper-local:large" or default to "large"</span>
4787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-235" name="__codelineno-0-235"></a> <span class="n">size</span> <span class="o">=</span> <span class="s2">"large"</span>
4788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-236" name="__codelineno-0-236"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span> <span class="ow">and</span> <span class="s2">":"</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="p">:</span>
4789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-237" name="__codelineno-0-237"></a> <span class="n">size</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">":"</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
4790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-238" name="__codelineno-0-238"></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"_whisper_local"</span><span class="p">):</span>
4791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-239" name="__codelineno-0-239"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_whisper_local</span> <span class="o">=</span> <span class="n">WhisperLocal</span><span class="p">(</span><span class="n">model_size</span><span class="o">=</span><span class="n">size</span><span class="p">)</span>
4792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-240" name="__codelineno-0-240"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Transcription: using local whisper-</span><span class="si">{</span><span class="n">size</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-241" name="__codelineno-0-241"></a> <span class="c1"># Pass speaker names as initial prompt hint for Whisper</span>
4794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-242" name="__codelineno-0-242"></a> <span class="n">whisper_kwargs</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"language"</span><span class="p">:</span> <span class="n">language</span><span class="p">}</span>
4795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-243" name="__codelineno-0-243"></a> <span class="k">if</span> <span class="n">speaker_hints</span><span class="p">:</span>
4796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-244" name="__codelineno-0-244"></a> <span class="n">whisper_kwargs</span><span class="p">[</span><span class="s2">"initial_prompt"</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span>
4797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-245" name="__codelineno-0-245"></a> <span class="s2">"Speakers: "</span> <span class="o">+</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">speaker_hints</span><span class="p">)</span> <span class="o">+</span> <span class="s2">"."</span>
4798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-246" name="__codelineno-0-246"></a> <span class="p">)</span>
4799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-247" name="__codelineno-0-247"></a> <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_whisper_local</span><span class="o">.</span><span class="n">transcribe</span><span class="p">(</span><span class="n">audio_path</span><span class="p">,</span> <span class="o">**</span><span class="n">whisper_kwargs</span><span class="p">)</span>
4800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-248" name="__codelineno-0-248"></a> <span class="n">duration</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"duration"</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span>
4801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-249" name="__codelineno-0-249"></a> <span class="bp">self</span><span class="o">.</span><span class="n">usage</span><span class="o">.</span><span class="n">record</span><span class="p">(</span>
4802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-250" name="__codelineno-0-250"></a> <span class="n">provider</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
4803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-251" name="__codelineno-0-251"></a> <span class="n">model</span><span class="o">=</span><span class="sa">f</span><span class="s2">"whisper-</span><span class="si">{</span><span class="n">size</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
4804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-252" name="__codelineno-0-252"></a> <span class="n">audio_minutes</span><span class="o">=</span><span class="n">duration</span> <span class="o">/</span> <span class="mi">60</span> <span class="k">if</span> <span class="n">duration</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span>
4805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-253" name="__codelineno-0-253"></a> <span class="p">)</span>
4806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-254" name="__codelineno-0-254"></a> <span class="k">return</span> <span class="n">result</span>
4807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-255" name="__codelineno-0-255"></a> <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
4808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-256" name="__codelineno-0-256"></a> <span class="k">pass</span>
4809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-257" name="__codelineno-0-257"></a>
4810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-258" name="__codelineno-0-258"></a> <span class="c1"># Fall back to API-based transcription</span>
4811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-259" name="__codelineno-0-259"></a> <span class="n">prov_name</span><span class="p">,</span> <span class="n">model</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_resolve_model</span><span class="p">(</span>
4812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-260" name="__codelineno-0-260"></a> <span class="bp">self</span><span class="o">.</span><span class="n">transcription_model</span><span class="p">,</span> <span class="s2">"audio"</span><span class="p">,</span> <span class="n">_TRANSCRIPTION_PREFERENCES</span>
4813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-261" name="__codelineno-0-261"></a> <span class="p">)</span>
4814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-262" name="__codelineno-0-262"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Transcription: using </span><span class="si">{</span><span class="n">prov_name</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">model</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
4815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-263" name="__codelineno-0-263"></a> <span class="n">provider</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_provider</span><span class="p">(</span><span class="n">prov_name</span><span class="p">)</span>
4816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-264" name="__codelineno-0-264"></a> <span class="c1"># Build transcription kwargs, passing speaker hints where supported</span>
4817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-265" name="__codelineno-0-265"></a> <span class="n">transcribe_kwargs</span><span class="p">:</span> <span class="nb">dict</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"language"</span><span class="p">:</span> <span class="n">language</span><span class="p">,</span> <span class="s2">"model"</span><span class="p">:</span> <span class="n">model</span><span class="p">}</span>
4818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-266" name="__codelineno-0-266"></a> <span class="k">if</span> <span class="n">speaker_hints</span><span class="p">:</span>
4819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-267" name="__codelineno-0-267"></a> <span class="k">if</span> <span class="n">prov_name</span> <span class="o">==</span> <span class="s2">"openai"</span><span class="p">:</span>
4820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-268" name="__codelineno-0-268"></a> <span class="c1"># OpenAI Whisper supports a 'prompt' parameter for hints</span>
4821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-269" name="__codelineno-0-269"></a> <span class="n">transcribe_kwargs</span><span class="p">[</span><span class="s2">"prompt"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Speakers: "</span> <span class="o">+</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">speaker_hints</span><span class="p">)</span> <span class="o">+</span> <span class="s2">"."</span>
4822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-270" name="__codelineno-0-270"></a> <span class="k">else</span><span class="p">:</span>
4823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-271" name="__codelineno-0-271"></a> <span class="n">transcribe_kwargs</span><span class="p">[</span><span class="s2">"speaker_hints"</span><span class="p">]</span> <span class="o">=</span> <span class="n">speaker_hints</span>
4824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-272" name="__codelineno-0-272"></a> <span class="n">result</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">transcribe_audio</span><span class="p">(</span><span class="n">audio_path</span><span class="p">,</span> <span class="o">**</span><span class="n">transcribe_kwargs</span><span class="p">)</span>
4825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-273" name="__codelineno-0-273"></a> <span class="n">duration</span> <span class="o">=</span> <span class="n">result</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"duration"</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span>
4826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-274" name="__codelineno-0-274"></a> <span class="bp">self</span><span class="o">.</span><span class="n">usage</span><span class="o">.</span><span class="n">record</span><span class="p">(</span>
4827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-275" name="__codelineno-0-275"></a> <span class="n">provider</span><span class="o">=</span><span class="n">prov_name</span><span class="p">,</span>
4828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-276" name="__codelineno-0-276"></a> <span class="n">model</span><span class="o">=</span><span class="n">model</span><span class="p">,</span>
4829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-277" name="__codelineno-0-277"></a> <span class="n">audio_minutes</span><span class="o">=</span><span class="n">duration</span> <span class="o">/</span> <span class="mi">60</span> <span class="k">if</span> <span class="n">duration</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span>
4830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-278" name="__codelineno-0-278"></a> <span class="p">)</span>
4831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-279" name="__codelineno-0-279"></a> <span class="k">return</span> <span class="n">result</span>
4832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
4833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
4834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-module">
4856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="video_processor.providers.discovery" class="doc doc-heading">
4860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code>video_processor.providers.discovery</code>
4861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery" class="headerlink" title="Permanent link">¶</a></h2>
4864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents first">
4866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Auto-discover available models across providers.</p>
4868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-children">
4879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
4890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4891
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4892
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="video_processor.providers.discovery.clear_discovery_cache" class="doc doc-heading">
4893
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">clear_discovery_cache</span><span class="p">()</span></code>
4894
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4895
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery.clear_discovery_cache" class="headerlink" title="Permanent link">¶</a></h3>
4896
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4897
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4898
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
4899
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4900
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Clear the cached model list.</p>
4901
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4902
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4903
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
4904
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/discovery.py</code></summary>
4905
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-102">102</a></span>
4906
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-103">103</a></span>
4907
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-104">104</a></span>
4908
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-105">105</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-102" name="__codelineno-0-102"></a><span class="k">def</span><span class="w"> </span><span class="nf">clear_discovery_cache</span><span class="p">()</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
4909
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-103" name="__codelineno-0-103"></a><span class="w"> </span><span class="sd">"""Clear the cached model list."""</span>
4910
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-104" name="__codelineno-0-104"></a> <span class="k">global</span> <span class="n">_cached_models</span>
4911
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-105" name="__codelineno-0-105"></a> <span class="n">_cached_models</span> <span class="o">=</span> <span class="kc">None</span>
4912
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
4913
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
4914
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4915
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4916
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
4917
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4918
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-object doc-function">
4919
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4920
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4921
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="video_processor.providers.discovery.discover_available_models" class="doc doc-heading">
4922
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<code class="highlight language-python"><span class="n">discover_available_models</span><span class="p">(</span><span class="n">api_keys</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">force_refresh</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></code>
4923
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4924
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="#video_processor.providers.discovery.discover_available_models" class="headerlink" title="Permanent link">¶</a></h3>
4925
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4926
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4927
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="doc doc-contents ">
4928
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4929
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Discover available models from all configured providers.</p>
4930
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>For each provider with a valid API key, calls list_models() and returns
4931
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
a unified list. Results are cached for the session.</p>
4932
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4933
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
4934
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<details class="mkdocstrings-source">
4935
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<summary>Source code in <code>video_processor/providers/discovery.py</code></summary>
4936
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-27">27</a></span>
4937
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-28">28</a></span>
4938
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-29">29</a></span>
4939
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-30">30</a></span>
4940
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-31">31</a></span>
4941
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-32">32</a></span>
4942
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-33">33</a></span>
4943
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-34">34</a></span>
4944
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-35">35</a></span>
4945
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-36">36</a></span>
4946
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-37">37</a></span>
4947
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-38">38</a></span>
4948
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-39">39</a></span>
4949
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-40">40</a></span>
4950
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-41">41</a></span>
4951
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-42">42</a></span>
4952
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-43">43</a></span>
4953
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-44">44</a></span>
4954
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-45">45</a></span>
4955
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-46">46</a></span>
4956
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-47">47</a></span>
4957
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-48">48</a></span>
4958
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-49">49</a></span>
4959
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-50">50</a></span>
4960
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-51">51</a></span>
4961
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-52">52</a></span>
4962
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-53">53</a></span>
4963
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-54">54</a></span>
4964
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-55">55</a></span>
4965
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-56">56</a></span>
4966
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-57">57</a></span>
4967
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-58">58</a></span>
4968
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-59">59</a></span>
4969
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-60">60</a></span>
4970
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-61">61</a></span>
4971
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-62">62</a></span>
4972
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-63">63</a></span>
4973
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-64">64</a></span>
4974
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-65">65</a></span>
4975
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-66">66</a></span>
4976
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-67">67</a></span>
4977
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-68">68</a></span>
4978
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-69">69</a></span>
4979
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-70">70</a></span>
4980
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-71">71</a></span>
4981
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-72">72</a></span>
4982
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-73">73</a></span>
4983
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-74">74</a></span>
4984
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-75">75</a></span>
4985
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-76">76</a></span>
4986
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-77">77</a></span>
4987
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-78">78</a></span>
4988
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-79">79</a></span>
4989
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-80">80</a></span>
4990
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-81">81</a></span>
4991
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-82">82</a></span>
4992
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-83">83</a></span>
4993
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-84">84</a></span>
4994
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-85">85</a></span>
4995
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-86">86</a></span>
4996
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-87">87</a></span>
4997
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-88">88</a></span>
4998
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-89">89</a></span>
4999
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-90">90</a></span>
5000
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-91">91</a></span>
5001
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-92">92</a></span>
5002
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-93">93</a></span>
5003
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-94">94</a></span>
5004
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-95">95</a></span>
5005
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-96">96</a></span>
5006
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-97">97</a></span>
5007
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-98">98</a></span>
5008
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<span class="normal"><a href="#__codelineno-0-99">99</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-27" name="__codelineno-0-27"></a><span class="k">def</span><span class="w"> </span><span class="nf">discover_available_models</span><span class="p">(</span>
5009
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-28" name="__codelineno-0-28"></a> <span class="n">api_keys</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5010
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-29" name="__codelineno-0-29"></a> <span class="n">force_refresh</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
5011
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-30" name="__codelineno-0-30"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]:</span>
5012
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-31" name="__codelineno-0-31"></a><span class="w"> </span><span class="sd">"""</span>
5013
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-32" name="__codelineno-0-32"></a><span class="sd"> Discover available models from all configured providers.</span>
5014
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-33" name="__codelineno-0-33"></a>
5015
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-34" name="__codelineno-0-34"></a><span class="sd"> For each provider with a valid API key, calls list_models() and returns</span>
5016
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-35" name="__codelineno-0-35"></a><span class="sd"> a unified list. Results are cached for the session.</span>
5017
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-36" name="__codelineno-0-36"></a><span class="sd"> """</span>
5018
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-37" name="__codelineno-0-37"></a> <span class="k">global</span> <span class="n">_cached_models</span>
5019
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-38" name="__codelineno-0-38"></a> <span class="k">if</span> <span class="n">_cached_models</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">force_refresh</span><span class="p">:</span>
5020
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-39" name="__codelineno-0-39"></a> <span class="k">return</span> <span class="n">_cached_models</span>
5021
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-40" name="__codelineno-0-40"></a>
5022
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-41" name="__codelineno-0-41"></a> <span class="n">_ensure_providers_registered</span><span class="p">()</span>
5023
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-42" name="__codelineno-0-42"></a>
5024
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-43" name="__codelineno-0-43"></a> <span class="n">keys</span> <span class="o">=</span> <span class="n">api_keys</span> <span class="ow">or</span> <span class="p">{</span>
5025
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-44" name="__codelineno-0-44"></a> <span class="s2">"openai"</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">"OPENAI_API_KEY"</span><span class="p">,</span> <span class="s2">""</span><span class="p">),</span>
5026
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-45" name="__codelineno-0-45"></a> <span class="s2">"anthropic"</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">"ANTHROPIC_API_KEY"</span><span class="p">,</span> <span class="s2">""</span><span class="p">),</span>
5027
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-46" name="__codelineno-0-46"></a> <span class="s2">"gemini"</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">"GEMINI_API_KEY"</span><span class="p">,</span> <span class="s2">""</span><span class="p">),</span>
5028
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-47" name="__codelineno-0-47"></a> <span class="p">}</span>
5029
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-48" name="__codelineno-0-48"></a>
5030
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-49" name="__codelineno-0-49"></a> <span class="n">all_models</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
5031
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-50" name="__codelineno-0-50"></a>
5032
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">info</span> <span class="ow">in</span> <span class="n">ProviderRegistry</span><span class="o">.</span><span class="n">all_registered</span><span class="p">()</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
5033
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-52" name="__codelineno-0-52"></a> <span class="n">env_var</span> <span class="o">=</span> <span class="n">info</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"env_var"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
5034
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-53" name="__codelineno-0-53"></a> <span class="n">provider_class</span> <span class="o">=</span> <span class="n">info</span><span class="p">[</span><span class="s2">"class"</span><span class="p">]</span>
5035
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-54" name="__codelineno-0-54"></a>
5036
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-55" name="__codelineno-0-55"></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">"ollama"</span><span class="p">:</span>
5037
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-56" name="__codelineno-0-56"></a> <span class="c1"># Ollama: no API key, check server availability</span>
5038
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-57" name="__codelineno-0-57"></a> <span class="k">try</span><span class="p">:</span>
5039
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-58" name="__codelineno-0-58"></a> <span class="k">if</span> <span class="n">provider_class</span><span class="o">.</span><span class="n">is_available</span><span class="p">():</span>
5040
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-59" name="__codelineno-0-59"></a> <span class="n">provider</span> <span class="o">=</span> <span class="n">provider_class</span><span class="p">()</span>
5041
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-60" name="__codelineno-0-60"></a> <span class="n">models</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">list_models</span><span class="p">()</span>
5042
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-61" name="__codelineno-0-61"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Discovered </span><span class="si">{</span><span class="nb">len</span><span class="p">(</span><span class="n">models</span><span class="p">)</span><span class="si">}</span><span class="s2"> Ollama models"</span><span class="p">)</span>
5043
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-62" name="__codelineno-0-62"></a> <span class="n">all_models</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">models</span><span class="p">)</span>
5044
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-63" name="__codelineno-0-63"></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
5045
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-64" name="__codelineno-0-64"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Ollama discovery skipped: </span><span class="si">{</span><span class="n">e</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
5046
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-65" name="__codelineno-0-65"></a> <span class="k">continue</span>
5047
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-66" name="__codelineno-0-66"></a>
5048
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-67" name="__codelineno-0-67"></a> <span class="c1"># For key-based providers, check the api_keys dict first, then env var</span>
5049
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-68" name="__codelineno-0-68"></a> <span class="n">key</span> <span class="o">=</span> <span class="n">keys</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
5050
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-69" name="__codelineno-0-69"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">key</span> <span class="ow">and</span> <span class="n">env_var</span><span class="p">:</span>
5051
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-70" name="__codelineno-0-70"></a> <span class="n">key</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="n">env_var</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
5052
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-71" name="__codelineno-0-71"></a>
5053
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-72" name="__codelineno-0-72"></a> <span class="c1"># Special case: Gemini also supports service account credentials</span>
5054
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-73" name="__codelineno-0-73"></a> <span class="n">gemini_creds</span> <span class="o">=</span> <span class="s2">""</span>
5055
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-74" name="__codelineno-0-74"></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">"gemini"</span><span class="p">:</span>
5056
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-75" name="__codelineno-0-75"></a> <span class="n">gemini_creds</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">"GOOGLE_APPLICATION_CREDENTIALS"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
5057
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-76" name="__codelineno-0-76"></a>
5058
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-77" name="__codelineno-0-77"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">key</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">gemini_creds</span><span class="p">:</span>
5059
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-78" name="__codelineno-0-78"></a> <span class="k">continue</span>
5060
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-79" name="__codelineno-0-79"></a>
5061
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-80" name="__codelineno-0-80"></a> <span class="k">try</span><span class="p">:</span>
5062
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-81" name="__codelineno-0-81"></a> <span class="c1"># Handle provider-specific constructor args</span>
5063
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-82" name="__codelineno-0-82"></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">"gemini"</span><span class="p">:</span>
5064
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-83" name="__codelineno-0-83"></a> <span class="n">provider</span> <span class="o">=</span> <span class="n">provider_class</span><span class="p">(</span>
5065
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-84" name="__codelineno-0-84"></a> <span class="n">api_key</span><span class="o">=</span><span class="n">key</span> <span class="ow">or</span> <span class="kc">None</span><span class="p">,</span>
5066
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="n">credentials_path</span><span class="o">=</span><span class="n">gemini_creds</span> <span class="ow">or</span> <span class="kc">None</span><span class="p">,</span>
5067
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-86" name="__codelineno-0-86"></a> <span class="p">)</span>
5068
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-87" name="__codelineno-0-87"></a> <span class="k">else</span><span class="p">:</span>
5069
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-88" name="__codelineno-0-88"></a> <span class="n">provider</span> <span class="o">=</span> <span class="n">provider_class</span><span class="p">(</span><span class="n">api_key</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
5070
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="n">models</span> <span class="o">=</span> <span class="n">provider</span><span class="o">.</span><span class="n">list_models</span><span class="p">()</span>
5071
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Discovered </span><span class="si">{</span><span class="nb">len</span><span class="p">(</span><span class="n">models</span><span class="p">)</span><span class="si">}</span><span class="s2"> </span><span class="si">{</span><span class="n">name</span><span class="o">.</span><span class="n">capitalize</span><span class="p">()</span><span class="si">}</span><span class="s2"> models"</span><span class="p">)</span>
5072
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-91" name="__codelineno-0-91"></a> <span class="n">all_models</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">models</span><span class="p">)</span>
5073
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-92" name="__codelineno-0-92"></a> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
5074
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-93" name="__codelineno-0-93"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">name</span><span class="o">.</span><span class="n">capitalize</span><span class="p">()</span><span class="si">}</span><span class="s2"> discovery skipped: </span><span class="si">{</span><span class="n">e</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
5075
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-94" name="__codelineno-0-94"></a>
5076
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-95" name="__codelineno-0-95"></a> <span class="c1"># Sort by provider then id</span>
5077
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-96" name="__codelineno-0-96"></a> <span class="n">all_models</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">m</span><span class="p">:</span> <span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">provider</span><span class="p">,</span> <span class="n">m</span><span class="o">.</span><span class="n">id</span><span class="p">))</span>
5078
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-97" name="__codelineno-0-97"></a> <span class="n">_cached_models</span> <span class="o">=</span> <span class="n">all_models</span>
5079
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-98" name="__codelineno-0-98"></a> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Total discovered models: </span><span class="si">{</span><span class="nb">len</span><span class="p">(</span><span class="n">all_models</span><span class="p">)</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
5080
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-0-99" name="__codelineno-0-99"></a> <span class="k">return</span> <span class="n">all_models</span>
5081
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div></td></tr></table></div>
5082
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</details>
5083
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5084
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5085
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5086
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5087
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5088
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5089
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5090
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5091
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5092
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5093
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div><hr />
5094
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">¶</a></h2>
5095
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The provider system abstracts LLM API calls behind a unified interface. It supports multiple providers (OpenAI, Anthropic, Gemini, Ollama, and OpenAI-compatible services), automatic model discovery, capability-based routing, and usage tracking.</p>
5096
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Key components:</strong></p>
5097
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<ul>
5098
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><strong><code>BaseProvider</code></strong> -- abstract interface that all providers implement</li>
5099
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><strong><code>ProviderRegistry</code></strong> -- global registry mapping provider names to classes</li>
5100
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><strong><code>ProviderManager</code></strong> -- high-level router that picks the best provider for each task</li>
5101
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<li><strong><code>discover_available_models()</code></strong> -- scans all configured providers for available models</li>
5102
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</ul>
5103
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<hr />
5104
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="baseprovider-abc">BaseProvider (ABC)<a class="headerlink" href="#baseprovider-abc" title="Permanent link">¶</a></h2>
5105
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.base</span><span class="w"> </span><span class="kn">import</span> <span class="n">BaseProvider</span>
5106
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5107
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Abstract base class that all provider implementations must subclass. Defines the four core capabilities: chat, vision, audio transcription, and model listing.</p>
5108
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Class attribute:</strong></p>
5109
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5110
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5111
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5112
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Attribute</th>
5113
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5114
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5115
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5116
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5117
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5118
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5119
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>provider_name</code></td>
5120
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
5121
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Identifier for this provider (e.g., <code>"openai"</code>, <code>"anthropic"</code>)</td>
5122
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5123
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5124
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5125
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="chat">chat()<a class="headerlink" href="#chat" title="Permanent link">¶</a></h3>
5126
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">chat</span><span class="p">(</span>
5127
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a> <span class="bp">self</span><span class="p">,</span>
5128
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a> <span class="n">messages</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">dict</span><span class="p">],</span>
5129
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
5130
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a> <span class="n">temperature</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">,</span>
5131
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5132
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span>
5133
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5134
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Send a chat completion request.</p>
5135
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Parameters:</strong></p>
5136
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5137
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5138
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5139
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5140
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5141
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5142
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5143
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5144
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5145
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5146
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5147
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>messages</code></td>
5148
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>list[dict]</code></td>
5149
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5150
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OpenAI-format message list (<code>role</code>, <code>content</code>)</td>
5151
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5152
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5153
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>max_tokens</code></td>
5154
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>int</code></td>
5155
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>4096</code></td>
5156
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Maximum tokens in the response</td>
5157
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5158
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5159
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>temperature</code></td>
5160
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>float</code></td>
5161
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>0.7</code></td>
5162
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Sampling temperature</td>
5163
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5164
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5165
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>model</code></td>
5166
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5167
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5168
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Override model ID</td>
5169
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5170
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5171
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5172
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Returns:</strong> <code>str</code> -- the assistant's text response.</p>
5173
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="analyze_image">analyze_image()<a class="headerlink" href="#analyze_image" title="Permanent link">¶</a></h3>
5174
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">analyze_image</span><span class="p">(</span>
5175
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a> <span class="bp">self</span><span class="p">,</span>
5176
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a> <span class="n">image_bytes</span><span class="p">:</span> <span class="nb">bytes</span><span class="p">,</span>
5177
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a> <span class="n">prompt</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
5178
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
5179
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5180
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span>
5181
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5182
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Analyze an image with a text prompt using a vision-capable model.</p>
5183
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Parameters:</strong></p>
5184
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5185
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5186
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5187
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5188
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5189
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5190
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5191
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5192
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5193
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5194
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5195
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>image_bytes</code></td>
5196
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>bytes</code></td>
5197
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5198
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Raw image data (JPEG, PNG, etc.)</td>
5199
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5200
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5201
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>prompt</code></td>
5202
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
5203
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5204
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Analysis instructions</td>
5205
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5206
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5207
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>max_tokens</code></td>
5208
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>int</code></td>
5209
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>4096</code></td>
5210
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Maximum tokens in the response</td>
5211
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5212
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5213
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>model</code></td>
5214
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5215
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5216
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Override model ID</td>
5217
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5218
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5219
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5220
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Returns:</strong> <code>str</code> -- the assistant's analysis text.</p>
5221
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="transcribe_audio">transcribe_audio()<a class="headerlink" href="#transcribe_audio" title="Permanent link">¶</a></h3>
5222
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">transcribe_audio</span><span class="p">(</span>
5223
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a> <span class="bp">self</span><span class="p">,</span>
5224
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a> <span class="n">audio_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Path</span><span class="p">,</span>
5225
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a> <span class="n">language</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5226
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a> <span class="n">model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5227
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span>
5228
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5229
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Transcribe an audio file.</p>
5230
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Parameters:</strong></p>
5231
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5232
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5233
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5234
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5235
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5236
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5237
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5238
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5239
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5240
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5241
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5242
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>audio_path</code></td>
5243
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str \| Path</code></td>
5244
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5245
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Path to the audio file</td>
5246
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5247
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5248
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>language</code></td>
5249
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5250
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5251
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Language hint (ISO 639-1 code)</td>
5252
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5253
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5254
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>model</code></td>
5255
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5256
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5257
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Override model ID</td>
5258
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5259
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5260
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5261
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Returns:</strong> <code>dict</code> -- transcription result with keys <code>text</code>, <code>segments</code>, <code>duration</code>, etc.</p>
5262
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="list_models">list_models()<a class="headerlink" href="#list_models" title="Permanent link">¶</a></h3>
5263
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">list_models</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]</span>
5264
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5265
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Discover available models from this provider's API.</p>
5266
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Returns:</strong> <code>list[ModelInfo]</code> -- available models with capability metadata.</p>
5267
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<hr />
5268
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="modelinfo">ModelInfo<a class="headerlink" href="#modelinfo" title="Permanent link">¶</a></h2>
5269
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.base</span><span class="w"> </span><span class="kn">import</span> <span class="n">ModelInfo</span>
5270
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5271
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Pydantic model describing an available model from a provider.</p>
5272
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5273
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5274
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5275
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Field</th>
5276
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5277
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5278
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5279
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5280
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5281
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5282
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5283
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>id</code></td>
5284
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
5285
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5286
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Model identifier (e.g., <code>"gpt-4o"</code>, <code>"claude-haiku-4-5-20251001"</code>)</td>
5287
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5288
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5289
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>provider</code></td>
5290
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
5291
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5292
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Provider name (e.g., <code>"openai"</code>, <code>"anthropic"</code>, <code>"gemini"</code>)</td>
5293
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5294
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5295
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>display_name</code></td>
5296
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
5297
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>""</code></td>
5298
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Human-readable display name</td>
5299
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5300
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5301
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>capabilities</code></td>
5302
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>List[str]</code></td>
5303
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>[]</code></td>
5304
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Model capabilities: <code>"chat"</code>, <code>"vision"</code>, <code>"audio"</code>, <code>"embedding"</code></td>
5305
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5306
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5307
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5308
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="p">{</span>
5309
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"gpt-4o"</span><span class="p">,</span>
5310
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="w"> </span><span class="nt">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"openai"</span><span class="p">,</span>
5311
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="w"> </span><span class="nt">"display_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"GPT-4o"</span><span class="p">,</span>
5312
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a><span class="w"> </span><span class="nt">"capabilities"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"chat"</span><span class="p">,</span><span class="w"> </span><span class="s2">"vision"</span><span class="p">]</span>
5313
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="p">}</span>
5314
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5315
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<hr />
5316
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="providerregistry">ProviderRegistry<a class="headerlink" href="#providerregistry" title="Permanent link">¶</a></h2>
5317
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.base</span><span class="w"> </span><span class="kn">import</span> <span class="n">ProviderRegistry</span>
5318
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5319
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Class-level registry for provider classes. Providers register themselves with metadata on import. This registry is used internally by <code>ProviderManager</code> but can also be used directly for introspection.</p>
5320
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="register">register()<a class="headerlink" href="#register" title="Permanent link">¶</a></h3>
5321
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="nd">@classmethod</span>
5322
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="k">def</span><span class="w"> </span><span class="nf">register</span><span class="p">(</span>
5323
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a> <span class="bp">cls</span><span class="p">,</span>
5324
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
5325
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a> <span class="n">provider_class</span><span class="p">:</span> <span class="nb">type</span><span class="p">,</span>
5326
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a> <span class="n">env_var</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">""</span><span class="p">,</span>
5327
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-7" name="__codelineno-8-7" href="#__codelineno-8-7"></a> <span class="n">model_prefixes</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5328
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-8" name="__codelineno-8-8" href="#__codelineno-8-8"></a> <span class="n">default_models</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5329
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-8-9" name="__codelineno-8-9" href="#__codelineno-8-9"></a><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span>
5330
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5331
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Register a provider class with its metadata. Called by each provider module at import time.</p>
5332
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Parameters:</strong></p>
5333
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5334
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5335
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5336
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5337
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5338
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5339
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5340
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5341
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5342
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5343
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5344
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>name</code></td>
5345
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
5346
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5347
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Provider name (e.g., <code>"openai"</code>)</td>
5348
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5349
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5350
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>provider_class</code></td>
5351
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>type</code></td>
5352
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5353
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>The provider class</td>
5354
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5355
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5356
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>env_var</code></td>
5357
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str</code></td>
5358
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>""</code></td>
5359
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Environment variable for API key</td>
5360
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5361
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5362
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>model_prefixes</code></td>
5363
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[List[str]]</code></td>
5364
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5365
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Model ID prefixes for auto-detection (e.g., <code>["gpt-", "o1-"]</code>)</td>
5366
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5367
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5368
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>default_models</code></td>
5369
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[Dict[str, str]]</code></td>
5370
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5371
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Default models per capability (e.g., <code>{"chat": "gpt-4o", "vision": "gpt-4o"}</code>)</td>
5372
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5373
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5374
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5375
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="get">get()<a class="headerlink" href="#get" title="Permanent link">¶</a></h3>
5376
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nd">@classmethod</span>
5377
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="k">def</span><span class="w"> </span><span class="nf">get</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="nb">type</span>
5378
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5379
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return the provider class for a given name. Raises <code>ValueError</code> if the provider is not registered.</p>
5380
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="get_by_model">get_by_model()<a class="headerlink" href="#get_by_model" title="Permanent link">¶</a></h3>
5381
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="nd">@classmethod</span>
5382
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="k">def</span><span class="w"> </span><span class="nf">get_by_model</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">model_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span>
5383
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5384
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return the provider name for a model ID based on prefix matching. Returns <code>None</code> if no match is found.</p>
5385
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="get_default_models">get_default_models()<a class="headerlink" href="#get_default_models" title="Permanent link">¶</a></h3>
5386
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="nd">@classmethod</span>
5387
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="k">def</span><span class="w"> </span><span class="nf">get_default_models</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span>
5388
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5389
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return the default models dict for a provider, mapping capability names to model IDs.</p>
5390
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="available">available()<a class="headerlink" href="#available" title="Permanent link">¶</a></h3>
5391
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="nd">@classmethod</span>
5392
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="k">def</span><span class="w"> </span><span class="nf">available</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span> <span class="o">-></span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span>
5393
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5394
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return names of providers whose required environment variable is set (or providers with no env var requirement, like Ollama).</p>
5395
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="all_registered">all_registered()<a class="headerlink" href="#all_registered" title="Permanent link">¶</a></h3>
5396
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="nd">@classmethod</span>
5397
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="k">def</span><span class="w"> </span><span class="nf">all_registered</span><span class="p">(</span><span class="bp">cls</span><span class="p">)</span> <span class="o">-></span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Dict</span><span class="p">]</span>
5398
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5399
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return all registered providers and their metadata dictionaries.</p>
5400
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<hr />
5401
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="openaicompatibleprovider">OpenAICompatibleProvider<a class="headerlink" href="#openaicompatibleprovider" title="Permanent link">¶</a></h2>
5402
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.base</span><span class="w"> </span><span class="kn">import</span> <span class="n">OpenAICompatibleProvider</span>
5403
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5404
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Base class for providers using OpenAI-compatible APIs (Together, Fireworks, Cerebras, xAI, Azure). Implements <code>chat()</code>, <code>analyze_image()</code>, and <code>list_models()</code> using the OpenAI client library. <code>transcribe_audio()</code> raises <code>NotImplementedError</code> by default.</p>
5405
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Constructor:</strong></p>
5406
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">api_key</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">base_url</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span>
5407
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5408
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5409
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5410
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5411
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5412
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5413
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5414
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5415
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5416
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5417
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5418
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5419
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>api_key</code></td>
5420
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5421
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5422
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>API key (falls back to <code>self.env_var</code> environment variable)</td>
5423
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5424
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5425
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>base_url</code></td>
5426
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5427
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5428
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>API base URL (falls back to <code>self.base_url</code> class attribute)</td>
5429
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5430
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5431
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5432
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Subclass attributes to override:</strong></p>
5433
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5434
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5435
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5436
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Attribute</th>
5437
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5438
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5439
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5440
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5441
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5442
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>provider_name</code></td>
5443
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Provider identifier string</td>
5444
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5445
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5446
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>base_url</code></td>
5447
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Default API base URL</td>
5448
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5449
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5450
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>env_var</code></td>
5451
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Environment variable name for the API key</td>
5452
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5453
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5454
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5455
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Usage tracking:</strong> After each <code>chat()</code> or <code>analyze_image()</code> call, the provider stores token counts in <code>self._last_usage</code> as <code>{"input_tokens": int, "output_tokens": int}</code>. This is consumed by <code>ProviderManager._track()</code>.</p>
5456
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<hr />
5457
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="providermanager">ProviderManager<a class="headerlink" href="#providermanager" title="Permanent link">¶</a></h2>
5458
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.manager</span><span class="w"> </span><span class="kn">import</span> <span class="n">ProviderManager</span>
5459
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5460
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>High-level router that selects the best available provider and model for each API call. Supports explicit model selection, forced provider, or automatic selection based on discovered capabilities.</p>
5461
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="constructor">Constructor<a class="headerlink" href="#constructor" title="Permanent link">¶</a></h3>
5462
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span>
5463
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a> <span class="bp">self</span><span class="p">,</span>
5464
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a> <span class="n">vision_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5465
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a> <span class="n">chat_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5466
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a> <span class="n">transcription_model</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5467
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a> <span class="n">provider</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5468
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a> <span class="n">auto</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
5469
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-17-8" name="__codelineno-17-8" href="#__codelineno-17-8"></a><span class="p">)</span>
5470
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5471
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5472
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5473
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5474
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5475
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5476
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5477
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5478
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5479
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5480
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5481
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5482
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>vision_model</code></td>
5483
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5484
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5485
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Override model for vision tasks (e.g., <code>"gpt-4o"</code>)</td>
5486
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5487
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5488
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>chat_model</code></td>
5489
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5490
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5491
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Override model for chat/LLM tasks</td>
5492
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5493
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5494
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>transcription_model</code></td>
5495
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5496
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5497
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Override model for transcription</td>
5498
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5499
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5500
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>provider</code></td>
5501
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5502
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5503
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Force all tasks to a single provider</td>
5504
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5505
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5506
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>auto</code></td>
5507
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>bool</code></td>
5508
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>True</code></td>
5509
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>If <code>True</code> and no model specified, pick the best available</td>
5510
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5511
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5512
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5513
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Attributes:</strong></p>
5514
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5515
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5516
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5517
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Attribute</th>
5518
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5519
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5520
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5521
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5522
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5523
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5524
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>usage</code></td>
5525
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>UsageTracker</code></td>
5526
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Tracks token counts and API costs across all calls</td>
5527
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5528
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5529
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5530
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="auto-selection-preferences">Auto-selection preferences<a class="headerlink" href="#auto-selection-preferences" title="Permanent link">¶</a></h3>
5531
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>When <code>auto=True</code> and no explicit model is set, providers are tried in this order:</p>
5532
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Vision:</strong> Gemini (<code>gemini-2.5-flash</code>) > OpenAI (<code>gpt-4o-mini</code>) > Anthropic (<code>claude-haiku-4-5-20251001</code>)</p>
5533
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Chat:</strong> Anthropic (<code>claude-haiku-4-5-20251001</code>) > OpenAI (<code>gpt-4o-mini</code>) > Gemini (<code>gemini-2.5-flash</code>)</p>
5534
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Transcription:</strong> OpenAI (<code>whisper-1</code>) > Gemini (<code>gemini-2.5-flash</code>)</p>
5535
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>If no API-key-based provider is available, Ollama is tried as a fallback.</p>
5536
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="chat_1">chat()<a class="headerlink" href="#chat_1" title="Permanent link">¶</a></h3>
5537
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">chat</span><span class="p">(</span>
5538
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a> <span class="bp">self</span><span class="p">,</span>
5539
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a> <span class="n">messages</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">dict</span><span class="p">],</span>
5540
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
5541
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a> <span class="n">temperature</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">,</span>
5542
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span>
5543
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5544
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Send a chat completion to the best available provider. Automatically resolves which provider and model to use.</p>
5545
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Parameters:</strong></p>
5546
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5547
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5548
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5549
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5550
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5551
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5552
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5553
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5554
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5555
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5556
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5557
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>messages</code></td>
5558
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>list[dict]</code></td>
5559
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5560
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>OpenAI-format messages</td>
5561
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5562
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5563
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>max_tokens</code></td>
5564
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>int</code></td>
5565
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>4096</code></td>
5566
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Maximum response tokens</td>
5567
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5568
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5569
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>temperature</code></td>
5570
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>float</code></td>
5571
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>0.7</code></td>
5572
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Sampling temperature</td>
5573
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5574
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5575
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5576
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Returns:</strong> <code>str</code> -- assistant response text.</p>
5577
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Raises:</strong> <code>RuntimeError</code> if no provider is available for the <code>chat</code> capability.</p>
5578
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="analyze_image_1">analyze_image()<a class="headerlink" href="#analyze_image_1" title="Permanent link">¶</a></h3>
5579
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">analyze_image</span><span class="p">(</span>
5580
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a> <span class="bp">self</span><span class="p">,</span>
5581
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-3" name="__codelineno-19-3" href="#__codelineno-19-3"></a> <span class="n">image_bytes</span><span class="p">:</span> <span class="nb">bytes</span><span class="p">,</span>
5582
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-4" name="__codelineno-19-4" href="#__codelineno-19-4"></a> <span class="n">prompt</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
5583
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-5" name="__codelineno-19-5" href="#__codelineno-19-5"></a> <span class="n">max_tokens</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">4096</span><span class="p">,</span>
5584
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-19-6" name="__codelineno-19-6" href="#__codelineno-19-6"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span>
5585
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5586
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Analyze an image using the best available vision provider.</p>
5587
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Returns:</strong> <code>str</code> -- analysis text.</p>
5588
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Raises:</strong> <code>RuntimeError</code> if no provider is available for the <code>vision</code> capability.</p>
5589
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="transcribe_audio_1">transcribe_audio()<a class="headerlink" href="#transcribe_audio_1" title="Permanent link">¶</a></h3>
5590
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">transcribe_audio</span><span class="p">(</span>
5591
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a> <span class="bp">self</span><span class="p">,</span>
5592
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a> <span class="n">audio_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="n">Path</span><span class="p">,</span>
5593
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-20-4" name="__codelineno-20-4" href="#__codelineno-20-4"></a> <span class="n">language</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5594
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-20-5" name="__codelineno-20-5" href="#__codelineno-20-5"></a> <span class="n">speaker_hints</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5595
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-20-6" name="__codelineno-20-6" href="#__codelineno-20-6"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span>
5596
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5597
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Transcribe audio. Prefers local Whisper (no file size limits, no API costs) when available, falling back to API-based transcription.</p>
5598
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Parameters:</strong></p>
5599
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5600
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5601
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5602
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5603
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5604
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5605
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5606
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5607
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5608
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5609
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5610
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>audio_path</code></td>
5611
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>str \| Path</code></td>
5612
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>required</em></td>
5613
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Path to the audio file</td>
5614
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5615
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5616
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>language</code></td>
5617
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[str]</code></td>
5618
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5619
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Language hint</td>
5620
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5621
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5622
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>speaker_hints</code></td>
5623
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[list[str]]</code></td>
5624
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5625
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Speaker names for better recognition</td>
5626
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5627
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5628
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5629
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Returns:</strong> <code>dict</code> -- transcription result with <code>text</code>, <code>segments</code>, <code>duration</code>.</p>
5630
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Local Whisper:</strong> If <code>transcription_model</code> is unset or starts with <code>"whisper-local"</code>, the manager tries local Whisper first. Use <code>"whisper-local:large"</code> to specify a model size.</p>
5631
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="get_models_used">get_models_used()<a class="headerlink" href="#get_models_used" title="Permanent link">¶</a></h3>
5632
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">get_models_used</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span>
5633
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5634
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Return a dict mapping capability to <code>"provider/model"</code> string for tracking purposes.</p>
5635
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="n">pm</span> <span class="o">=</span> <span class="n">ProviderManager</span><span class="p">()</span>
5636
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="nb">print</span><span class="p">(</span><span class="n">pm</span><span class="o">.</span><span class="n">get_models_used</span><span class="p">())</span>
5637
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-22-3" name="__codelineno-22-3" href="#__codelineno-22-3"></a><span class="c1"># {"vision": "gemini/gemini-2.5-flash", "chat": "anthropic/claude-haiku-4-5-20251001", ...}</span>
5638
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5639
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="usage-examples">Usage examples<a class="headerlink" href="#usage-examples" title="Permanent link">¶</a></h3>
5640
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.manager</span><span class="w"> </span><span class="kn">import</span> <span class="n">ProviderManager</span>
5641
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a>
5642
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-3" name="__codelineno-23-3" href="#__codelineno-23-3"></a><span class="c1"># Auto-select best providers</span>
5643
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-4" name="__codelineno-23-4" href="#__codelineno-23-4"></a><span class="n">pm</span> <span class="o">=</span> <span class="n">ProviderManager</span><span class="p">()</span>
5644
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-5" name="__codelineno-23-5" href="#__codelineno-23-5"></a>
5645
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-6" name="__codelineno-23-6" href="#__codelineno-23-6"></a><span class="c1"># Force everything through one provider</span>
5646
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-7" name="__codelineno-23-7" href="#__codelineno-23-7"></a><span class="n">pm</span> <span class="o">=</span> <span class="n">ProviderManager</span><span class="p">(</span><span class="n">provider</span><span class="o">=</span><span class="s2">"openai"</span><span class="p">)</span>
5647
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-8" name="__codelineno-23-8" href="#__codelineno-23-8"></a>
5648
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-9" name="__codelineno-23-9" href="#__codelineno-23-9"></a><span class="c1"># Explicit model selection</span>
5649
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-10" name="__codelineno-23-10" href="#__codelineno-23-10"></a><span class="n">pm</span> <span class="o">=</span> <span class="n">ProviderManager</span><span class="p">(</span>
5650
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-11" name="__codelineno-23-11" href="#__codelineno-23-11"></a> <span class="n">vision_model</span><span class="o">=</span><span class="s2">"gpt-4o"</span><span class="p">,</span>
5651
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-12" name="__codelineno-23-12" href="#__codelineno-23-12"></a> <span class="n">chat_model</span><span class="o">=</span><span class="s2">"claude-haiku-4-5-20251001"</span><span class="p">,</span>
5652
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-13" name="__codelineno-23-13" href="#__codelineno-23-13"></a> <span class="n">transcription_model</span><span class="o">=</span><span class="s2">"whisper-local:large"</span><span class="p">,</span>
5653
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-14" name="__codelineno-23-14" href="#__codelineno-23-14"></a><span class="p">)</span>
5654
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-15" name="__codelineno-23-15" href="#__codelineno-23-15"></a>
5655
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-16" name="__codelineno-23-16" href="#__codelineno-23-16"></a><span class="c1"># Chat completion</span>
5656
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-17" name="__codelineno-23-17" href="#__codelineno-23-17"></a><span class="n">response</span> <span class="o">=</span> <span class="n">pm</span><span class="o">.</span><span class="n">chat</span><span class="p">([</span>
5657
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-18" name="__codelineno-23-18" href="#__codelineno-23-18"></a> <span class="p">{</span><span class="s2">"role"</span><span class="p">:</span> <span class="s2">"user"</span><span class="p">,</span> <span class="s2">"content"</span><span class="p">:</span> <span class="s2">"Summarize this meeting transcript..."</span><span class="p">}</span>
5658
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-19" name="__codelineno-23-19" href="#__codelineno-23-19"></a><span class="p">])</span>
5659
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-20" name="__codelineno-23-20" href="#__codelineno-23-20"></a>
5660
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-21" name="__codelineno-23-21" href="#__codelineno-23-21"></a><span class="c1"># Image analysis</span>
5661
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-22" name="__codelineno-23-22" href="#__codelineno-23-22"></a><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s2">"diagram.png"</span><span class="p">,</span> <span class="s2">"rb"</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
5662
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-23" name="__codelineno-23-23" href="#__codelineno-23-23"></a> <span class="n">analysis</span> <span class="o">=</span> <span class="n">pm</span><span class="o">.</span><span class="n">analyze_image</span><span class="p">(</span><span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">(),</span> <span class="s2">"Describe this architecture diagram"</span><span class="p">)</span>
5663
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-24" name="__codelineno-23-24" href="#__codelineno-23-24"></a>
5664
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-25" name="__codelineno-23-25" href="#__codelineno-23-25"></a><span class="c1"># Transcription with speaker hints</span>
5665
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-26" name="__codelineno-23-26" href="#__codelineno-23-26"></a><span class="n">result</span> <span class="o">=</span> <span class="n">pm</span><span class="o">.</span><span class="n">transcribe_audio</span><span class="p">(</span>
5666
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-27" name="__codelineno-23-27" href="#__codelineno-23-27"></a> <span class="s2">"meeting.mp3"</span><span class="p">,</span>
5667
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-28" name="__codelineno-23-28" href="#__codelineno-23-28"></a> <span class="n">language</span><span class="o">=</span><span class="s2">"en"</span><span class="p">,</span>
5668
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-29" name="__codelineno-23-29" href="#__codelineno-23-29"></a> <span class="n">speaker_hints</span><span class="o">=</span><span class="p">[</span><span class="s2">"Alice"</span><span class="p">,</span> <span class="s2">"Bob"</span><span class="p">,</span> <span class="s2">"Charlie"</span><span class="p">],</span>
5669
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-30" name="__codelineno-23-30" href="#__codelineno-23-30"></a><span class="p">)</span>
5670
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-31" name="__codelineno-23-31" href="#__codelineno-23-31"></a>
5671
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-32" name="__codelineno-23-32" href="#__codelineno-23-32"></a><span class="c1"># Check usage</span>
5672
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-23-33" name="__codelineno-23-33" href="#__codelineno-23-33"></a><span class="nb">print</span><span class="p">(</span><span class="n">pm</span><span class="o">.</span><span class="n">usage</span><span class="o">.</span><span class="n">summary</span><span class="p">())</span>
5673
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5674
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<hr />
5675
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="discover_available_models">discover_available_models()<a class="headerlink" href="#discover_available_models" title="Permanent link">¶</a></h2>
5676
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.discovery</span><span class="w"> </span><span class="kn">import</span> <span class="n">discover_available_models</span>
5677
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5678
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">discover_available_models</span><span class="p">(</span>
5679
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a> <span class="n">api_keys</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
5680
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a> <span class="n">force_refresh</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span>
5681
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">[</span><span class="n">ModelInfo</span><span class="p">]</span>
5682
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5683
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Discover available models from all configured providers. For each provider with a valid API key, calls <code>list_models()</code> and returns a unified, sorted list.</p>
5684
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Parameters:</strong></p>
5685
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5686
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5687
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5688
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Parameter</th>
5689
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Type</th>
5690
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default</th>
5691
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Description</th>
5692
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5693
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5694
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5695
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5696
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>api_keys</code></td>
5697
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>Optional[dict[str, str]]</code></td>
5698
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>None</code></td>
5699
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Override API keys (defaults to environment variables)</td>
5700
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5701
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5702
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>force_refresh</code></td>
5703
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>bool</code></td>
5704
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>False</code></td>
5705
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>Force re-discovery, ignoring the session cache</td>
5706
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5707
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5708
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5709
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Returns:</strong> <code>list[ModelInfo]</code> -- all discovered models, sorted by provider then model ID.</p>
5710
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p><strong>Caching:</strong> Results are cached for the session. Use <code>force_refresh=True</code> or <code>clear_discovery_cache()</code> to refresh.</p>
5711
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">video_processor.providers.discovery</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
5712
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a> <span class="n">discover_available_models</span><span class="p">,</span>
5713
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a> <span class="n">clear_discovery_cache</span><span class="p">,</span>
5714
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-4" name="__codelineno-26-4" href="#__codelineno-26-4"></a><span class="p">)</span>
5715
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-5" name="__codelineno-26-5" href="#__codelineno-26-5"></a>
5716
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-6" name="__codelineno-26-6" href="#__codelineno-26-6"></a><span class="c1"># Discover models using environment variables</span>
5717
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-7" name="__codelineno-26-7" href="#__codelineno-26-7"></a><span class="n">models</span> <span class="o">=</span> <span class="n">discover_available_models</span><span class="p">()</span>
5718
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-8" name="__codelineno-26-8" href="#__codelineno-26-8"></a><span class="k">for</span> <span class="n">m</span> <span class="ow">in</span> <span class="n">models</span><span class="p">:</span>
5719
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-9" name="__codelineno-26-9" href="#__codelineno-26-9"></a> <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">m</span><span class="o">.</span><span class="n">provider</span><span class="si">}</span><span class="s2">/</span><span class="si">{</span><span class="n">m</span><span class="o">.</span><span class="n">id</span><span class="si">}</span><span class="s2"> - </span><span class="si">{</span><span class="n">m</span><span class="o">.</span><span class="n">capabilities</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
5720
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-10" name="__codelineno-26-10" href="#__codelineno-26-10"></a>
5721
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-11" name="__codelineno-26-11" href="#__codelineno-26-11"></a><span class="c1"># Force refresh</span>
5722
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-12" name="__codelineno-26-12" href="#__codelineno-26-12"></a><span class="n">models</span> <span class="o">=</span> <span class="n">discover_available_models</span><span class="p">(</span><span class="n">force_refresh</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
5723
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-13" name="__codelineno-26-13" href="#__codelineno-26-13"></a>
5724
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-14" name="__codelineno-26-14" href="#__codelineno-26-14"></a><span class="c1"># Override API keys</span>
5725
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-15" name="__codelineno-26-15" href="#__codelineno-26-15"></a><span class="n">models</span> <span class="o">=</span> <span class="n">discover_available_models</span><span class="p">(</span><span class="n">api_keys</span><span class="o">=</span><span class="p">{</span>
5726
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-16" name="__codelineno-26-16" href="#__codelineno-26-16"></a> <span class="s2">"openai"</span><span class="p">:</span> <span class="s2">"sk-..."</span><span class="p">,</span>
5727
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-17" name="__codelineno-26-17" href="#__codelineno-26-17"></a> <span class="s2">"anthropic"</span><span class="p">:</span> <span class="s2">"sk-ant-..."</span><span class="p">,</span>
5728
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-18" name="__codelineno-26-18" href="#__codelineno-26-18"></a><span class="p">})</span>
5729
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-19" name="__codelineno-26-19" href="#__codelineno-26-19"></a>
5730
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-20" name="__codelineno-26-20" href="#__codelineno-26-20"></a><span class="c1"># Clear cache</span>
5731
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a id="__codelineno-26-21" name="__codelineno-26-21" href="#__codelineno-26-21"></a><span class="n">clear_discovery_cache</span><span class="p">()</span>
5732
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5733
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h3 id="clear_discovery_cache">clear_discovery_cache()<a class="headerlink" href="#clear_discovery_cache" title="Permanent link">¶</a></h3>
5734
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a><span class="k">def</span><span class="w"> </span><span class="nf">clear_discovery_cache</span><span class="p">()</span> <span class="o">-></span> <span class="kc">None</span>
5735
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</code></pre></div>
5736
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>Clear the cached model list, forcing the next <code>discover_available_models()</code> call to re-query providers.</p>
5737
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<hr />
5738
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<h2 id="built-in-providers">Built-in Providers<a class="headerlink" href="#built-in-providers" title="Permanent link">¶</a></h2>
5739
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<p>The following providers are registered automatically when the provider system initializes:</p>
5740
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<table>
5741
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<thead>
5742
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5743
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Provider</th>
5744
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Environment Variable</th>
5745
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Capabilities</th>
5746
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<th>Default Chat Model</th>
5747
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5748
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</thead>
5749
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tbody>
5750
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5751
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>openai</code></td>
5752
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>OPENAI_API_KEY</code></td>
5753
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat, vision, audio</td>
5754
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>gpt-4o-mini</code></td>
5755
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5756
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5757
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>anthropic</code></td>
5758
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>ANTHROPIC_API_KEY</code></td>
5759
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat, vision</td>
5760
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>claude-haiku-4-5-20251001</code></td>
5761
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5762
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5763
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>gemini</code></td>
5764
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>GEMINI_API_KEY</code></td>
5765
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat, vision, audio</td>
5766
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>gemini-2.5-flash</code></td>
5767
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5768
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5769
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>ollama</code></td>
5770
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>(none -- checks server)</em></td>
5771
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat, vision</td>
5772
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>(depends on installed models)</em></td>
5773
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5774
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5775
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>together</code></td>
5776
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>TOGETHER_API_KEY</code></td>
5777
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat</td>
5778
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>(varies)</em></td>
5779
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5780
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5781
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>fireworks</code></td>
5782
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>FIREWORKS_API_KEY</code></td>
5783
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat</td>
5784
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>(varies)</em></td>
5785
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5786
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5787
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>cerebras</code></td>
5788
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>CEREBRAS_API_KEY</code></td>
5789
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat</td>
5790
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>(varies)</em></td>
5791
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5792
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5793
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>xai</code></td>
5794
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>XAI_API_KEY</code></td>
5795
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat</td>
5796
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>(varies)</em></td>
5797
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5798
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<tr>
5799
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>azure</code></td>
5800
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><code>AZURE_OPENAI_API_KEY</code></td>
5801
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td>chat, vision</td>
5802
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<td><em>(varies)</em></td>
5803
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tr>
5804
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</tbody>
5805
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</table>
5806
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5807
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5808
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5809
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5810
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5811
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5812
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5813
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5814
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5815
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5816
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5817
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5818
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5819
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</article>
5820
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5821
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5822
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5823
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
5824
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5825
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
5826
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5827
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5828
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
5829
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5830
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
5831
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Back to top
5832
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</button>
5833
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5834
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</main>
5835
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5836
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<footer class="md-footer">
5837
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5838
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-footer-meta md-typeset">
5839
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-footer-meta__inner md-grid">
5840
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-copyright">
5841
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5842
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-copyright__highlight">
5843
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Copyright © 2026 CONFLICT LLC
5844
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5845
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5846
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5847
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Made with
5848
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
5849
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
Material for MkDocs
5850
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
5851
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5852
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5853
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5854
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5855
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-social">
5856
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5857
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5858
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5859
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5860
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5861
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5862
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5863
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5864
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<a href="https://github.com/ConflictHQ/PlanOpticon" target="_blank" rel="noopener" title="github.com" class="md-social__link">
5865
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
5866
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</a>
5867
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5868
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5869
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5870
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5871
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5872
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</footer>
5873
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5874
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5875
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-dialog" data-md-component="dialog">
5876
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<div class="md-dialog__inner md-typeset"></div>
5877
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</div>
5878
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5879
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5880
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5881
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5882
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5883
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.instant", "navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.copy", "content.tabs.link", "header.autohide"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
5884
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5885
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5886
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
<script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
5887
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5888
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
5889
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</body>
5890
{ copied = false; pop = false }, 1000)" :class="copied && 'copied'">
Copy link Copied!
</html>