Introdução geral
O LiteLLM é um SDK Python e um servidor proxy desenvolvido pela BerriAI para simplificar e unificar a invocação e o gerenciamento de várias APIs de modelo de linguagem grande (LLM). Ele é compatível com mais de 100 APIs de modelos grandes, incluindo OpenAI, HuggingFace, Azure etc., e as unifica no formato OpenAI, o que facilita para os desenvolvedores alternar e gerenciar entre diferentes serviços de IA. Ele também fornece uma imagem estável do Docker e um guia de migração detalhado. O LiteLLM permite que os usuários chamem mais de 100 APIs LLM no formato OpenAI por meio de um servidor proxy e do Python SDK, o que melhora muito a eficiência e a flexibilidade do desenvolvimento.
Lista de funções
- Suporte a várias plataformasSuporte a vários provedores de LLM, como OpenAI, Cohere, Anthropic e outros. Oferece suporte a mais de 100 chamadas de API de modelo grande.
- versão estávelFornecimento de imagens estáveis do Docker que foram testadas em carga por 12 horas. Suporta a definição de limites de orçamento e frequência de solicitação.
- servidor proxyChamada unificada de várias APIs do LLM por meio de um servidor proxy, conversão unificada do formato da API para o formato OpenAI.
- SDK do PythonSDK Python: Um SDK Python é fornecido para simplificar o processo de desenvolvimento.
- resposta de streamingSuporte a respostas de modelos de retorno de streaming para aprimorar a experiência do usuário.
- função de retorno de chamadaSuporte a vários retornos de chamada para facilitar o registro e o monitoramento.
Usando a Ajuda
Instalação e configuração
- Instalando o DockerVerifique se o Docker está instalado em seu sistema.
- Puxando espelhos: Uso
docker pull
obtém uma imagem estável do LiteLLM. - Início do servidor proxy::
cd litellm echo 'LITELLM_MASTER_KEY="sk-1234"' > .env echo 'LITELLM_SALT_KEY="sk-1234"' > .env fonte .env poetry run pytest .
- Configuração do clienteConfigure o endereço do servidor proxy e a chave de API no código.
importar openai cliente = openai.OpenAI(api_key="your_api_key", base_url="http://0.0.0.0:4000") response = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello, how are you?"}])) print(response)
Funções de uso
- modelo de invocação: através de
model=/
Chamada de modelos de diferentes fornecedores. - resposta de streaming: Configurações
stream=True
Obter a resposta de streaming.response = await acompletion(model="gpt-3.5-turbo", messages=messages, stream=True) for part in response. print(part.choices.delta.content or "")
- Definição de retornos de chamadaConfigure funções de retorno de chamada para registrar entradas e saídas.
litellm.success_callback = ["lunary", "langfuse", "athina", "helicone"]