From 0a5504744c23fa8783821b026fc6d36243eb14f8 Mon Sep 17 00:00:00 2001 From: LUIS NOVO Date: Tue, 10 Jun 2025 11:51:59 -0300 Subject: [PATCH] docs: add model guide --- README.md | 27 ++++++++++++++++++++++++-- docs/models.md | 51 ++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 68 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index ec79165..2b1c8f9 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,8 @@ Learn more about our project at [https://www.open-notebook.ai](https://www.open- Go to the [Setup Guide](docs/SETUP.md) to learn how to set up the tool in details. +📚 **Need help choosing AI models?** Check out our [Model Selection Guide](https://github.com/lfnovo/open-notebook/blob/main/docs/models.md) for recommended combinations and provider comparisons. + You don't need to clone this repo if you just want to use the app without building from source! Take a look at the [Open Notebook Boilerplate](https://github.com/lfnovo/open-notebook-boilerplate) repo with a sample of how to set it up for maximum feature usability. @@ -166,6 +168,27 @@ Then run the Streamlit application: uv run --env-file .env streamlit run app_home.py ``` +## Provider Support Matrix + +Thanks to the [Esperanto](https://github.com/lfnovo/esperanto) library, we support this providers out of the box! + +| Provider | LLM Support | Embedding Support | Speech-to-Text | Text-to-Speech | +|--------------|-------------|------------------|----------------|----------------| +| OpenAI | ✅ | ✅ | ✅ | ✅ | +| Anthropic | ✅ | ❌ | ❌ | ❌ | +| Groq | ✅ | ❌ | ✅ | ❌ | +| Google (GenAI) | ✅ | ✅ | ❌ | ✅ | +| Vertex AI | ✅ | ✅ | ❌ | ✅ | +| Ollama | ✅ | ✅ | ❌ | ❌ | +| Perplexity | ✅ | ❌ | ❌ | ❌ | +| ElevenLabs | ❌ | ❌ | ✅ | ✅ | +| Azure OpenAI | ✅ | ❌ | ❌ | ❌ | +| Mistral | ✅ | ✅ | ❌ | ❌ | +| DeepSeek | ✅ | ❌ | ❌ | ❌ | +| Voyage | ❌ | ✅ | ❌ | ❌ | +| xAI | ✅ | ❌ | ❌ | ❌ | +| OpenRouter | ✅ | ❌ | ❌ | ❌ | + ### Common Issues and Solutions If you encounter a port already in use error: @@ -206,7 +229,7 @@ Go to the [Usage](docs/USAGE.md) page to learn how to use all features. ## Features - **Multi-Notebook Support**: Organize your research across multiple notebooks effortlessly. -- **Multi-model support**: Open AI, Anthropic, Gemini, Vertex AI, Open Router, X.AI, Groq,Ollama. +- **Multi-model support**: Open AI, Anthropic, Gemini, Vertex AI, Open Router, X.AI, Groq, Ollama. ([Model Selection Guide](https://github.com/lfnovo/open-notebook/blob/main/docs/models.md)) - **Podcast Generator**: Automatically convert your notes into a podcast format. - **Broad Content Integration**: Works with links, PDFs, EPUB, Office, TXT, Markdown files, YouTube videos, Audio files, Video files and pasted text. - **Content Transformation**: Powerful customizable actions to summarize, extract insights, and more. @@ -226,7 +249,7 @@ Go to the [Usage](docs/USAGE.md) page to learn how to use all features. Three intuitive columns to streamline your work: 1. **Sources**: Manage all research materials. -2. **Notes**: Create or AI-generate notes. +2. **Notes**: Create or AI-generated notes. 3. **Chat**: Chat with the AI, leveraging your content. ### ⚙️ Context Configuration diff --git a/docs/models.md b/docs/models.md index fff4c13..beeccbb 100644 --- a/docs/models.md +++ b/docs/models.md @@ -145,7 +145,7 @@ Great for getting started or keeping costs low - **Tools**: `qwen3` (Ollama) - Handles basic tool calling - **Transformations**: `gemma3` (Ollama) - Free and fast - **Embedding**: `mxbai-embed-large` (Ollama) - Free, high quality -- **TTS**: `tts-1` (OpenAI) - Reasonable cost +- **TTS**: `gpt-4o-mini-tts` (OpenAI) - Reasonable cost - **STT**: `whisper-1` (OpenAI) - Best value ### 🚀 High Performance (Premium) @@ -164,14 +164,49 @@ Simplify billing and setup with one provider - **Tools**: `gpt-4o` - Complex operations - **Transformations**: `gpt-4o-mini` - Cost-effective processing - **Embedding**: `text-embedding-3-small` - Solid performance -- **TTS**: `tts-1` - Good enough quality +- **TTS**: `gpt-4o-mini-tts` - Great quality - **STT**: `whisper-1` - Industry standard -## Getting Started +## Setting up Models -1. **New users**: Start with the "Budget-Friendly" combination -2. **Want convenience**: Use the "Single Provider (OpenAI)" setup -3. **Need quality**: Go with "Best Value" for optimal balance -4. **Budget isn't a concern**: Choose "High Performance" +Here are the environment variables that you need to set up for each provider: -Remember: You can always start simple and upgrade specific models as your needs grow! \ No newline at end of file +| Provider | Environment Variables | +|----------|----------------------| +| Mistral | `MISTRAL_API_KEY` | +| Deepseek | `DEEPSEEK_API_KEY` | +| OpenAI | `OPENAI_API_KEY` | +| Google (Gemini) | `GEMINI_API_KEY` | +| X.AI | `XAI_API_KEY` | +| ElevenLabs | `ELEVENLABS_API_KEY` | +| Anthropic | `ANTHROPIC_API_KEY` | +| Ollama | `OLLAMA_BASE_URL` | +| Azure OpenAI | `AZURE_OPENAI_API_KEY`, `AZURE_OPENAI_API_VERSION`, `AZURE_OPENAI_ENDPOINT`, `AZURE_OPENAI_DEPLOYMENT_NAME` | +| Groq | `GROQ_API_KEY` | +| Vertex AI | `VERTEX_PROJECT`, `GOOGLE_APPLICATION_CREDENTIALS`, `VERTEX_LOCATION` | + +## Tips to use Text to Speech + +### OpenAI +To use the OpenAI provider for audio: +1. Use "gpt-4o-mini-tts" as the audio model name +2. pass the following Environment Variables + - OPENAI_API_KEY=your-openai-api-key + +### Gemini +To use the Gemini provider for audio: +1. Use "default" as the audio model name (since vertex does not require a model name) +2. pass the following Environment Variables + - GEMINI_API_KEY=gemini-2.5-flash-preview-tts + +### Google Cloud / Vertex (previously supported as Google) + +**If you were using this before, we recommend moving to GEMINI for better quality, price and ease of configuration.** + +To use the Google Cloud (Vertex) provider for audio: +1. Use "default" as the audio model name (since vertex does not require a model name) +2. pass the following Environment Variables + - VERTEX_PROJECT=your-google-cloud-project-name + - GOOGLE_APPLICATION_CREDENTIALS=./google-credentials.json + - VERTEX_LOCATION=your-google-cloud-project-location +3. Setup the correct permissions in the [Google Cloud Console](https://github.com/souzatharsis/podcastfy/blob/main/usage/config.md) \ No newline at end of file