now a py package

This commit is contained in:
ishaan-jaff 2023-07-26 17:36:28 -07:00
parent 2b5df2dd52
commit 1672392e03
12 changed files with 147 additions and 0 deletions

BIN
dist/litellm-0.1.0-py3-none-any.whl vendored Normal file

Binary file not shown.

BIN
dist/litellm-0.1.0.tar.gz vendored Normal file

Binary file not shown.

12
litellm.egg-info/PKG-INFO Normal file
View file

@ -0,0 +1,12 @@
Metadata-Version: 2.1
Name: litellm
Version: 0.1.0
Summary: Library to easily interface with LLM API providers
Home-page: UNKNOWN
Author: Ishaan Jaffer
License: UNKNOWN
Platform: UNKNOWN
License-File: LICENSE
UNKNOWN

View file

@ -0,0 +1,10 @@
LICENSE
README.md
setup.py
litellm/__init__.py
litellm/main.py
litellm.egg-info/PKG-INFO
litellm.egg-info/SOURCES.txt
litellm.egg-info/dependency_links.txt
litellm.egg-info/requires.txt
litellm.egg-info/top_level.txt

View file

@ -0,0 +1 @@

View file

@ -0,0 +1,3 @@
openai
cohere
os

View file

@ -0,0 +1 @@
litellm

1
litellm/__init__.py Normal file
View file

@ -0,0 +1 @@
from .main import * # Import all the symbols from main.py

103
litellm/main.py Normal file
View file

@ -0,0 +1,103 @@
import os, openai, cohere
####### COMPLETION MODELS ###################
open_ai_chat_completion_models = [
'gpt-3.5-turbo',
'gpt-4'
]
open_ai_text_completion_models = [
'text-davinci-003'
]
cohere_models = [
'command-nightly',
]
####### EMBEDDING MODELS ###################
open_ai_embedding_models = [
'text-embedding-ada-002'
]
#############################################
####### COMPLETION ENDPOINTS ################
#############################################
def completion(model, messages, azure=False):
if azure == True:
# azure configs
openai.api_type = "azure"
openai.api_base = os.environ.get("AZURE_API_BASE")
openai.api_version = os.environ.get("AZURE_API_VERSION")
openai.api_key = os.environ.get("AZURE_API_KEY")
response = openai.ChatCompletion.create(
engine=model,
messages = messages
)
elif model in cohere_models:
cohere_key = os.environ.get("COHERE_API_KEY")
co = cohere.Client(cohere_key)
prompt = " ".join([message["content"] for message in messages])
response = co.generate(
model=model,
prompt = prompt
)
new_response = {
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": response[0],
"role": "assistant"
}
}
],
}
response = new_response
elif model in open_ai_chat_completion_models:
openai.api_type = "openai"
openai.api_base = "https://api.openai.com/v1"
openai.api_version = None
openai.api_key = os.environ.get("OPENAI_API_KEY")
response = openai.ChatCompletion.create(
model=model,
messages = messages
)
elif model in open_ai_text_completion_models:
openai.api_type = "openai"
openai.api_base = "https://api.openai.com/v1"
openai.api_version = None
openai.api_key = os.environ.get("OPENAI_API_KEY")
prompt = " ".join([message["content"] for message in messages])
response = openai.Completion.create(
model=model,
prompt = prompt
)
return response
### EMBEDDING ENDPOINTS ####################
def embedding(model, input=[], azure=False):
if azure == True:
# azure configs
openai.api_type = "azure"
openai.api_base = os.environ.get("AZURE_API_BASE")
openai.api_version = os.environ.get("AZURE_API_VERSION")
openai.api_key = os.environ.get("AZURE_API_KEY")
response = openai.Embedding.create(input=input, engine=model)
elif model in open_ai_embedding_models:
openai.api_type = "openai"
openai.api_base = "https://api.openai.com/v1"
openai.api_version = None
openai.api_key = os.environ.get("OPENAI_API_KEY")
response = openai.Embedding.create(input=input, model=model)
return response
#############################################
#############################################

16
setup.py Normal file
View file

@ -0,0 +1,16 @@
from setuptools import setup, find_packages
setup(
name='litellm',
version='0.1.00',
description='Library to easily interface with LLM API providers',
author='Ishaan Jaffer',
packages=[
'litellm'
],
install_requires=[
'openai',
'cohere',
'os'
],
)