File size: 6,605 Bytes
7fba728
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
#!/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)