Предварительные требования
- API-ключ MegaLLM (Получите здесь)
- Python 3.7+ или Node.js 14+ установлены
- Базовые знания программирования
Шаг 1: Создайте проект
# Создайте директорию
mkdir my-first-ai-app
cd my-first-ai-app
# Создайте виртуальное окружение
python -m venv venv
source venv/bin/activate # На Windows: venv\Scripts\activate
# Установите зависимости
pip install openai python-dotenv
# Создайте директорию
mkdir my-first-ai-app
cd my-first-ai-app
# Инициализируйте проект
npm init -y
# Установите зависимости
npm install openai dotenv
Шаг 2: Сохраните API-ключ
Создайте файл .env:
MEGALLM_API_KEY=your-api-key-here
Добавьте .env в .gitignore, чтобы не коммитить ваш API-ключ!
Шаг 3: Базовый запрос
Создайте app.py:import os
from dotenv import load_dotenv
from openai import OpenAI
# Загрузите переменные окружения
load_dotenv()
# Инициализируйте клиент
client = OpenAI(
base_url="https://ai.megallm.io/v1",
api_key=os.getenv("MEGALLM_API_KEY")
)
# Сделайте запрос
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "user", "content": "What is MegaLLM?"}
]
)
# Выведите ответ
print(response.choices[0].message.content)
Запустите: Создайте app.js:import OpenAI from 'openai';
import dotenv from 'dotenv';
// Загрузите переменные окружения
dotenv.config();
// Инициализируйте клиент
const client = new OpenAI({
baseURL: 'https://ai.megallm.io/v1',
apiKey: process.env.MEGALLM_API_KEY
});
// Сделайте запрос
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: [
{ role: 'user', content: 'What is MegaLLM?' }
]
});
// Выведите ответ
console.log(response.choices[0].message.content);
Обновите package.json:Запустите:
Шаг 4: Добавьте контекст разговора
Давайте сделаем его разговорным:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(
base_url="https://ai.megallm.io/v1",
api_key=os.getenv("MEGALLM_API_KEY")
)
# История разговора
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is Python?"}
]
# Первый ответ
response = client.chat.completions.create(
model="gpt-4",
messages=messages
)
# Добавьте в историю
assistant_message = response.choices[0].message.content
messages.append({"role": "assistant", "content": assistant_message})
print(f"Assistant: {assistant_message}\n")
# Последующий вопрос
messages.append({"role": "user", "content": "What are its key features?"})
response = client.chat.completions.create(
model="gpt-4",
messages=messages
)
print(f"Assistant: {response.choices[0].message.content}")
import OpenAI from 'openai';
import dotenv from 'dotenv';
dotenv.config();
const client = new OpenAI({
baseURL: 'https://ai.megallm.io/v1',
apiKey: process.env.MEGALLM_API_KEY
});
// История разговора
const messages = [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'What is JavaScript?' }
];
// Первый ответ
let response = await client.chat.completions.create({
model: 'gpt-4',
messages: messages
});
// Добавьте в историю
const assistantMessage = response.choices[0].message.content;
messages.push({ role: 'assistant', content: assistantMessage });
console.log(`Assistant: ${assistantMessage}\n`);
// Последующий вопрос
messages.push({ role: 'user', content: 'What are its key features?' });
response = await client.chat.completions.create({
model: 'gpt-4',
messages: messages
});
console.log(`Assistant: ${response.choices[0].message.content}`);
Шаг 5: Попробуйте разные модели
Переключайте модели, изменяя параметр model:
models = ["gpt-4", "claude-3.5-sonnet", "gemini-2.5-pro"]
for model in models:
print(f"\n--- Using {model} ---")
response = client.chat.completions.create(
model=model,
messages=[
{"role": "user", "content": "Explain quantum computing in one sentence."}
]
)
print(response.choices[0].message.content)
const models = ['gpt-4', 'claude-3.5-sonnet', 'gemini-2.5-pro'];
for (const model of models) {
console.log(`\n--- Using ${model} ---`);
const response = await client.chat.completions.create({
model: model,
messages: [
{ role: 'user', content: 'Explain quantum computing in one sentence.' }
]
});
console.log(response.choices[0].message.content);
}
Шаг 6: Добавьте параметры
Настройте ответ с помощью параметров:
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "user", "content": "Write a short poem about AI"}
],
temperature=0.9, # Выше = более творческий
max_tokens=100, # Ограничение длины ответа
top_p=0.95, # Nucleus sampling
frequency_penalty=0.5 # Уменьшение повторений
)
Шаг 7: Обработка ошибок
Добавьте правильную обработку ошибок:
from openai import OpenAI, AuthenticationError, RateLimitError
try:
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
except AuthenticationError:
print("Недействительный API-ключ")
except RateLimitError:
print("Превышен лимит запросов")
except Exception as e:
print(f"Ошибка: {e}")
try {
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello!' }]
});
console.log(response.choices[0].message.content);
} catch (error) {
if (error.status === 401) {
console.log('Недействительный API-ключ');
} else if (error.status === 429) {
console.log('Превышен лимит запросов');
} else {
console.log(`Ошибка: ${error.message}`);
}
}
Шаг 8: Интерактивный чат
Создайте простого чат-бота:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(
base_url="https://ai.megallm.io/v1",
api_key=os.getenv("MEGALLM_API_KEY")
)
messages = [
{"role": "system", "content": "You are a helpful assistant."}
]
print("Chat with AI (type 'quit' to exit)\n")
while True:
user_input = input("You: ")
if user_input.lower() == 'quit':
break
messages.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="gpt-4",
messages=messages
)
assistant_message = response.choices[0].message.content
messages.append({"role": "assistant", "content": assistant_message})
print(f"AI: {assistant_message}\n")
import OpenAI from 'openai';
import dotenv from 'dotenv';
import readline from 'readline';
dotenv.config();
const client = new OpenAI({
baseURL: 'https://ai.megallm.io/v1',
apiKey: process.env.MEGALLM_API_KEY
});
const messages = [
{ role: 'system', content: 'You are a helpful assistant.' }
];
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
console.log("Chat with AI (type 'quit' to exit)\n");
function chat() {
rl.question('You: ', async (userInput) => {
if (userInput.toLowerCase() === 'quit') {
rl.close();
return;
}
messages.push({ role: 'user', content: userInput });
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: messages
});
const assistantMessage = response.choices[0].message.content;
messages.push({ role: 'assistant', content: assistantMessage });
console.log(`AI: ${assistantMessage}\n`);
chat();
});
}
chat();
Понимание ответа
API возвращает расширенный объект ответа:
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"model": "gpt-4",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21
}
}
Следующие шаги
Устранение неполадок
Убедитесь, что вы установили SDK:pip install openai # Python
npm install openai # JavaScript
Ошибка 401 Authentication
- Проверьте правильность вашего API-ключа
- Убедитесь, что файл
.env находится в той же директории
- Убедитесь, что вы вызвали
load_dotenv() (Python) или dotenv.config() (JS)
- Вы делаете слишком много запросов
- Добавьте задержки между запросами
- Рассмотрите возможность обновления вашего плана
- Попробуйте более быструю модель, например
gpt-3.5-turbo
- Уменьшите
max_tokens
- Используйте потоковую передачу для лучшего UX
Нужна помощь?