Отрабатываем Nous Research | Ч.1
Вступление
Чтобы отработать проект, нам нужен доступ к API, который вы должны получить были здесь, если вы не подавали заявку, подаем, ждем 2-3 дня и только после получения доступа возвращаемся сюда
Покупаем доступ к API ключам
- Переходим на портал https://portal.nousresearch.com и слева выбираем раздел Billing
- Мы получили API далее переходим в https://t.me/BotFather , создаем нового бота и получаем API там
- Далее мы должны установить Python, думаю проблем с этим ни у кого не возникнет и скачать любую среду разработки (самая удобная PyCharm)
- После установки всего, переходим в Terminal и устанавливаем нужную библиотеку
pip install python-telegram-bot==20.7 requests
from telegram import Update
from telegram.ext import ApplicationBuilder, MessageHandler, ContextTypes, filters
import requests
#замени на свои ключи перед запуском
NOUS_API_KEY = "сюда вставляй свой API Nous Research"
BOT_TOKEN = "сюда ключ твоего бота из BotFather"
def call_nous(prompt):
url = "https://inference-api.nousresearch.com/v1/chat/completions"
headers = {
"Authorization": f"Bearer {NOUS_API_KEY}",
"Content-Type": "application/json"
}
payload = {
"model": "DeepHermes-3-Mistral-24B-Preview",
"messages": [
{"role": "system", "content": "You are a helpful AI assistant."},
{"role": "user", "content": prompt}
],
"max_tokens": 4096
}
response = requests.post(url, headers=headers, json=payload)
try:
return response.json()["choices"][0]["message"]["content"]
except Exception as e:
return f"API error: {e}\nRaw response: {response.text}"
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
user = update.message.from_user
user_input = update.message.text
ai_response = call_nous(user_input)
# Вывод в консоль
print(f"[USER] {user.username} (ID: {user.id})")
print(f"[INPUT] {user_input}")
print(f"[RESPONSE] {ai_response}\n")
# Сохранение в файл
with open("bot_logs.txt", "a", encoding="utf-8") as log_file:
log_file.write(f"[USER] {user.username} (ID: {user.id})\n")
log_file.write(f"[INPUT] {user_input}\n")
log_file.write(f"[RESPONSE] {ai_response}\n\n")
await update.message.reply_text(ai_response)
if __name__ == '__main__':
app = ApplicationBuilder().token(BOT_TOKEN).build()
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
print("🤖 Bot is running...")
app.run_polling()- Переходим в бота и пишем в него всякий бред , учтите чем обширней ответ от нейронки, тем больше токенов и соответственно денег спишется с нашего баланса, это нам и нужно собственно, поэтому просите давать Подробные ответы
- Как вы видите списываются копейки (я сделал запросов 20 и потратил на это $0.007997), поэтому просите писать реферат большой например, чтобы точно быстрее баланс потратить
В проге я выставил максимально кол-во символов на ответ 4096, больше не ставьте, будет крашить программу, можете просто от болды тупые вопросы задавать, либо просто говорить: Напиши большой реферат на тему Компьютеров/планшетов/телефонов и тд, так съедите быстрее балик
так же в проге можно выбрать модель, которая будет с вами разговарить, я потестил и эта "DeepHermes-3-Mistral-24B-Preview" самая стабильная
Но есть более хардовая модель которая хавает баланс в 2 раза больше это "Hermes-3-Llama-3.1-405B", если хотите поставить ее просто замените "DeepHermes-3-Mistral-24B-Preview" на "Hermes-3-Llama-3.1-405B"
Можете так же модернизировать скрипт, чтобы он сам автоматом сам себе задавал рандомные вопросы через апишку, я вам показал наверное самый простой пример с ботом в телеге