|
| 1 | +--- |
| 2 | +slug: echokit-30-days-day-9-chatgpt |
| 3 | +title: "Use OpenAI as Your EchoKit LLM Provider | The First 30 Days with EchoKit" |
| 4 | +tags: [echokit30days] |
| 5 | +--- |
| 6 | + |
| 7 | +**(And today, you’ll see how easy it is to use OpenAI as your LLM provider.)** |
| 8 | + |
| 9 | +Hey everyone, and welcome back! We've covered a *ton* of ground over the past two weeks in "The First 30 Days with EchoKit." Seriously, look how much we've accomplished: |
| 10 | + |
| 11 | + * [Getting a quick start with the pre-set EchoKit server](https://echokit.dev/docs/dev/echokit-30-days-day-1). |
| 12 | + * [Figuring out how to change your EchoKit's **welcome voice**](https://echokit.dev/docs/dev/echokit-30-days-day-5-welcome-voice). |
| 13 | + * [Customizing the **boot screen**](https://echokit.dev/docs/dev/echokit-30-days-day-4-bootscreen) |
| 14 | + * [Learning to run the EchoKit server **locally** with Docker](https://echokit.dev/docs/dev/echokit-30-days-day-2-docker) and [from the Rust source](https://echokit.dev/docs/dev/echokit-30-days-day-3-rust). |
| 15 | + * Swapping out ASR (Speech-to-Text) providers like a pro, moving between [Groq Whisper](https://echokit.dev/docs/dev/echokit-30-days-day-6-groq), [OpenAI Whisper](https://echokit.dev/docs/dev/echokit-30-days-day-7-openai), and [Local Whisper](https://echokit.dev/docs/dev/echokit-30-days-day-8-local-whisper). |
| 16 | + |
| 17 | +If you remember, everything inside EchoKit runs through that simple yet incredibly powerful pipeline: **ASR → LLM → TTS** so far. |
| 18 | + |
| 19 | +Each piece plays a crucial part in the voice AI loop: |
| 20 | + |
| 21 | + * **ASR (The Ears):** Converts your spoken words into text. |
| 22 | + * **LLM (The Brain):** Interprets that text, thinks about it, and decides what the perfect response should be. |
| 23 | + * **TTS (The Mouth):** Turns the final text answer back into speech. |
| 24 | + |
| 25 | +Last week, we were all about replacing Whisper and swapping out the "ears." For the next few days, we're putting the spotlight squarely on the **middle piece: the LLM.** |
| 26 | + |
| 27 | +And today, we’re starting with the most common and powerful choice out there—**OpenAI**! |
| 28 | + |
| 29 | +### ⭐ What Exactly Does the LLM Do in the EchoKit Server? (It's the Mastermind!) |
| 30 | + |
| 31 | +The LLM is, quite literally, the **mastermind of your entire setup**. It's the engine that: |
| 32 | + |
| 33 | + * **Instantly grasps** what the user actually wants. |
| 34 | + * **Processes** all the conversational history (context). |
| 35 | + * **Generates** those helpful, natural, and human-like responses. |
| 36 | + * **Controls** how your EchoKit behaves during a conversation. |
| 37 | + * And, yes, it calls the necessary MCP servers to get things done! |
| 38 | + |
| 39 | +EchoKit proudly **supports any provider that uses an OpenAI-compatible LLM API**. |
| 40 | + |
| 41 | +### Step 1 — Get Your Key Ready |
| 42 | + |
| 43 | +Open up your trusted `config.toml` file and find the `[llm]` section. Replace it with this block: |
| 44 | + |
| 45 | +```toml |
| 46 | +[llm] |
| 47 | +llm_chat_url = "https://api.openai.com/v1/chat/completions" |
| 48 | +api_key = "YOUR_OPENAI_KEY" # Don't forget to replace this! |
| 49 | +model = "gpt-5-mini-2025-08-07" # Choose your favorite model here (e.g., gpt-3.5-turbo) |
| 50 | +history = 5 |
| 51 | +``` |
| 52 | + |
| 53 | +Here's the quick rundown on those settings, just so you know what you're tuning: |
| 54 | + |
| 55 | + * `[llm]`: We're configuring the Large Language Model section. |
| 56 | + * `llm_chat_url`: OpenAI’s chat completions endpoint. |
| 57 | + * `api_key`: Get your key from the [OpenAI API platform](https://platform.openai.com/docs/overview). |
| 58 | + * `model`: Which OpenAI model should power your EchoKit's thoughts? Up to you! |
| 59 | + * `history`: How many previous turns of the conversation should your EchoKit remember for context? |
| 60 | + |
| 61 | +### Step 2 — Time for a Quick Reboot! |
| 62 | + |
| 63 | +Whether you’re running your EchoKit server via Docker or from the Rust code, **go ahead and restart it right now.** That’s it! You're completely done with the server configuration. Told you it was easy! |
| 64 | + |
| 65 | +### Step 3 — Connect the New Brain to Your Device |
| 66 | + |
| 67 | +The grand finale! Time to link up your physical EchoKit device to the server with its shiny new OpenAI brain: |
| 68 | + |
| 69 | +1. Head over to [https://echokit.dev/setup/](https://echokit.dev/setup/) and reconnect the server if you need to. |
| 70 | +2. **Pro Tip:** If you only changed your LLM configuration and nothing else (URL, WiFi), you can just hit the **RST button** on your EchoKit device. It will restart and sync the new settings instantly\! |
| 71 | +3. If your server URL or WiFi setup changed, you'll need to reconfigure them through the setup page, just like you did on [Day 1](https://echokit.dev/docs/dev/echokit-30-days-day-1). |
| 72 | + |
| 73 | +Next, press that K0 button and start speaking. Every clever thing your EchoKit says back to you is now being powered by OpenAI! |
| 74 | + |
| 75 | +--- |
| 76 | + |
| 77 | +If you want to share your experience or see what others are building with EchoKit + OpenAI: |
| 78 | + |
| 79 | +* Join the **[EchoKit Discord](https://discord.gg/Fwe3zsT5g3)** |
| 80 | +* Or share your latency tests, setups, and experiments — we love seeing them |
| 81 | + |
| 82 | +Want to get your own EchoKit device? |
| 83 | + |
| 84 | +* [EchoKit Box](https://echokit.dev/echokit_box.html) |
| 85 | +* [EchoKit DIY Kit](https://echokit.dev/echokit_diy.html) |
| 86 | + |
| 87 | + |
| 88 | + |
| 89 | + |
| 90 | + |
0 commit comments