1
//native
2
type Deepinfra = {
3
token: string;
4
};
5
/**
6
* Inference Model
7
*
8
*/
9
export async function main(
10
auth: Deepinfra,
11
model_name: string,
12
version: string | undefined,
13
x_deepinfra_source: string,
14
user_agent: string,
15
) {
16
const url = new URL(`https://api.deepinfra.com/v1/inference/${model_name}`);
17
for (const [k, v] of [["version", version]]) {
18
if (v !== undefined && v !== "" && k !== undefined) {
19
url.searchParams.append(k, v);
20
}
21
22
const response = await fetch(url, {
23
method: "POST",
24
headers: {
25
"x-deepinfra-source": x_deepinfra_source,
26
"user-agent": user_agent,
27
Authorization: "Bearer " + auth.token,
28
},
29
body: undefined,
30
});
31
if (!response.ok) {
32
const text = await response.text();
33
throw new Error(`${response.status} ${text}`);
34
35
return await response.json();
36
37