| |
| """ |
| 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) |
|
|
| |
| 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...") |
| |
| |
| |
| |
|
|
| 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) |