euron-qa

SKILL.md

Euron Bootcamp Q&A - Instant Answer Reference

Goal

Instantly answer any Euron Gen AI Certification Bootcamp doubt by looking up the right code snippet, config, or troubleshooting step from this reference.

Quick Context

  • Bootcamp: Euron Gen AI Certification Bootcamp 2.0 (by Sudhanshu sir)
  • Portal: https://euron.one/euri
  • API Base URL: https://api.euron.one/api/v1/euri
  • Auth: Authorization: Bearer <EURI_API_KEY>
  • Daily limit: 200,000 tokens (input + output), resets midnight UTC
  • Key principle: Euri is OpenAI-compatible. Anywhere you use ChatOpenAI(...) or OpenAI(...), just add base_url pointing to Euri.

COMMON QUESTIONS & ANSWERS

Q1: "How do I use Euri with LangChain?"

Answer (copy-paste ready):

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-4.1-nano",  # or gemini-2.5-flash, any Euri model
    api_key="your-euri-api-key",
    base_url="https://api.euron.one/api/v1/euri"
)

response = llm.invoke("Hello!")
print(response.content)

That's it. Everywhere Sudhanshu sir uses ChatOpenAI(...), just add the base_url parameter pointing to Euri. Everything else (agents, chains, tools) stays exactly the same.


Q2: "How do I use Euri with OpenAI Python SDK?"

from openai import OpenAI

client = OpenAI(
    api_key="your-euri-api-key",
    base_url="https://api.euron.one/api/v1/euri"
)

response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

Q3: "How do I use the Euri Python SDK (euriai)?"

pip install euriai
from euriai import EuriaiClient

client = EuriaiClient(
    api_key="your-euri-api-key",
    model="gemini-2.5-flash"
)

response = client.generate_completion(
    prompt="What is AI?",
    temperature=0.7,
    max_tokens=500
)
print(response["choices"][0]["message"]["content"])

Q4: "How do I use Euri with LangChain's euriai integration?"

pip install euriai[langchain]
from euriai.langchain import EuriaiChatModel

chat = EuriaiChatModel(api_key="your-key", model="gemini-2.5-flash")
result = chat.invoke("Explain Docker")
print(result.content)

Q5: "How do I use Euri with raw HTTP / requests?"

import requests

response = requests.post(
    "https://api.euron.one/api/v1/euri/chat/completions",
    headers={
        "Authorization": "Bearer your-euri-api-key",
        "Content-Type": "application/json",
    },
    json={
        "model": "gemini-2.5-flash",
        "messages": [{"role": "user", "content": "Hello!"}],
        "temperature": 0.7,
        "max_tokens": 500,
    },
)

data = response.json()
print(data["choices"][0]["message"]["content"])

Q6: "How do I use Euri with curl?"

curl -X POST https://api.euron.one/api/v1/euri/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Hello!"}],
    "model": "gemini-2.5-flash"
  }'

Q7: "How do I use Euri with TypeScript / Node.js?"

const response = await fetch("https://api.euron.one/api/v1/euri/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.EURI_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "gemini-2.5-flash",
    messages: [{ role: "user", content: "Hello!" }],
  }),
});

const data = await response.json();
console.log(data.choices[0].message.content);

Q8: "How do I use Euri in n8n?"

Option A — OpenAI Credential (easiest):

  1. Create "OpenAI" credential in n8n
  2. Set API Key: your Euri API key
  3. Set Base URL: https://api.euron.one/api/v1/euri
  4. Use any OpenAI node — it routes through Euri automatically

Option B — HTTP Request Node:

  • Method: POST
  • URL: https://api.euron.one/api/v1/euri/chat/completions
  • Headers: Authorization: Bearer {{ $env.EURI_API_KEY }}
  • Body JSON:
{
  "model": "gemini-2.5-flash",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "{{ $json.userMessage }}"}
  ],
  "temperature": 0.7,
  "max_tokens": 1000
}
  • Extract response: {{ $json.choices[0].message.content }}

Q9: "How do I generate embeddings with Euri?"

from openai import OpenAI

client = OpenAI(
    api_key="your-euri-api-key",
    base_url="https://api.euron.one/api/v1/euri"
)

response = client.embeddings.create(
    model="gemini-embedding-001",  # or text-embedding-3-small
    input="Your text here"
)
print(response.data[0].embedding[:5])  # First 5 dimensions

Available embedding models:

