May 11, 2025

Отрабатываем Nous Research | Ч.1

Вступление

Чтобы отработать проект, нам нужен доступ к API, который вы должны получить были здесь, если вы не подавали заявку, подаем, ждем 2-3 дня и только после получения доступа возвращаемся сюда

Покупаем доступ к API ключам

  • Пополняем баланс на 10$ (все просто, я оплатил usdt in base)
  • Как пополнили, переходим в раздел API KEYS и жмем + Create key
  • Мы получили API далее переходим в https://t.me/BotFather , создаем нового бота и получаем API там
  • Далее мы должны установить Python, думаю проблем с этим ни у кого не возникнет и скачать любую среду разработки (самая удобная PyCharm)
  • После установки всего, переходим в Terminal и устанавливаем нужную библиотеку pip install python-telegram-bot==20.7 requests
  • Далее создаем новый Python File и вставляем туда код программы:
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"


Можете так же модернизировать скрипт, чтобы он сам автоматом сам себе задавал рандомные вопросы через апишку, я вам показал наверное самый простой пример с ботом в телеге