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