# 🚀 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 ```python !pip install transformers torch gradio accelerate bitsandbytes sentencepiece beautifulsoup4 requests -q print("✅ Dependencies installed!") ``` ### Celda 2: Cargar modelo ```python 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 ```python 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!