@retab/node 0.0.48 → 0.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -215
- package/dist/api/client.d.ts +2 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +2 -2
- package/dist/api/documents/client.d.ts +3 -3
- package/dist/api/documents/client.d.ts.map +1 -1
- package/dist/api/documents/client.js +3 -3
- package/dist/api/projects/client.d.ts +15 -0
- package/dist/api/projects/client.d.ts.map +1 -0
- package/dist/api/projects/client.js +43 -0
- package/dist/api/projects/documents/client.d.ts +12 -0
- package/dist/api/projects/documents/client.d.ts.map +1 -0
- package/dist/api/projects/documents/client.js +39 -0
- package/dist/api/projects/iterations/client.d.ts +17 -0
- package/dist/api/projects/iterations/client.d.ts.map +1 -0
- package/dist/api/projects/iterations/client.js +64 -0
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -1
- package/dist/generated_types.d.ts +17837 -40090
- package/dist/generated_types.d.ts.map +1 -1
- package/dist/generated_types.js +309 -979
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/types.d.ts +188 -80
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +22 -1
- package/package.json +6 -9
- package/dist/api/consensus/client.d.ts +0 -7
- package/dist/api/consensus/client.d.ts.map +0 -1
- package/dist/api/consensus/client.js +0 -14
- package/dist/errors.d.ts +0 -34
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -53
- package/dist/resource.d.ts +0 -12
- package/dist/resource.d.ts.map +0 -1
- package/dist/resource.js +0 -19
- package/dist/resources/consensus/completions.d.ts +0 -66
- package/dist/resources/consensus/completions.d.ts.map +0 -1
- package/dist/resources/consensus/completions.js +0 -84
- package/dist/resources/consensus/index.d.ts +0 -72
- package/dist/resources/consensus/index.d.ts.map +0 -1
- package/dist/resources/consensus/index.js +0 -76
- package/dist/resources/consensus/responses.d.ts +0 -69
- package/dist/resources/consensus/responses.d.ts.map +0 -1
- package/dist/resources/consensus/responses.js +0 -99
- package/dist/resources/documents/extractions.d.ts +0 -74
- package/dist/resources/documents/extractions.d.ts.map +0 -1
- package/dist/resources/documents/extractions.js +0 -196
- package/dist/resources/documents/index.d.ts +0 -21
- package/dist/resources/documents/index.d.ts.map +0 -1
- package/dist/resources/documents/index.js +0 -55
- package/dist/resources/evaluations/documents.d.ts +0 -40
- package/dist/resources/evaluations/documents.d.ts.map +0 -1
- package/dist/resources/evaluations/documents.js +0 -123
- package/dist/resources/evaluations/index.d.ts +0 -14
- package/dist/resources/evaluations/index.d.ts.map +0 -1
- package/dist/resources/evaluations/index.js +0 -17
- package/dist/resources/evaluations/iterations.d.ts +0 -50
- package/dist/resources/evaluations/iterations.d.ts.map +0 -1
- package/dist/resources/evaluations/iterations.js +0 -156
- package/dist/resources/files.d.ts +0 -82
- package/dist/resources/files.d.ts.map +0 -1
- package/dist/resources/files.js +0 -150
- package/dist/resources/finetuning.d.ts +0 -105
- package/dist/resources/finetuning.d.ts.map +0 -1
- package/dist/resources/finetuning.js +0 -181
- package/dist/resources/index.d.ts +0 -11
- package/dist/resources/index.d.ts.map +0 -1
- package/dist/resources/index.js +0 -10
- package/dist/resources/models.d.ts +0 -57
- package/dist/resources/models.d.ts.map +0 -1
- package/dist/resources/models.js +0 -72
- package/dist/resources/processors/automations/endpoints.d.ts +0 -90
- package/dist/resources/processors/automations/endpoints.d.ts.map +0 -1
- package/dist/resources/processors/automations/endpoints.js +0 -145
- package/dist/resources/processors/automations/index.d.ts +0 -7
- package/dist/resources/processors/automations/index.d.ts.map +0 -1
- package/dist/resources/processors/automations/index.js +0 -6
- package/dist/resources/processors/automations/links.d.ts +0 -90
- package/dist/resources/processors/automations/links.d.ts.map +0 -1
- package/dist/resources/processors/automations/links.js +0 -149
- package/dist/resources/processors/automations/logs.d.ts +0 -35
- package/dist/resources/processors/automations/logs.d.ts.map +0 -1
- package/dist/resources/processors/automations/logs.js +0 -60
- package/dist/resources/processors/automations/mailboxes.d.ts +0 -102
- package/dist/resources/processors/automations/mailboxes.d.ts.map +0 -1
- package/dist/resources/processors/automations/mailboxes.js +0 -157
- package/dist/resources/processors/automations/outlook.d.ts +0 -114
- package/dist/resources/processors/automations/outlook.d.ts.map +0 -1
- package/dist/resources/processors/automations/outlook.js +0 -170
- package/dist/resources/processors/automations/tests.d.ts +0 -58
- package/dist/resources/processors/automations/tests.d.ts.map +0 -1
- package/dist/resources/processors/automations/tests.js +0 -90
- package/dist/resources/processors/index.d.ts +0 -303
- package/dist/resources/processors/index.d.ts.map +0 -1
- package/dist/resources/processors/index.js +0 -261
- package/dist/resources/schemas.d.ts +0 -63
- package/dist/resources/schemas.d.ts.map +0 -1
- package/dist/resources/schemas.js +0 -183
- package/dist/resources/secrets/external_api_keys.d.ts +0 -61
- package/dist/resources/secrets/external_api_keys.d.ts.map +0 -1
- package/dist/resources/secrets/external_api_keys.js +0 -120
- package/dist/resources/secrets/index.d.ts +0 -14
- package/dist/resources/secrets/index.d.ts.map +0 -1
- package/dist/resources/secrets/index.js +0 -17
- package/dist/resources/secrets/webhooks.d.ts +0 -73
- package/dist/resources/secrets/webhooks.d.ts.map +0 -1
- package/dist/resources/secrets/webhooks.js +0 -145
- package/dist/resources/usage.d.ts +0 -223
- package/dist/resources/usage.d.ts.map +0 -1
- package/dist/resources/usage.js +0 -310
- package/dist/types/ai_models.d.ts +0 -389
- package/dist/types/ai_models.d.ts.map +0 -1
- package/dist/types/ai_models.js +0 -145
- package/dist/types/automations/cron.d.ts +0 -28
- package/dist/types/automations/cron.d.ts.map +0 -1
- package/dist/types/automations/cron.js +0 -1
- package/dist/types/automations/endpoints.d.ts +0 -13
- package/dist/types/automations/endpoints.d.ts.map +0 -1
- package/dist/types/automations/endpoints.js +0 -1
- package/dist/types/automations/index.d.ts +0 -7
- package/dist/types/automations/index.d.ts.map +0 -1
- package/dist/types/automations/index.js +0 -6
- package/dist/types/automations/links.d.ts +0 -15
- package/dist/types/automations/links.d.ts.map +0 -1
- package/dist/types/automations/links.js +0 -1
- package/dist/types/automations/mailboxes.d.ts +0 -18
- package/dist/types/automations/mailboxes.d.ts.map +0 -1
- package/dist/types/automations/mailboxes.js +0 -1
- package/dist/types/automations/outlook.d.ts +0 -37
- package/dist/types/automations/outlook.d.ts.map +0 -1
- package/dist/types/automations/outlook.js +0 -1
- package/dist/types/automations/webhooks.d.ts +0 -13
- package/dist/types/automations/webhooks.d.ts.map +0 -1
- package/dist/types/automations/webhooks.js +0 -1
- package/dist/types/browser_canvas.d.ts +0 -4
- package/dist/types/browser_canvas.d.ts.map +0 -1
- package/dist/types/browser_canvas.js +0 -2
- package/dist/types/chat.d.ts +0 -99
- package/dist/types/chat.d.ts.map +0 -1
- package/dist/types/chat.js +0 -20
- package/dist/types/consensus.d.ts +0 -10
- package/dist/types/consensus.d.ts.map +0 -1
- package/dist/types/consensus.js +0 -1
- package/dist/types/db/annotations.d.ts +0 -108
- package/dist/types/db/annotations.d.ts.map +0 -1
- package/dist/types/db/annotations.js +0 -6
- package/dist/types/db/files.d.ts +0 -133
- package/dist/types/db/files.d.ts.map +0 -1
- package/dist/types/db/files.js +0 -5
- package/dist/types/documents/extractions.d.ts +0 -1849
- package/dist/types/documents/extractions.d.ts.map +0 -1
- package/dist/types/documents/extractions.js +0 -211
- package/dist/types/documents/processing.d.ts +0 -249
- package/dist/types/documents/processing.d.ts.map +0 -1
- package/dist/types/documents/processing.js +0 -6
- package/dist/types/evaluations/iterations.d.ts +0 -41
- package/dist/types/evaluations/iterations.d.ts.map +0 -1
- package/dist/types/evaluations/iterations.js +0 -1
- package/dist/types/jobs/base.d.ts +0 -162
- package/dist/types/jobs/base.d.ts.map +0 -1
- package/dist/types/jobs/base.js +0 -6
- package/dist/types/jobs/specialized.d.ts +0 -200
- package/dist/types/jobs/specialized.d.ts.map +0 -1
- package/dist/types/jobs/specialized.js +0 -37
- package/dist/types/logs.d.ts +0 -92
- package/dist/types/logs.d.ts.map +0 -1
- package/dist/types/logs.js +0 -1
- package/dist/types/mime.d.ts +0 -426
- package/dist/types/mime.d.ts.map +0 -1
- package/dist/types/mime.js +0 -48
- package/dist/types/modalities.d.ts +0 -31
- package/dist/types/modalities.d.ts.map +0 -1
- package/dist/types/modalities.js +0 -109
- package/dist/types/pagination.d.ts +0 -5
- package/dist/types/pagination.d.ts.map +0 -1
- package/dist/types/pagination.js +0 -1
- package/dist/types/schemas/enhancement.d.ts +0 -250
- package/dist/types/schemas/enhancement.d.ts.map +0 -1
- package/dist/types/schemas/enhancement.js +0 -6
- package/dist/types/schemas/generate.d.ts +0 -160
- package/dist/types/schemas/generate.d.ts.map +0 -1
- package/dist/types/schemas/generate.js +0 -19
- package/dist/types/schemas/object.d.ts +0 -116
- package/dist/types/schemas/object.d.ts.map +0 -1
- package/dist/types/schemas/object.js +0 -861
- package/dist/types/secrets/external_api_keys.d.ts +0 -27
- package/dist/types/secrets/external_api_keys.d.ts.map +0 -1
- package/dist/types/secrets/external_api_keys.js +0 -11
- package/dist/types/secrets/index.d.ts +0 -2
- package/dist/types/secrets/index.d.ts.map +0 -1
- package/dist/types/secrets/index.js +0 -1
- package/dist/types/standards.d.ts +0 -37
- package/dist/types/standards.d.ts.map +0 -1
- package/dist/types/standards.js +0 -1
- package/dist/utils/ai_models.d.ts +0 -10
- package/dist/utils/ai_models.d.ts.map +0 -1
- package/dist/utils/ai_models.js +0 -183
- package/dist/utils/batch_processing.d.ts +0 -227
- package/dist/utils/batch_processing.d.ts.map +0 -1
- package/dist/utils/batch_processing.js +0 -268
- package/dist/utils/benchmarking.d.ts +0 -115
- package/dist/utils/benchmarking.d.ts.map +0 -1
- package/dist/utils/benchmarking.js +0 -355
- package/dist/utils/chat.d.ts +0 -70
- package/dist/utils/chat.d.ts.map +0 -1
- package/dist/utils/chat.js +0 -79
- package/dist/utils/cost_calculation.d.ts +0 -26
- package/dist/utils/cost_calculation.d.ts.map +0 -1
- package/dist/utils/cost_calculation.js +0 -99
- package/dist/utils/datasets.d.ts +0 -135
- package/dist/utils/datasets.d.ts.map +0 -1
- package/dist/utils/datasets.js +0 -359
- package/dist/utils/display.d.ts +0 -108
- package/dist/utils/display.d.ts.map +0 -1
- package/dist/utils/display.js +0 -244
- package/dist/utils/hash.d.ts +0 -18
- package/dist/utils/hash.d.ts.map +0 -1
- package/dist/utils/hash.js +0 -31
- package/dist/utils/hashing.d.ts +0 -18
- package/dist/utils/hashing.d.ts.map +0 -1
- package/dist/utils/hashing.js +0 -28
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -10
- package/dist/utils/json_schema.d.ts +0 -18
- package/dist/utils/json_schema.d.ts.map +0 -1
- package/dist/utils/json_schema.js +0 -334
- package/dist/utils/json_schema_utils.d.ts +0 -42
- package/dist/utils/json_schema_utils.d.ts.map +0 -1
- package/dist/utils/json_schema_utils.js +0 -212
- package/dist/utils/jsonl.d.ts +0 -60
- package/dist/utils/jsonl.d.ts.map +0 -1
- package/dist/utils/jsonl.js +0 -259
- package/dist/utils/mime.d.ts +0 -6
- package/dist/utils/mime.d.ts.map +0 -1
- package/dist/utils/mime.js +0 -129
- package/dist/utils/model_cards.d.ts +0 -219
- package/dist/utils/model_cards.d.ts.map +0 -1
- package/dist/utils/model_cards.js +0 -462
- package/dist/utils/prompt_optimization.d.ts +0 -96
- package/dist/utils/prompt_optimization.d.ts.map +0 -1
- package/dist/utils/prompt_optimization.js +0 -275
- package/dist/utils/responses.d.ts +0 -35
- package/dist/utils/responses.d.ts.map +0 -1
- package/dist/utils/responses.js +0 -37
- package/dist/utils/stream.d.ts +0 -13
- package/dist/utils/stream.d.ts.map +0 -1
- package/dist/utils/stream.js +0 -64
- package/dist/utils/stream_context_managers.d.ts +0 -147
- package/dist/utils/stream_context_managers.d.ts.map +0 -1
- package/dist/utils/stream_context_managers.js +0 -380
- package/dist/utils/usage.d.ts +0 -57
- package/dist/utils/usage.d.ts.map +0 -1
- package/dist/utils/usage.js +0 -97
- package/dist/utils/webhook_secrets.d.ts +0 -59
- package/dist/utils/webhook_secrets.d.ts.map +0 -1
- package/dist/utils/webhook_secrets.js +0 -107
- package/dist/utils/zod_to_json_schema.d.ts +0 -11
- package/dist/utils/zod_to_json_schema.d.ts.map +0 -1
- package/dist/utils/zod_to_json_schema.js +0 -123
|
@@ -1,462 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model cards and AI provider configuration management
|
|
3
|
-
* Equivalent to Python's utils/_model_cards/ directory
|
|
4
|
-
*/
|
|
5
|
-
// Built-in model cards
|
|
6
|
-
export const modelCards = {
|
|
7
|
-
'gpt-4o': {
|
|
8
|
-
id: 'gpt-4o',
|
|
9
|
-
name: 'GPT-4o',
|
|
10
|
-
provider: 'openai',
|
|
11
|
-
model_family: 'gpt-4',
|
|
12
|
-
version: '2024-08-06',
|
|
13
|
-
description: 'Most advanced multimodal model with vision capabilities',
|
|
14
|
-
capabilities: {
|
|
15
|
-
text_generation: true,
|
|
16
|
-
text_analysis: true,
|
|
17
|
-
document_extraction: true,
|
|
18
|
-
image_understanding: true,
|
|
19
|
-
function_calling: true,
|
|
20
|
-
json_mode: true,
|
|
21
|
-
streaming: true,
|
|
22
|
-
batch_processing: true,
|
|
23
|
-
fine_tuning: false,
|
|
24
|
-
embedding_generation: false,
|
|
25
|
-
reasoning: true,
|
|
26
|
-
code_generation: true,
|
|
27
|
-
multilingual: true,
|
|
28
|
-
supported_languages: ['en', 'es', 'fr', 'de', 'it', 'pt', 'ru', 'ja', 'ko', 'zh'],
|
|
29
|
-
max_context_window: 128000,
|
|
30
|
-
max_output_tokens: 16384,
|
|
31
|
-
},
|
|
32
|
-
limitations: {
|
|
33
|
-
rate_limits: {
|
|
34
|
-
requests_per_minute: 10000,
|
|
35
|
-
tokens_per_minute: 2000000,
|
|
36
|
-
},
|
|
37
|
-
content_restrictions: ['NSFW content', 'Illegal activities', 'Personal data'],
|
|
38
|
-
knowledge_cutoff_date: new Date('2024-04-01'),
|
|
39
|
-
},
|
|
40
|
-
pricing: {
|
|
41
|
-
input_tokens_per_1k: 0.0025,
|
|
42
|
-
output_tokens_per_1k: 0.01,
|
|
43
|
-
image_tokens_per_1k: 0.001275,
|
|
44
|
-
currency: 'USD',
|
|
45
|
-
billing_unit: 'token',
|
|
46
|
-
},
|
|
47
|
-
performance_benchmarks: {
|
|
48
|
-
accuracy_scores: {
|
|
49
|
-
general_text: 0.95,
|
|
50
|
-
document_extraction: 0.92,
|
|
51
|
-
reasoning: 0.94,
|
|
52
|
-
code_generation: 0.91,
|
|
53
|
-
multilingual: 0.89,
|
|
54
|
-
},
|
|
55
|
-
speed_metrics: {
|
|
56
|
-
average_latency_ms: 1200,
|
|
57
|
-
tokens_per_second: 45,
|
|
58
|
-
throughput_requests_per_minute: 8500,
|
|
59
|
-
},
|
|
60
|
-
reliability_metrics: {
|
|
61
|
-
uptime_percentage: 99.9,
|
|
62
|
-
error_rate_percentage: 0.1,
|
|
63
|
-
consistency_score: 0.93,
|
|
64
|
-
},
|
|
65
|
-
cost_efficiency: {
|
|
66
|
-
cost_per_accurate_response: 0.015,
|
|
67
|
-
cost_performance_ratio: 6.3,
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
technical_specs: {
|
|
71
|
-
architecture: 'Transformer',
|
|
72
|
-
inference_hardware: ['GPU'],
|
|
73
|
-
optimization_techniques: ['Mixed precision', 'Model parallelism'],
|
|
74
|
-
supported_formats: {
|
|
75
|
-
input: ['text', 'image'],
|
|
76
|
-
output: ['text', 'json'],
|
|
77
|
-
},
|
|
78
|
-
api_compatibility: {
|
|
79
|
-
openai_compatible: true,
|
|
80
|
-
custom_endpoints: false,
|
|
81
|
-
webhook_support: false,
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
usage_guidelines: {
|
|
85
|
-
recommended_use_cases: [
|
|
86
|
-
'Complex document extraction',
|
|
87
|
-
'Multimodal analysis',
|
|
88
|
-
'Advanced reasoning tasks',
|
|
89
|
-
'Code generation',
|
|
90
|
-
],
|
|
91
|
-
not_recommended_for: [
|
|
92
|
-
'Simple text classification',
|
|
93
|
-
'High-frequency API calls',
|
|
94
|
-
'Cost-sensitive applications',
|
|
95
|
-
],
|
|
96
|
-
best_practices: [
|
|
97
|
-
'Use clear, specific prompts',
|
|
98
|
-
'Leverage function calling for structured output',
|
|
99
|
-
'Optimize context window usage',
|
|
100
|
-
],
|
|
101
|
-
prompt_engineering_tips: [
|
|
102
|
-
'Be explicit about output format',
|
|
103
|
-
'Provide examples for complex tasks',
|
|
104
|
-
'Use system messages for role definition',
|
|
105
|
-
],
|
|
106
|
-
parameter_recommendations: {
|
|
107
|
-
temperature: {
|
|
108
|
-
creative_tasks: 0.7,
|
|
109
|
-
analytical_tasks: 0.1,
|
|
110
|
-
extraction_tasks: 0.0,
|
|
111
|
-
},
|
|
112
|
-
},
|
|
113
|
-
context_window_optimization: [
|
|
114
|
-
'Place important information early',
|
|
115
|
-
'Use concise prompts',
|
|
116
|
-
'Chunk large documents',
|
|
117
|
-
],
|
|
118
|
-
},
|
|
119
|
-
supported_features: [
|
|
120
|
-
'vision',
|
|
121
|
-
'function_calling',
|
|
122
|
-
'json_mode',
|
|
123
|
-
'streaming',
|
|
124
|
-
'batch',
|
|
125
|
-
],
|
|
126
|
-
deprecated: false,
|
|
127
|
-
created_at: new Date('2024-05-13'),
|
|
128
|
-
updated_at: new Date('2024-08-06'),
|
|
129
|
-
},
|
|
130
|
-
'gpt-4o-mini': {
|
|
131
|
-
id: 'gpt-4o-mini',
|
|
132
|
-
name: 'GPT-4o Mini',
|
|
133
|
-
provider: 'openai',
|
|
134
|
-
model_family: 'gpt-4',
|
|
135
|
-
version: '2024-07-18',
|
|
136
|
-
description: 'Fast and cost-effective model for simple tasks',
|
|
137
|
-
capabilities: {
|
|
138
|
-
text_generation: true,
|
|
139
|
-
text_analysis: true,
|
|
140
|
-
document_extraction: true,
|
|
141
|
-
image_understanding: true,
|
|
142
|
-
function_calling: true,
|
|
143
|
-
json_mode: true,
|
|
144
|
-
streaming: true,
|
|
145
|
-
batch_processing: true,
|
|
146
|
-
fine_tuning: true,
|
|
147
|
-
embedding_generation: false,
|
|
148
|
-
reasoning: true,
|
|
149
|
-
code_generation: true,
|
|
150
|
-
multilingual: true,
|
|
151
|
-
max_context_window: 128000,
|
|
152
|
-
max_output_tokens: 16384,
|
|
153
|
-
},
|
|
154
|
-
limitations: {
|
|
155
|
-
rate_limits: {
|
|
156
|
-
requests_per_minute: 30000,
|
|
157
|
-
tokens_per_minute: 5000000,
|
|
158
|
-
},
|
|
159
|
-
content_restrictions: ['NSFW content', 'Illegal activities'],
|
|
160
|
-
knowledge_cutoff_date: new Date('2024-04-01'),
|
|
161
|
-
},
|
|
162
|
-
pricing: {
|
|
163
|
-
input_tokens_per_1k: 0.00015,
|
|
164
|
-
output_tokens_per_1k: 0.0006,
|
|
165
|
-
image_tokens_per_1k: 0.001275,
|
|
166
|
-
fine_tuning_training_per_1k: 0.003,
|
|
167
|
-
fine_tuning_usage_per_1k: 0.0012,
|
|
168
|
-
currency: 'USD',
|
|
169
|
-
billing_unit: 'token',
|
|
170
|
-
},
|
|
171
|
-
performance_benchmarks: {
|
|
172
|
-
accuracy_scores: {
|
|
173
|
-
general_text: 0.87,
|
|
174
|
-
document_extraction: 0.84,
|
|
175
|
-
reasoning: 0.85,
|
|
176
|
-
code_generation: 0.83,
|
|
177
|
-
multilingual: 0.81,
|
|
178
|
-
},
|
|
179
|
-
speed_metrics: {
|
|
180
|
-
average_latency_ms: 800,
|
|
181
|
-
tokens_per_second: 65,
|
|
182
|
-
throughput_requests_per_minute: 25000,
|
|
183
|
-
},
|
|
184
|
-
reliability_metrics: {
|
|
185
|
-
uptime_percentage: 99.95,
|
|
186
|
-
error_rate_percentage: 0.05,
|
|
187
|
-
consistency_score: 0.89,
|
|
188
|
-
},
|
|
189
|
-
cost_efficiency: {
|
|
190
|
-
cost_per_accurate_response: 0.003,
|
|
191
|
-
cost_performance_ratio: 28.7,
|
|
192
|
-
},
|
|
193
|
-
},
|
|
194
|
-
technical_specs: {
|
|
195
|
-
architecture: 'Transformer',
|
|
196
|
-
inference_hardware: ['GPU'],
|
|
197
|
-
optimization_techniques: ['Quantization', 'Pruning'],
|
|
198
|
-
supported_formats: {
|
|
199
|
-
input: ['text', 'image'],
|
|
200
|
-
output: ['text', 'json'],
|
|
201
|
-
},
|
|
202
|
-
api_compatibility: {
|
|
203
|
-
openai_compatible: true,
|
|
204
|
-
custom_endpoints: false,
|
|
205
|
-
webhook_support: false,
|
|
206
|
-
},
|
|
207
|
-
},
|
|
208
|
-
usage_guidelines: {
|
|
209
|
-
recommended_use_cases: [
|
|
210
|
-
'Document extraction',
|
|
211
|
-
'Text classification',
|
|
212
|
-
'Simple reasoning',
|
|
213
|
-
'Batch processing',
|
|
214
|
-
],
|
|
215
|
-
not_recommended_for: [
|
|
216
|
-
'Complex creative writing',
|
|
217
|
-
'Advanced mathematical reasoning',
|
|
218
|
-
'Highly specialized domains',
|
|
219
|
-
],
|
|
220
|
-
best_practices: [
|
|
221
|
-
'Use for cost-sensitive applications',
|
|
222
|
-
'Ideal for fine-tuning',
|
|
223
|
-
'Good for high-volume processing',
|
|
224
|
-
],
|
|
225
|
-
prompt_engineering_tips: [
|
|
226
|
-
'Keep prompts concise',
|
|
227
|
-
'Use examples for better performance',
|
|
228
|
-
'Be specific about requirements',
|
|
229
|
-
],
|
|
230
|
-
parameter_recommendations: {
|
|
231
|
-
temperature: {
|
|
232
|
-
creative_tasks: 0.5,
|
|
233
|
-
analytical_tasks: 0.0,
|
|
234
|
-
extraction_tasks: 0.0,
|
|
235
|
-
},
|
|
236
|
-
},
|
|
237
|
-
context_window_optimization: [
|
|
238
|
-
'Use efficient prompt design',
|
|
239
|
-
'Minimize unnecessary context',
|
|
240
|
-
'Leverage fine-tuning for domain-specific tasks',
|
|
241
|
-
],
|
|
242
|
-
},
|
|
243
|
-
supported_features: [
|
|
244
|
-
'vision',
|
|
245
|
-
'function_calling',
|
|
246
|
-
'json_mode',
|
|
247
|
-
'streaming',
|
|
248
|
-
'batch',
|
|
249
|
-
'fine_tuning',
|
|
250
|
-
],
|
|
251
|
-
deprecated: false,
|
|
252
|
-
created_at: new Date('2024-07-18'),
|
|
253
|
-
updated_at: new Date('2024-07-18'),
|
|
254
|
-
},
|
|
255
|
-
};
|
|
256
|
-
export const providerConfigs = {
|
|
257
|
-
openai: {
|
|
258
|
-
provider_id: 'openai',
|
|
259
|
-
provider_name: 'OpenAI',
|
|
260
|
-
api_base_url: 'https://api.openai.com/v1',
|
|
261
|
-
authentication: {
|
|
262
|
-
type: 'api_key',
|
|
263
|
-
header_name: 'Authorization',
|
|
264
|
-
header_prefix: 'Bearer',
|
|
265
|
-
},
|
|
266
|
-
rate_limiting: {
|
|
267
|
-
default_rpm: 10000,
|
|
268
|
-
default_tpm: 2000000,
|
|
269
|
-
burst_allowance: 100,
|
|
270
|
-
backoff_strategy: 'exponential',
|
|
271
|
-
},
|
|
272
|
-
request_format: {
|
|
273
|
-
content_type: 'application/json',
|
|
274
|
-
encoding: 'utf-8',
|
|
275
|
-
supports_streaming: true,
|
|
276
|
-
supports_batch: true,
|
|
277
|
-
},
|
|
278
|
-
response_format: {
|
|
279
|
-
content_type: 'application/json',
|
|
280
|
-
error_format: 'openai',
|
|
281
|
-
streaming_format: 'text/event-stream',
|
|
282
|
-
},
|
|
283
|
-
supported_models: ['gpt-4o', 'gpt-4o-mini', 'gpt-4-turbo', 'gpt-3.5-turbo'],
|
|
284
|
-
default_parameters: {
|
|
285
|
-
temperature: 0.0,
|
|
286
|
-
max_tokens: 4096,
|
|
287
|
-
},
|
|
288
|
-
health_check: {
|
|
289
|
-
endpoint: '/models',
|
|
290
|
-
method: 'GET',
|
|
291
|
-
expected_status: 200,
|
|
292
|
-
timeout_ms: 5000,
|
|
293
|
-
},
|
|
294
|
-
},
|
|
295
|
-
anthropic: {
|
|
296
|
-
provider_id: 'anthropic',
|
|
297
|
-
provider_name: 'Anthropic',
|
|
298
|
-
api_base_url: 'https://api.anthropic.com',
|
|
299
|
-
authentication: {
|
|
300
|
-
type: 'api_key',
|
|
301
|
-
header_name: 'x-api-key',
|
|
302
|
-
},
|
|
303
|
-
rate_limiting: {
|
|
304
|
-
default_rpm: 4000,
|
|
305
|
-
default_tpm: 400000,
|
|
306
|
-
burst_allowance: 50,
|
|
307
|
-
backoff_strategy: 'exponential',
|
|
308
|
-
},
|
|
309
|
-
request_format: {
|
|
310
|
-
content_type: 'application/json',
|
|
311
|
-
encoding: 'utf-8',
|
|
312
|
-
supports_streaming: true,
|
|
313
|
-
supports_batch: false,
|
|
314
|
-
},
|
|
315
|
-
response_format: {
|
|
316
|
-
content_type: 'application/json',
|
|
317
|
-
error_format: 'anthropic',
|
|
318
|
-
streaming_format: 'text/event-stream',
|
|
319
|
-
},
|
|
320
|
-
supported_models: ['claude-3-5-sonnet-20241022', 'claude-3-haiku-20240307'],
|
|
321
|
-
default_parameters: {
|
|
322
|
-
temperature: 0.0,
|
|
323
|
-
max_tokens: 4096,
|
|
324
|
-
},
|
|
325
|
-
health_check: {
|
|
326
|
-
endpoint: '/v1/messages',
|
|
327
|
-
method: 'POST',
|
|
328
|
-
expected_status: 400, // Expects validation error without proper request
|
|
329
|
-
timeout_ms: 5000,
|
|
330
|
-
},
|
|
331
|
-
},
|
|
332
|
-
};
|
|
333
|
-
// Utility functions
|
|
334
|
-
export class ModelCardManager {
|
|
335
|
-
constructor() {
|
|
336
|
-
this.cards = new Map();
|
|
337
|
-
this.configs = new Map();
|
|
338
|
-
// Load built-in model cards
|
|
339
|
-
Object.entries(modelCards).forEach(([id, card]) => {
|
|
340
|
-
this.cards.set(id, card);
|
|
341
|
-
});
|
|
342
|
-
// Load built-in provider configs
|
|
343
|
-
Object.entries(providerConfigs).forEach(([id, config]) => {
|
|
344
|
-
this.configs.set(id, config);
|
|
345
|
-
});
|
|
346
|
-
}
|
|
347
|
-
static getInstance() {
|
|
348
|
-
if (!ModelCardManager.instance) {
|
|
349
|
-
ModelCardManager.instance = new ModelCardManager();
|
|
350
|
-
}
|
|
351
|
-
return ModelCardManager.instance;
|
|
352
|
-
}
|
|
353
|
-
getModelCard(modelId) {
|
|
354
|
-
return this.cards.get(modelId);
|
|
355
|
-
}
|
|
356
|
-
getProviderConfig(providerId) {
|
|
357
|
-
return this.configs.get(providerId);
|
|
358
|
-
}
|
|
359
|
-
getAllModels() {
|
|
360
|
-
return Array.from(this.cards.values());
|
|
361
|
-
}
|
|
362
|
-
getModelsByProvider(providerId) {
|
|
363
|
-
return Array.from(this.cards.values()).filter(card => card.provider === providerId);
|
|
364
|
-
}
|
|
365
|
-
recommendModel(criteria) {
|
|
366
|
-
const models = Array.from(this.cards.values());
|
|
367
|
-
const recommendations = [];
|
|
368
|
-
for (const model of models) {
|
|
369
|
-
let score = 0;
|
|
370
|
-
const rationale = [];
|
|
371
|
-
// Check basic requirements
|
|
372
|
-
if (criteria.context_length_required > model.capabilities.max_context_window)
|
|
373
|
-
continue;
|
|
374
|
-
if (criteria.output_length_required > model.capabilities.max_output_tokens)
|
|
375
|
-
continue;
|
|
376
|
-
if (criteria.supports_images && !model.capabilities.image_understanding)
|
|
377
|
-
continue;
|
|
378
|
-
if (criteria.supports_function_calling && !model.capabilities.function_calling)
|
|
379
|
-
continue;
|
|
380
|
-
if (criteria.supports_json_mode && !model.capabilities.json_mode)
|
|
381
|
-
continue;
|
|
382
|
-
// Score based on priorities
|
|
383
|
-
const accuracy = model.performance_benchmarks.accuracy_scores.general_text;
|
|
384
|
-
const speed = 1 / (model.performance_benchmarks.speed_metrics.average_latency_ms / 1000);
|
|
385
|
-
const cost = 1 / model.pricing.input_tokens_per_1k;
|
|
386
|
-
switch (criteria.accuracy_priority) {
|
|
387
|
-
case 'critical':
|
|
388
|
-
score += accuracy * 0.5;
|
|
389
|
-
break;
|
|
390
|
-
case 'high':
|
|
391
|
-
score += accuracy * 0.35;
|
|
392
|
-
break;
|
|
393
|
-
case 'medium':
|
|
394
|
-
score += accuracy * 0.2;
|
|
395
|
-
break;
|
|
396
|
-
case 'low':
|
|
397
|
-
score += accuracy * 0.1;
|
|
398
|
-
break;
|
|
399
|
-
}
|
|
400
|
-
switch (criteria.speed_priority) {
|
|
401
|
-
case 'critical':
|
|
402
|
-
score += speed * 0.3;
|
|
403
|
-
break;
|
|
404
|
-
case 'high':
|
|
405
|
-
score += speed * 0.2;
|
|
406
|
-
break;
|
|
407
|
-
case 'medium':
|
|
408
|
-
score += speed * 0.15;
|
|
409
|
-
break;
|
|
410
|
-
case 'low':
|
|
411
|
-
score += speed * 0.05;
|
|
412
|
-
break;
|
|
413
|
-
}
|
|
414
|
-
switch (criteria.cost_priority) {
|
|
415
|
-
case 'critical':
|
|
416
|
-
score += cost * 0.3;
|
|
417
|
-
break;
|
|
418
|
-
case 'high':
|
|
419
|
-
score += cost * 0.2;
|
|
420
|
-
break;
|
|
421
|
-
case 'medium':
|
|
422
|
-
score += cost * 0.15;
|
|
423
|
-
break;
|
|
424
|
-
case 'low':
|
|
425
|
-
score += cost * 0.05;
|
|
426
|
-
break;
|
|
427
|
-
}
|
|
428
|
-
if (score > 0.3) { // Minimum threshold
|
|
429
|
-
recommendations.push({
|
|
430
|
-
model_id: model.id,
|
|
431
|
-
model_name: model.name,
|
|
432
|
-
provider: model.provider,
|
|
433
|
-
confidence_score: Math.min(score, 1.0),
|
|
434
|
-
rationale,
|
|
435
|
-
expected_performance: {
|
|
436
|
-
accuracy: accuracy,
|
|
437
|
-
latency_ms: model.performance_benchmarks.speed_metrics.average_latency_ms,
|
|
438
|
-
cost_per_request: model.pricing.input_tokens_per_1k * 0.5, // Rough estimate
|
|
439
|
-
},
|
|
440
|
-
trade_offs: [],
|
|
441
|
-
alternative_models: [],
|
|
442
|
-
});
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
return recommendations.sort((a, b) => b.confidence_score - a.confidence_score);
|
|
446
|
-
}
|
|
447
|
-
addModelCard(card) {
|
|
448
|
-
this.cards.set(card.id, card);
|
|
449
|
-
}
|
|
450
|
-
updateModelCard(modelId, updates) {
|
|
451
|
-
const existing = this.cards.get(modelId);
|
|
452
|
-
if (existing) {
|
|
453
|
-
this.cards.set(modelId, { ...existing, ...updates, updated_at: new Date() });
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
}
|
|
457
|
-
// Export values but not types in default export
|
|
458
|
-
export default {
|
|
459
|
-
ModelCardManager,
|
|
460
|
-
modelCards,
|
|
461
|
-
providerConfigs,
|
|
462
|
-
};
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Prompt optimization utilities for improving AI model performance
|
|
3
|
-
* Equivalent to Python's prompt_optimization.py
|
|
4
|
-
*/
|
|
5
|
-
export interface PromptOptimizationConfig {
|
|
6
|
-
maxTokens?: number;
|
|
7
|
-
temperature?: number;
|
|
8
|
-
model?: string;
|
|
9
|
-
preserveStructure?: boolean;
|
|
10
|
-
optimizationGoal?: 'accuracy' | 'speed' | 'cost' | 'balanced';
|
|
11
|
-
}
|
|
12
|
-
export interface PromptMetrics {
|
|
13
|
-
tokenCount: number;
|
|
14
|
-
clarity: number;
|
|
15
|
-
specificity: number;
|
|
16
|
-
complexity: number;
|
|
17
|
-
estimatedCost: number;
|
|
18
|
-
estimatedLatency: number;
|
|
19
|
-
}
|
|
20
|
-
export interface OptimizationResult {
|
|
21
|
-
originalPrompt: string;
|
|
22
|
-
optimizedPrompt: string;
|
|
23
|
-
improvements: string[];
|
|
24
|
-
metrics: {
|
|
25
|
-
before: PromptMetrics;
|
|
26
|
-
after: PromptMetrics;
|
|
27
|
-
};
|
|
28
|
-
confidence: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Estimate token count for a prompt (rough approximation)
|
|
32
|
-
*/
|
|
33
|
-
export declare function estimateTokenCount(text: string): number;
|
|
34
|
-
/**
|
|
35
|
-
* Calculate prompt clarity score based on readability metrics
|
|
36
|
-
*/
|
|
37
|
-
export declare function calculateClarity(prompt: string): number;
|
|
38
|
-
/**
|
|
39
|
-
* Calculate prompt specificity score
|
|
40
|
-
*/
|
|
41
|
-
export declare function calculateSpecificity(prompt: string): number;
|
|
42
|
-
/**
|
|
43
|
-
* Calculate prompt complexity score
|
|
44
|
-
*/
|
|
45
|
-
export declare function calculateComplexity(prompt: string): number;
|
|
46
|
-
/**
|
|
47
|
-
* Estimate cost based on token count and model
|
|
48
|
-
*/
|
|
49
|
-
export declare function estimateCost(tokenCount: number, model?: string): number;
|
|
50
|
-
/**
|
|
51
|
-
* Estimate latency based on token count and model
|
|
52
|
-
*/
|
|
53
|
-
export declare function estimateLatency(tokenCount: number, model?: string): number;
|
|
54
|
-
/**
|
|
55
|
-
* Calculate comprehensive prompt metrics
|
|
56
|
-
*/
|
|
57
|
-
export declare function calculateMetrics(prompt: string, model?: string): PromptMetrics;
|
|
58
|
-
/**
|
|
59
|
-
* Optimize prompt for brevity while maintaining clarity
|
|
60
|
-
*/
|
|
61
|
-
export declare function optimizeForBrevity(prompt: string): string;
|
|
62
|
-
/**
|
|
63
|
-
* Optimize prompt for clarity and structure
|
|
64
|
-
*/
|
|
65
|
-
export declare function optimizeForClarity(prompt: string): string;
|
|
66
|
-
/**
|
|
67
|
-
* Optimize prompt for specific AI model characteristics
|
|
68
|
-
*/
|
|
69
|
-
export declare function optimizeForModel(prompt: string, model: string): string;
|
|
70
|
-
/**
|
|
71
|
-
* Main optimization function
|
|
72
|
-
*/
|
|
73
|
-
export declare function optimizePrompt(prompt: string, config?: PromptOptimizationConfig): OptimizationResult;
|
|
74
|
-
/**
|
|
75
|
-
* Test prompt variations and return the best one
|
|
76
|
-
*/
|
|
77
|
-
export declare function testPromptVariations(basePrompt: string, variations: string[], testFunction: (prompt: string) => Promise<number>, // Should return a score
|
|
78
|
-
config?: PromptOptimizationConfig): Promise<OptimizationResult & {
|
|
79
|
-
score: number;
|
|
80
|
-
}>;
|
|
81
|
-
declare const _default: {
|
|
82
|
-
estimateTokenCount: typeof estimateTokenCount;
|
|
83
|
-
calculateClarity: typeof calculateClarity;
|
|
84
|
-
calculateSpecificity: typeof calculateSpecificity;
|
|
85
|
-
calculateComplexity: typeof calculateComplexity;
|
|
86
|
-
estimateCost: typeof estimateCost;
|
|
87
|
-
estimateLatency: typeof estimateLatency;
|
|
88
|
-
calculateMetrics: typeof calculateMetrics;
|
|
89
|
-
optimizeForBrevity: typeof optimizeForBrevity;
|
|
90
|
-
optimizeForClarity: typeof optimizeForClarity;
|
|
91
|
-
optimizeForModel: typeof optimizeForModel;
|
|
92
|
-
optimizePrompt: typeof optimizePrompt;
|
|
93
|
-
testPromptVariations: typeof testPromptVariations;
|
|
94
|
-
};
|
|
95
|
-
export default _default;
|
|
96
|
-
//# sourceMappingURL=prompt_optimization.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt_optimization.d.ts","sourceRoot":"","sources":["../../src/utils/prompt_optimization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,aAAa,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAevD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAa3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,MAAM,CActF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,MAAM,CAczF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,aAAa,CAW7F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAczD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA8BzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA6BtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,wBAA6B,GACpC,kBAAkB,CA6DpB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,wBAAwB;AAC3E,MAAM,GAAE,wBAA6B,GACpC,OAAO,CAAC,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuCjD;;;;;;;;;;;;;;;AAED,wBAaE"}
|