Skip to main content

A unified interface for multiple language model providers

Project description

LLM Nexus

LLM Nexus is a Python package that provides a unified interface for interacting with multiple Language Model providers, including OpenAI, Anthropic, and Google AI.

Features

  • Unified API for multiple LLM providers
  • Support for text completions and function calls
  • Easy integration with OpenAI, Anthropic, and Google AI models

Installation

You can install LLM Nexus using pip:

pip install llm-nexus

Usage

Here's a quick example of how to use LLM Nexus:

from llm_nexus import ModelProvider

provider = ModelProvider(openai_api_key="your-openai-key", anthropic_api_key="your-anthropic-key", googleai_api_key="your-googleai-key")

result = provider.completion(
    instructions="Return a rhyme.",
    user_prompt="Would a rose by any other name smell as sweet?",
    provider_name="openai",
    model_name="gpt-3.5-turbo"
)

print(result)
# Example response:  "Yes, a rose's fragrance can't be beat."

For function calls:

from llm_nexus import ModelProvider, Function, Argument, ParamType

provider = ModelProvider(openai_api_key="your-openai-key", anthropic_api_key="your-anthropic-key", googleai_api_key="your-googleai-key")

function = Function(
    name="underrated_historical_events",
    description="Name up to 3 underrated historical events based on the user's request",
    arguments=[
        Argument(name="event", param_type=ParamType.STRING, description="The name of the event."),
        Argument(name="year", param_type=ParamType.INTEGER, description="The year the event began."),
        Argument(name="reasoning", param_type=ParamType.STRING, description="A brief description of why you feel this event is underrated.")
    ],
)

result = provider.function_call(
    user_prompt="What are some underrated A.D. events in African history?",
    function=function,
    provider_name="openai",
    model_name="gpt-3.5-turbo",
    return_array=True
)

print(result)
# Example reponse: 
# {
#     "array": [
#         {
#             "event": "Kingdom of Aksum",
#             "year": 100,
#             "reasoning": "One of the most powerful early medieval empires in East Africa, yet not widely known or studied in history classes."
#         },
#         {
#             "event": "Mali Empire",
#             "year": 1235,
#             "reasoning": "A prosperous West African empire centered in Mali that controlled trade routes across the Sahara. Advanced cities and universities but its achievements are not always emphasized."
#         },
#         {
#             "event": "Great Zimbabwe",
#             "year": 1450,
#             "reasoning": "Sophisticated city and trade center indicating a highly organized society, but origins are still debated and its influence on the region could be discussed more."
#         }
#     ]
# }

Supported Python Versions

LLM Nexus supports Python 3.7 and above.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_nexus-0.2.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_nexus-0.2.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file llm_nexus-0.2.0.tar.gz.

File metadata

  • Download URL: llm_nexus-0.2.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for llm_nexus-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1902c57556f5c064715c6724af3cf809d7db49ca14c9c14e153860ba0b739619
MD5 8551427bc78c822c2272821cf38c67f1
BLAKE2b-256 5d737209a94aa002a37b5c81a5e1ff09b23b9da95d46a11de8d94aa2264d6a2f

See more details on using hashes here.

File details

Details for the file llm_nexus-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: llm_nexus-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for llm_nexus-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4fcd7a4833e037c2601868260caba8c5486828cec11fb26c1661c267b609767
MD5 b8b718abcd756afa7e886988d9c31bf1
BLAKE2b-256 6cfb6404aa38e862f137e8b93e1b4bd5fc55189a5f10ea9aa49d55ce6421cb24

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page