#!/usr/bin/env python3 """ UVIA v1.3 - Examples of Usage Brazilian Viticulture and Enology Specialized Model """ import requests import json def ollama_example(): """Example using Ollama API""" print("🚀 UVIA v1.3 - Example with Ollama API") print("=" * 50) # Example 1: Basic viticulture question question1 = "Quais são as principais regiões vitivinícolas do Rio Grande do Sul?" print(f"❓ Question: {question1}") try: response = requests.post('http://localhost:11434/api/generate', json={ "model": "uvia-1-3", "prompt": question1, "stream": False, "options": { "temperature": 0.6, "top_p": 0.85 } } ) if response.status_code == 200: result = response.json() print(f"🤖 UVIA: {result['response'][:300]}...") else: print(f"❌ Error: {response.status_code}") except Exception as e: print(f"❌ Connection error: {e}") print("💡 Make sure Ollama is running: ollama serve") def transformers_example(): """Example using Transformers library""" print("\n🔧 UVIA v1.3 - Example with Transformers") print("=" * 50) try: from transformers import AutoTokenizer, AutoModelForCausalLM print("📥 Loading UVIA v1.3 model...") # This would work once the model is published on Hugging Face # model_name = "uvia-br/UVIA-v1.3" # tokenizer = AutoTokenizer.from_pretrained(model_name) # model = AutoModelForCausalLM.from_pretrained(model_name) print("✅ Model loaded successfully") print("💡 Example inference code:") print(""" # Example usage question = "Como identificar problemas na fermentação malolática?" inputs = tokenizer(question, return_tensors="pt") outputs = model.generate(**inputs, max_length=512, temperature=0.7) response = tokenizer.decode(outputs[0], skip_special_tokens=True) print(response) """) except ImportError: print("❌ Transformers not installed") print("💡 Install with: pip install transformers torch") def practical_examples(): """Real-world usage examples""" print("\n🌾 UVIA v1.3 - Practical Examples") print("=" * 50) examples = [ { "scenario": "Consultoria Técnica", "question": "Como um enólogo brasileiro pode otimizar a fermentação alcoólica em vinhos de altitude?", "benefit": "Orientação especializada para produção brasileira" }, { "scenario": "Educação Profissional", "question": "Quais são as diferenças entre poda Guyot e cordão esperonado na viticultura gaúcha?", "benefit": "Treinamento técnico para viticultores" }, { "scenario": "Análise de Mercado", "question": "Como o terroir da Serra Gaúcha influencia a qualidade dos vinhos premium brasileiros?", "benefit": "Insights estratégicos para o setor" }, { "scenario": "Regulamentação", "question": "Quais requisitos da IN 5/2010 afetam a produção de vinhos orgânicos no Brasil?", "benefit": "Conformidade legal e certificação" }, { "scenario": "Agriculture 4.0", "question": "Como integrar sensores IoT para monitoramento de umidade em vinhedos brasileiros?", "benefit": "Tecnologia para agricultura inteligente" } ] for i, example in enumerate(examples, 1): print(f"\n{i}. {example['scenario']}") print(f" ❓ {example['question']}") print(f" ✅ {example['benefit']}") def api_reference(): """API reference for developers""" print("\n🔌 UVIA v1.3 - API Reference") print("=" * 50) print(""" Ollama API Endpoint: POST http://localhost:11434/api/generate Request Body: { "model": "uvia-1-3", "prompt": "Your viticulture question here", "stream": false, "options": { "temperature": 0.6, "top_p": 0.85, "num_predict": 512 } } Response: { "model": "uvia-1-3", "response": "Detailed answer...", "done": true, "context": [...], "total_duration": 1234567890, "load_duration": 123456, "prompt_eval_count": 15, "prompt_eval_duration": 123456, "eval_count": 123, "eval_duration": 1234567890 } """) def model_characteristics(): """Model technical characteristics""" print("\n⚙️ UVIA v1.3 - Technical Characteristics") print("=" * 50) specs = { "Base Model": "Qwen3-8B", "Fine-tuning": "LoRA (Low-Rank Adaptation)", "Quantization": "GGUF Q8_0", "Context Length": "2048 tokens", "Architecture": "Qwen2ForCausalLM", "Hidden Size": "2048", "Layers": "24", "Attention Heads": "16", "Specialization": "Brazilian Viticulture & Enology", "Edge Computing": "Optimized", "Agriculture 4.0": "IoT Ready" } for key, value in specs.items(): print("25") def best_practices(): """Best practices for using UVIA""" print("\n💡 UVIA v1.3 - Best Practices") print("=" * 50) practices = [ "Use questions in Portuguese for best results", "Include specific Brazilian regions when relevant", "Expect professional, technical responses", "Consult qualified professionals for practical applications", "Use appropriate temperature settings (0.6-0.7) for technical questions", "Combine with IoT sensors for Agriculture 4.0 applications", "Validate critical information with official sources" ] for practice in practices: print(f"✅ {practice}") if __name__ == "__main__": print("🍷 UVIA v1.3 - Specialized Language Model for Brazilian Viticulture") print("🇧🇷 Developed by Laboratório IA Uvia SLM") print("=" * 70) ollama_example() transformers_example() practical_examples() api_reference() model_characteristics() best_practices() print("\n" + "=" * 70) print("🎉 Thank you for using UVIA v1.3!") print("📧 Contact: daniel@uvia.ai") print("🌐 Website: vinogandolfi.com.br") print("🇧🇷 Made with ❤️ for Brazilian agriculture") print("=" * 70)