openai api rs
v5.2.3
A Biblioteca Rust Open Api Client fornece acesso conveniente à API OpenAI a partir de aplicativos de ferrugem.
Confira o doc.rs.
Cargo.toml
[ dependencies ]
openai-api-rs = " 5.2.3 " A biblioteca precisa ser configurada com a chave secreta da sua conta, disponível no site. Recomendamos configurá -lo como uma variável de ambiente. Aqui está um exemplo de inicialização da biblioteca com a chave da API carregada de uma variável de ambiente e criando uma conclusão:
$ export OPENAI_API_KEY=sk-xxxxxxx let api_key = env :: var ( "OPENAI_API_KEY" ) . unwrap ( ) . to_string ( ) ;
let client = OpenAIClient :: builder ( ) . with_api_key ( api_key ) . build ( ) ? ; let req = ChatCompletionRequest :: new (
GPT4_O . to_string ( ) ,
vec ! [ chat_completion:: ChatCompletionMessage {
role: chat_completion:: MessageRole ::user,
content: chat_completion:: Content :: Text ( String ::from ( "What is bitcoin?" ) ) ,
name: None ,
tool_calls: None ,
tool_call_id: None ,
} ] ,
) ; let result = client . chat_completion ( req ) ? ;
println ! ( "Content: {:?}" , result.choices [ 0 ] .message.content ) ;$ export OPENAI_API_BASE=https://api.openai.com/v1 use openai_api_rs :: v1 :: api :: OpenAIClient ;
use openai_api_rs :: v1 :: chat_completion :: { self , ChatCompletionRequest } ;
use openai_api_rs :: v1 :: common :: GPT4_O ;
use std :: env ;
# [ tokio :: main ]
async fn main ( ) -> Result < ( ) , Box < dyn std :: error :: Error > > {
let api_key = env :: var ( "OPENAI_API_KEY" ) . unwrap ( ) . to_string ( ) ;
let client = OpenAIClient :: builder ( ) . with_api_key ( api_key ) . build ( ) ? ;
let req = ChatCompletionRequest :: new (
GPT4_O . to_string ( ) ,
vec ! [ chat_completion:: ChatCompletionMessage {
role: chat_completion:: MessageRole ::user,
content: chat_completion:: Content :: Text ( String ::from ( "What is bitcoin?" ) ) ,
name: None ,
tool_calls: None ,
tool_call_id: None ,
} ] ,
) ;
let result = client . chat_completion ( req ) . await ? ;
println ! ( "Content: {:?}" , result.choices [ 0 ] .message.content ) ;
println ! ( "Response Headers: {:?}" , result.headers ) ;
Ok ( ( ) )
}Mais exemplos: exemplos
Confira a documentação completa da API para obter exemplos de todas as funções disponíveis.
Este projeto está licenciado sob licença do MIT.