```
chore: enhance .gitignore and remove obsolete documentation files - Reorganize .gitignore with categorized sections for better maintainability - Add comprehensive ignore patterns for Python, Node.js, databases, logs, and build artifacts - Add project-specific ignore rules for coordinator, explorer, and deployment files - Remove outdated documentation: BITCOIN-WALLET-SETUP.md, LOCAL_ASSETS_SUMMARY.md, README-CONTAINER-DEPLOYMENT.md, README-DOMAIN-DEPLOYMENT.md ```
This commit is contained in:
92
plugins/ollama/demo.py
Executable file
92
plugins/ollama/demo.py
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Demo of Ollama Plugin - Complete workflow
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
import time
|
||||
import asyncio
|
||||
from client_plugin import OllamaClient
|
||||
|
||||
def main():
|
||||
print("🚀 AITBC Ollama Plugin Demo")
|
||||
print("=" * 60)
|
||||
|
||||
# Check Ollama is running
|
||||
print("\n1. Checking Ollama...")
|
||||
result = subprocess.run(
|
||||
["curl", "-s", "http://localhost:11434/api/tags"],
|
||||
capture_output=True,
|
||||
text=True
|
||||
)
|
||||
|
||||
if result.returncode != 0:
|
||||
print("❌ Ollama is not running!")
|
||||
print(" Start with: ollama serve")
|
||||
return
|
||||
|
||||
import json
|
||||
models = json.loads(result.stdout)["models"]
|
||||
print(f"✅ Ollama running with {len(models)} models")
|
||||
|
||||
# Create client
|
||||
client = OllamaClient("http://localhost:8001", "REDACTED_CLIENT_KEY")
|
||||
|
||||
# Submit a few different jobs
|
||||
jobs = []
|
||||
|
||||
print("\n2. Submitting jobs...")
|
||||
|
||||
# Job 1: Text generation
|
||||
job1 = client.submit_generation(
|
||||
model="llama3.2:latest",
|
||||
prompt="What is blockchain technology?",
|
||||
max_tokens=100
|
||||
)
|
||||
if job1:
|
||||
jobs.append(("Text Generation", job1))
|
||||
print(f"✅ Submitted: {job1}")
|
||||
|
||||
# Job 2: Code generation
|
||||
job2 = client.submit_code_generation(
|
||||
model="qwen2.5-coder:14b",
|
||||
prompt="Create a function to calculate factorial",
|
||||
language="python"
|
||||
)
|
||||
if job2:
|
||||
jobs.append(("Code Generation", job2))
|
||||
print(f"✅ Submitted: {job2}")
|
||||
|
||||
# Job 3: Translation
|
||||
job3 = client.submit_generation(
|
||||
model="lauchacarro/qwen2.5-translator:latest",
|
||||
prompt="Translate to French: Hello, how are you today?",
|
||||
max_tokens=50
|
||||
)
|
||||
if job3:
|
||||
jobs.append(("Translation", job3))
|
||||
print(f"✅ Submitted: {job3}")
|
||||
|
||||
print(f"\n3. Submitted {len(jobs)} jobs to the network")
|
||||
print("\n💡 To process these jobs:")
|
||||
print(" 1. Start the miner: python3 miner_plugin.py")
|
||||
print(" 2. The miner will automatically pick up and process jobs")
|
||||
print(" 3. Check results: python3 client_plugin.py status <job_id>")
|
||||
print(" 4. Track earnings: cd home/miner && python3 wallet.py balance")
|
||||
|
||||
# Show job IDs
|
||||
print("\n📋 Submitted Jobs:")
|
||||
for job_type, job_id in jobs:
|
||||
print(f" • {job_type}: {job_id}")
|
||||
|
||||
# Check initial status
|
||||
print("\n4. Checking initial job status...")
|
||||
for job_type, job_id in jobs:
|
||||
status = client.get_job_status(job_id)
|
||||
if status:
|
||||
print(f" {job_id}: {status['state']}")
|
||||
|
||||
print("\n✅ Demo complete! Start mining to process these jobs.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user