OpenAI integration

If you already have a project that uses OpenAI, integrating Not Diamond is only a few line changes.

Installation

Requires Python 3.10+

pip install notdiamond[openai]
npm install notdiamond dotenv

Updating your existing code

- from openai import OpenAI + from notdiamond.toolkit.openai import OpenAI - client = OpenAI(api_key="OPENAI_API_KEY") + client = OpenAI() chat_completion = client.chat.completions.create( messages=[ {"role": "system", "content": "You are a world class programmer."}, {"role": "user", "content": "Write a merge sort in Python"}, ], - model="gpt-4", + model=["openai/gpt-4o", "openai/gpt-4o-mini", "openai/gpt-4-turbo-2024-04-09"] ) print(chat_completion.choices[0].message.content)
- import OpenAI from "openai"; + import { NotDiamond } from 'notdiamond'; + require('dotenv').config() - const openai = new OpenAI(); + const notDiamond = new NotDiamond({apiKey: process.env.NOTDIAMOND_API_KEY}); async function main() { - const completion = await openai.chat.completions.create({ + const result = await notDiamond.modelSelect({ messages: [ { role: "system", content: "You are a helpful assistant." }, { role: "user", content: "Write a merge sort in Python" } ], - model: "gpt-3.5-turbo", + llmProviders: [ + { provider: 'openai', model: 'gpt-4o' }, + { provider: 'openai', model: 'gpt-3.5-turbo' }, + { provider: 'anthropic', model: 'claude-3-5-sonnet-20240620' }, + ], }); - console.log(completion.choices[0].message.content); + console.log(result.content); } main();

📘

API keys

You can also set API keys in a .env file.


Did this page help you?