jan-v1-research / INSTRUCCIONES_COLAB.md
darwincb's picture
🚀 Add COMPLETE Jan v1 with web search - Like Perplexity but FREE
d4e6341

A newer version of the Gradio SDK is available: 6.0.0

Upgrade

🚀 Cómo usar Jan v1 en Google Colab (GRATIS)

Método 1: Subir archivo (MÁS FÁCIL)

  1. Abre Google Colab: https://colab.research.google.com

  2. Click en "File" → "Upload notebook"

  3. Arrastra o selecciona este archivo:

    /Users/darwinborges/jan-v1-research/jan-v1-colab.ipynb
    
  4. IMPORTANTE: Activa GPU

    • Runtime → Change runtime type
    • Hardware accelerator: T4 GPU
    • Click Save
  5. Run all cells (Ctrl+F9 o ⌘+F9)

  6. ¡Listo! En 2-3 minutos tendrás Jan v1 funcionando


Método 2: Copiar y pegar código

Si no puedes subir el archivo, crea un nuevo notebook y pega este código:

Celda 1: Instalar dependencias

!pip install transformers torch gradio accelerate bitsandbytes sentencepiece beautifulsoup4 requests -q
print("✅ Dependencies installed!")

Celda 2: Cargar modelo

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

print("🚀 Loading Jan v1 model...")
model_name = "janhq/Jan-v1-4B"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.float16,
    device_map="auto",
    load_in_8bit=True
)

print("✅ Model loaded!")

Celda 3: Crear interfaz

import gradio as gr
import requests
from bs4 import BeautifulSoup

def scrape_url(url):
    try:
        response = requests.get(url, timeout=10)
        soup = BeautifulSoup(response.content, 'html.parser')
        return soup.get_text()[:4000]
    except:
        return "Error scraping URL"

def research_assistant(query, context="", temperature=0.6):
    if context.startswith('http'):
        context = scrape_url(context)
    
    prompt = f"""Research Query: {query}
    Context: {context}
    
    Provide comprehensive analysis:"""
    
    inputs = tokenizer(prompt, return_tensors="pt", max_length=2048, truncation=True)
    inputs = inputs.to(model.device)
    
    outputs = model.generate(
        **inputs,
        max_new_tokens=1024,
        temperature=temperature,
        top_p=0.95,
        do_sample=True,
        pad_token_id=tokenizer.eos_token_id
    )
    
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return response.replace(prompt, "").strip()

# Crear interfaz
iface = gr.Interface(
    fn=research_assistant,
    inputs=[
        gr.Textbox(label="Research Query"),
        gr.Textbox(label="Context or URL", lines=3),
        gr.Slider(0.1, 1.0, value=0.6, label="Temperature")
    ],
    outputs=gr.Textbox(label="Analysis", lines=10),
    title="Jan v1 Research Assistant"
)

iface.launch(share=True)  # share=True te da un link público

🎯 Qué puedes hacer:

  • ✅ Research con Jan v1 COMPLETO (4B params, 91.1% accuracy)
  • ✅ Web scraping automático (solo pega URLs)
  • ✅ Análisis de documentos
  • ✅ 100% GRATIS con GPU T4

⏱️ Límites:

  • 4 horas continuas máximo
  • Se desconecta tras 30 min inactivo
  • Puedes reconectar y seguir usando

💡 Pro tip:

Cuando ejecutes iface.launch(share=True), te dará un link público como:

https://abc123.gradio.live

Ese link funciona desde cualquier dispositivo por 72 horas!