#![ allow( clippy::missing_inline_in_public_items ) ]
mod inc;
#[ cfg( feature = "integration" ) ]
use api_huggingface::
{
Client,
environment::HuggingFaceEnvironmentImpl,
components::
{
input::InferenceParameters,
models::Models,
},
secret::Secret,
};
#[ cfg( feature = "integration" ) ]
fn create_integration_client() -> Client< HuggingFaceEnvironmentImpl >
{
let api_key = crate::inc::get_api_key_for_integration();
let secret = Secret::new( api_key );
let env = HuggingFaceEnvironmentImpl::build( secret, None )
.expect( "Failed to build environment" );
Client::build( env ).expect( "Failed to create client" )
}
#[ cfg( feature = "integration" ) ]
#[ tokio::test ]
async fn test_inference_provider_reachable()
{
let client = create_integration_client();
let model = Models::llama_3_3_70b_instruct();
let response = client
.inference()
.create_with_parameters(
"Reply with exactly one word: hello",
&model,
InferenceParameters::new()
.with_max_new_tokens( 10 )
.with_temperature( 0.1 ),
)
.await;
match response
{
Ok( r ) =>
{
let text = r.extract_text_or_default( "" );
assert!( !text.is_empty(), "Inference provider returned empty response" );
},
Err( e ) => panic!( "Inference provider request failed: {e}" ),
}
}