Model ID Dimensions
Gemini Embedding 001 gemini-embedding-001 1536
Text Embedding 3 Small text-embedding-3-small 1536
M2 BERT 80M 32K togethercomputer/m2-bert-80M-32k-retrieval 1536

Q10: "How do I generate images with Euri?"

from openai import OpenAI

client = OpenAI(
    api_key="your-euri-api-key",
    base_url="https://api.euron.one/api/v1/euri"
)

response = client.images.generate(
    model="gemini-3-pro-image-preview",
    prompt="A futuristic city at sunset, cyberpunk style",
    n=1
)
print(response.data[0].url)

Q11: "Which model should I use?"

Use Case Model ID Why
General purpose gemini-2.5-flash Best balance of speed + quality
Complex reasoning gemini-2.5-pro 2M context, best reasoning
Fast & cheap gpt-4.1-nano Cheapest, ultra-fast
Also fast & cheap gpt-5-nano-2025-08-07 Newer nano model
Code generation gpt-4.1-mini or gemini-2.5-flash Good at code
Web search groq/compound Built-in web search
Embeddings (RAG) gemini-embedding-001 Best quality embeddings
Image generation gemini-3-pro-image-preview Only image model on Euri

Full model list (24 models):

Text Models (20):

  • qwen/qwen3-32b (Alibaba, 128K)
  • gemini-2.0-flash (Google, 1M)
  • gemini-2.5-pro (Google, 2M)
  • gemini-2.5-flash (Google, 1M)
  • gemini-2.5-pro-preview-06-05 (Google, 2M)
  • gemini-2.5-flash-preview-05-20 (Google, 1M)
  • gemini-2.5-flash-lite-preview-06-17 (Google, 128K)
  • groq/compound (Groq, 131K)
  • groq/compound-mini (Groq, 131K)
  • llama-4-scout-17b-16e-instruct (Meta, 128K)
  • llama-4-maverick-17b-128e-instruct (Meta, 128K)
  • llama-3.3-70b-versatile (Meta, 128K)
  • llama-3.1-8b-instant (Meta, 128K)
  • llama-guard-4-12b (Meta, 128K)
  • gpt-5-nano-2025-08-07 (OpenAI, 128K)
  • gpt-5-mini-2025-08-07 (OpenAI, 128K)
  • gpt-4.1-nano (OpenAI, 128K)
  • gpt-4.1-mini (OpenAI, 128K)
  • openai/gpt-oss-20b (OpenAI, 128K)
  • openai/gpt-oss-120b (OpenAI, 128K)

Q12: "I'm getting an error / API not working"

Common fixes:

  1. 401 Unauthorized — API key is wrong or missing

    • Get your key from https://euron.one/euri
    • Header must be: Authorization: Bearer YOUR_KEY (not Api-Key or X-API-Key)
  2. Model not found — Wrong model ID

    • Use exact IDs from the model list above (case-sensitive)
    • Common mistake: gpt-4.1 instead of gpt-4.1-nano
  3. Rate limit / 429 — Hit 200K daily token limit

    • Wait until midnight UTC for reset
    • Use shorter prompts and lower max_tokens
    • Switch to cheaper models (gpt-4.1-nano)
  4. Response content is array instead of string

    • Euri sometimes returns content as [{type:"text", text:"..."}] instead of a plain string
    • Handle both: content if isinstance(content, str) else content[0]["text"]
  5. LangChain version issues

    • Use langchain_openai (not langchain.chat_models)
    • pip install langchain-openai (separate package)
  6. "Connection refused" or timeout

    • Check internet connection
    • Verify base URL: https://api.euron.one/api/v1/euri (no trailing slash)

Q13: "How do I build agents/chains with Euri + LangChain?"

Same as normal LangChain — just use the Euri LLM:

from langchain_openai import ChatOpenAI
from langchain.agents import create_react_agent, AgentExecutor
from langchain.tools import Tool

# Euri-powered LLM
llm = ChatOpenAI(
    model="gemini-2.5-flash",
    api_key="your-euri-api-key",
    base_url="https://api.euron.one/api/v1/euri"
)

# Use llm in any chain, agent, or tool — works identically to OpenAI

Key insight: Euri is a drop-in replacement. ANY LangChain tutorial or Sudhanshu sir's code works — just add the base_url parameter.


Q14: "How do I set up the MCP servers from class?"

Full guide: See Angelina AI System/Euron/MAIL-MCP-SETUP.md

Quick setup pattern for any MCP server:

cd "Gen AI 2.O/MCP/<server-folder>"
python3 -m venv venv
source venv/bin/activate       # macOS/Linux
# venv\Scripts\activate        # Windows
pip install -r requirements.txt
python authenticate.py          # For Google services only

