Use this file to discover all available pages before exploring further.
This cookbook provides comprehensive examples for integrating Together AI with Maxim, covering simple chat completions, streaming requests, and async operations.
# Load environment variables from .env fileload_dotenv()# Get API keys from environmentTOGETHER_API_KEY = os.getenv('TOGETHER_API_KEY')MAXIM_API_KEY = os.getenv('MAXIM_API_KEY')MAXIM_LOG_REPO_ID = os.getenv('MAXIM_LOG_REPO_ID')# Instrument Together AI with Maximinstrument_together(Maxim().logger())
from together import Together# Create Together AI clientclient = Together(api_key=TOGETHER_API_KEY)# Make a simple chat completion requestresponse = client.chat.completions.create( model="meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", messages=[{"role": "user", "content": "What are some fun things to do in New York?"}],)print(response.choices[0].message.content)
# Create streaming requeststream = client.chat.completions.create( model="meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", messages=[{"role": "user", "content": "What are some fun things to do in New York?"}], stream=True,)# Process streaming responsefor chunk in stream: print(chunk.choices[0].delta.content or "", end="", flush=True)
import asynciofrom together import AsyncTogether# Create async clientasync_client = AsyncTogether(api_key=TOGETHER_API_KEY)# Define multiple messages to processmessages = [ "What are the top things to do in San Francisco?", "What country is Paris in?",]async def async_chat_completion(messages): """Process multiple chat completions concurrently.""" async_client = AsyncTogether(api_key=TOGETHER_API_KEY) # Create tasks for concurrent execution tasks = [ async_client.chat.completions.create( model="meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", messages=[{"role": "user", "content": message}], ) for message in messages ] # Execute all tasks concurrently responses = await asyncio.gather(*tasks) # Process responses for response in responses: print(response.choices[0].message.content)# Run async functionawait async_chat_completion(messages)
# Use different Together AI modelsmodels = [ "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo", "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo", "mistralai/Mixtral-8x7B-Instruct-v0.1"]for model in models: response = client.chat.completions.create( model=model, messages=[{"role": "user", "content": "Explain quantum computing in simple terms."}], max_tokens=150 ) print(f"\n{model}:") print(response.choices[0].message.content)
# Good for real-time applicationsstream = client.chat.completions.create(..., stream=True)# Good for batch processingresponse = client.chat.completions.create(...)
Use async operations for multiple concurrent requests:
# Good for multiple requeststasks = [async_client.chat.completions.create(...) for _ in range(5)]responses = await asyncio.gather(*tasks)
This cookbook provides a comprehensive foundation for integrating Together AI with Maxim. You can extend these examples with your own use cases and requirements.For more details, see the Maxim Python SDK documentation.