uvia1.3 / examples.py
uvia's picture
Upload 11 files
7fba728 verified
#!/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)