8 MCP servers available:

  1. Gmail (4 tools) — send, read, search, mark seen
  2. Google Calendar (5 tools) — list, create, search, delete events
  3. Google Sheets (5 tools) — read, write, append, create, list
  4. Supabase (6 tools) — query, insert, update, delete, SQL
  5. MongoDB (7 tools) — query, insert, update, delete, aggregate
  6. AWS S3 (6 tools) — list, upload, download, delete, presigned URLs
  7. Azure Blob (7 tools) — list, upload, download, delete, SAS URLs
  8. Social Media (10 tools) — YouTube + Instagram + Facebook

Claude Desktop config location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Cursor config location:

  • ~/.cursor/mcp.json (macOS/Linux)
  • %USERPROFILE%\.cursor\mcp.json (Windows)

Common MCP errors:

  • "MCP Server disconnected" → Make sure script has mcp.run(transport="stdio"), don't use -m mcp run
  • "Auth token missing" → Run python authenticate.py again
  • "Failed to refresh token" → Delete token.json, re-authenticate
  • "Google hasn't verified this app" → Click Advanced → Go to App (safe, it's your own app)

Q15: "How do I use Euri with CrewAI / AutoGen / other frameworks?"

Same pattern — Euri is OpenAI-compatible:

CrewAI:

from crewai import LLM

llm = LLM(
    model="openai/gemini-2.5-flash",
    api_key="your-euri-key",
    base_url="https://api.euron.one/api/v1/euri"
)

AutoGen:

config_list = [{
    "model": "gemini-2.5-flash",
    "api_key": "your-euri-key",
    "base_url": "https://api.euron.one/api/v1/euri"
}]

LiteLLM:

import litellm
response = litellm.completion(
    model="openai/gemini-2.5-flash",
    api_key="your-euri-key",
    api_base="https://api.euron.one/api/v1/euri",
    messages=[{"role": "user", "content": "Hello!"}]
)

Rule of thumb: Any framework that supports custom base_url or OpenAI-compatible endpoints works with Euri. Just swap the base URL.


Q16: "How many tokens do I get? What's the limit?"

  • 200,000 tokens per day (input + output combined)
  • Resets at midnight UTC
  • That's roughly 150,000 words or 300+ pages of text per day
  • For practicals, this is more than enough — you won't hit limits during class
  • Tip: Use gpt-4.1-nano or gemini-2.5-flash-lite for testing to conserve tokens

Q17: "Where do I get my API key?"

  1. Go to https://euron.one/euri
  2. Sign in with your Euron account
  3. Copy your API key from the dashboard
  4. Use it as api_key in code or Authorization: Bearer <key> in HTTP headers

Q18: "Can I use Euri for free?"

Yes! Euri gives 200,000 free tokens per day. No credit card needed. Access to all 24 models including GPT-4.1, Gemini 2.5, Llama 4, and more.


RESPONSE TEMPLATE

When answering bootcamp doubts, use this format:

Hey [Name]! [Short explanation of the fix]

[Code snippet — copy-paste ready]

[One-line explanation of what changed]

Good free models to use:
- gpt-4.1-nano — fast & cheap
- gemini-2.5-flash — best general purpose
- gemini-2.5-pro — smartest

You get 200K free tokens/day so you won't hit limits during practicals.

FILES REFERENCE

For deeper answers, check these files:

  • Full API docs: Angelina AI System/Euron/README.md
  • TypeScript client: Angelina AI System/Euron/euri-client.ts
  • Model definitions: Angelina AI System/Euron/euri-models.ts
  • Python examples: Angelina AI System/Euron/examples/python-sdk.py
  • TypeScript examples: Angelina AI System/Euron/examples/basic-chat.ts
  • n8n integration: Angelina AI System/Euron/examples/n8n-http-request.md
  • MCP setup guide: Angelina AI System/Euron/MAIL-MCP-SETUP.md
  • Model Arena: Angelina AI System/Euron/model-arena/arena.html
  • API Tester: Angelina AI System/Euron/euri-tester/index.html

Schema

Inputs

Name Type Required Description
question string Yes Bootcamp student question about Euri API, MCP, models, or errors

Outputs

Name Type Description
answer string Copy-paste ready answer with code snippets

Cost

Free (reference lookup only)

Weekly Installs
5
GitHub Stars
5
First Seen
8 days ago
Installed on
opencode5
gemini-cli5
claude-code5
github-copilot5
codex5
amp5