@@ -16,6 +16,7 @@ export default class AnthropicEngineExtension extends OAIEngineExtension {
1616 productName = 'Anthropic Inference Engine' ;
1717 description = 'This extension enables Anthropic chat completion API calls' ;
1818 version = '0.0.1' ;
19+ initalized = true ;
1920 apiKey ?: string ;
2021
2122 constructor (
@@ -39,42 +40,45 @@ export default class AnthropicEngineExtension extends OAIEngineExtension {
3940 this . apiKey = configs ?. apiKey ;
4041 }
4142
42- override async inference ( dto : any , headers : Record < string , string > ) : Promise < stream . Readable | any > {
43- headers [ 'x-api-key' ] = this . apiKey as string
44- headers [ 'Content-Type' ] = 'application/json'
45- headers [ 'anthropic-version' ] = '2023-06-01'
46- return super . inference ( dto , headers )
43+ override async inference (
44+ dto : any ,
45+ headers : Record < string , string > ,
46+ ) : Promise < stream . Readable | any > {
47+ headers [ 'x-api-key' ] = this . apiKey as string ;
48+ headers [ 'Content-Type' ] = 'application/json' ;
49+ headers [ 'anthropic-version' ] = '2023-06-01' ;
50+ return super . inference ( dto , headers ) ;
4751 }
4852
4953 transformPayload = ( data : any ) : any => {
5054 return _ . pick ( data , [ 'messages' , 'model' , 'stream' , 'max_tokens' ] ) ;
51- }
55+ } ;
5256
5357 transformResponse = ( data : any ) : string => {
5458 // handling stream response
5559 if ( typeof data === 'string' && data . trim ( ) . length === 0 ) {
56- return '' ;
60+ return '' ;
5761 }
5862 if ( typeof data === 'string' && data . startsWith ( 'event: ' ) ) {
59- return ''
63+ return '' ;
6064 }
6165 if ( typeof data === 'string' && data . startsWith ( 'data: ' ) ) {
6266 data = data . replace ( 'data: ' , '' ) ;
6367 const parsedData = JSON . parse ( data ) ;
6468 if ( parsedData . type !== 'content_block_delta' ) {
65- return ''
69+ return '' ;
6670 }
6771 const text = parsedData . delta ?. text ;
6872 //convert to have this format data.choices[0]?.delta?.content
6973 return JSON . stringify ( {
7074 choices : [
71- {
72- delta : {
73- content : text
74- }
75- }
76- ]
77- } )
75+ {
76+ delta : {
77+ content : text ,
78+ } ,
79+ } ,
80+ ] ,
81+ } ) ;
7882 }
7983 // non-stream response
8084 if ( data . content && data . content . length > 0 && data . content [ 0 ] . text ) {
@@ -88,8 +92,8 @@ export default class AnthropicEngineExtension extends OAIEngineExtension {
8892 ] ,
8993 } ) ;
9094 }
91-
95+
9296 console . error ( 'Invalid response format:' , data ) ;
9397 return '' ;
94- }
98+ } ;
9599}
0 commit comments