Skip to main content

Not Diamond Python SDK

Project description

Getting started with Not Diamond

Not Diamond is an AI model router that automatically determines which LLM is best-suited to respond to any query, improving LLM output quality by combining multiple LLMs into a meta-model that learns when to call each LLM.

Key features

Installation

Python: Requires Python 3.10+. It’s recommended that you create and activate a virtualenv prior to installing the package. For this example, we'll be installing the optional additional create dependencies, which you can learn more about here.

pip install notdiamond[create]

Setting up

Create a .env file with your Not Diamond API key and the API keys of the models you want to route between:

NOTDIAMOND_API_KEY = "YOUR_NOTDIAMOND_API_KEY"
OPENAI_API_KEY = "YOUR_OPENAI_API_KEY"
ANTHROPIC_API_KEY = "YOUR_ANTHROPIC_API_KEY"

Sending your first Not Diamond API request

Create a new file in the same directory as your .env file and copy and run the code below (you can toggle between Python and TypeScript in the top left of the code block):

from notdiamond import NotDiamond

# Define the Not Diamond routing client
client = NotDiamond()

# The best LLM is determined by Not Diamond based on the messages and specified models
result, session_id, provider = client.chat.completions.create(
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Concisely explain merge sort."}  # Adjust as desired
    ],
    model=['openai/gpt-3.5-turbo', 'openai/gpt-4o', 'anthropic/claude-3-5-sonnet-20240620']
)

print("ND session ID: ", session_id)  # A unique ID of Not Diamond's recommendation
print("LLM called: ", provider.model)  # The LLM routed to
print("LLM output: ", result.content)  # The LLM response

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

notdiamond-0.3.6.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

notdiamond-0.3.6-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file notdiamond-0.3.6.tar.gz.

File metadata

  • Download URL: notdiamond-0.3.6.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for notdiamond-0.3.6.tar.gz
Algorithm Hash digest
SHA256 c0ab74c4f6af3dfe88f8c9f5ec1213fa8de7c522f4d3fd79b81206334ce03890
MD5 8cc04b88dd27e1ff91c0be8ae470e778
BLAKE2b-256 d1c8d1b5865aad7ffef6f92c005902ef245efb8a84e2ffb5b523a60b5ba8b50d

See more details on using hashes here.

File details

Details for the file notdiamond-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: notdiamond-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 29.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for notdiamond-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d3d2d11eecdfc7abe26323095fc11ad7de03d64e4f599a1030766023efd18b7a
MD5 24135830fe9488380d8471978a48970a
BLAKE2b-256 3aae9a5400b441d090216686b017a2437af1b3399d013a88e1ef3205fad46e56

See more details on using hashes here.

Supported by

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