Met de tool Ollama is het eenvoudig llm / AI modellen te gebruiken. Het lastigste is het juiste model te vinden en de juiste vragen te stellen - juiste prompts. Via 'Download' op de Ollama site kan 't eenvoudig geinstalleerd worden. Vervolgens kan Ollama via een DOS-prompt of Terminal worden gestart. Enkele goed bruikbare modellen zijn:
- ollama run llama3.2-vision:11b
- ollama run deepseek-r1:8b
- ollama run deepseek-coder-v2
De beperking welk model gebruikt kan worden is vaak de grootte van het model. Indien het model via de GPU wordt uitgevoerd, moet deze in het VRAM passen. Als het via de CPU wordt uitgevoerd binnen het interne geheugen.
Het 1e model wordt in de demo gebruikt voor het gebruik van OCR en beschrijven van afbeeldingen. De 2e is van Chinese afkomst, en werkt goed bij algemene vragen. Het 3e model is handig als je programmeer vragen hebt en concrete voorbeelden wilt.
Het volgende document is gebruikt om OCR op te testen,
Het gave is dat het llama3.2-vision:11b model zowel op de originele afbeelding als de afbeelding met 't toegepaste filter aardig resultaat geeft. De tool 'tesseract' herkend alleen tekst in de zwart/wit afbeelding.
Zoals in de onderstaande output is te zien dat de tekst niet 1 op 1 wordt teruggegeven. Het is dus niet handig deze tekst direct te gebruiken, omdat 't simpelweg niet klopt. Met testen kwamen er ook woorden en zinnen terug die niet in de tekst voor kwamen. Waar het wel voor gebruikt kan worden is als 'zoektekst'. De teksten kunnen bijvoorbeeld worden geindexeerd in een database, waarna je daar in kan zoeken en kan verwijzen naar het originele document.
Uitvoer van Ollama, originele afbeelding (duur, 4 minuut 15, Intel I7-12700H):
The image shows a letter from Dijk en Waard, dated December 13, 2024. The letter is written in Dutch and appears to be an announcement or update regarding a project or development. Here is the text of the letter: **Header** * **Logo**: DIJK EN WAARD * **Date**: 13 december 2024 **Body** * **Subject**: Afsluiting Zuidtangent voor bouw spooronderdoorgang + Beste bewoners, beste Dijk en Waarders. + Allereerst wensen we u fijne feestdagen en een gelukkig 2025. In het nieuwe jaar blijven we werken aan een goede bereikbaarheid is weer het belangrijkste uitgangspunt. Een belangrijke project is de bouw van de spooronderdoorgang. * **Content**: + Op 6 januari 2025 sluiten we de spoortunnel in de Zuidtangent af, zodat we daar de spooronderdoorgang kunnen bouwen. Dit duurt tot mei 2026. Hierdoor wordt het drukker op andere wegen. Denk aan de N242 (Westerweg), de N194 (Kamerlingh Onnesweg), de Krusemanlaan, en de Oosttangent in de Westtangent. We geven adviezen aan en nemen maatregelen om het verkeer goed te laten lopen. We werken samen met provinciale gemeente en overlast te beperken. Maar we hebben ook uw hulp nodig. * **Call to action**: + Bekijk vooral onze tips op www.dijkenwaard.nl/stationskwartier > Bereikbaarheid rond stationsgebied + We beginnen binnenkort met het veranderen van de weg door een dagelijkse route aan uw dagelijks leven te laten zien. Tijdens de bouw is er altijd overlast, maar we weten dat we samen kunnen werken om het minimaal te houden. * **Closing**: + Met vriendelijke groet, + Namens het college van gemeente Dijk en Waard, + Maarten Poorter, burgemeester + Nils Langedijk, wethouder **Footer** * **Contact information**: + Bezoekadres: Parelnof 1, Heerhugowaard + Bosgroet 2, Zuid-Scharwoude + Postbus 390, 1700 AJ Heerhugowaard + Website: www.dijkenwaard.nl
Uitvoer van Ollama op de zwart/wit afbeelding (duur, 4 minuut 7, Intel I7-12700H):
DIJK EN WAARI Telefoon: 0725755555 E-mail: post@dijkenwaard.nl Datum: 13 december 2024/16 december 2024 Onderwerp: Afsluiting Zuidtangent voor bouw spooronderdoorgang Beste beners, beste Dijk en Waarders, Allereerst wensen we u fine feestdagen en een gelukkig 2025! In het nieuwe jaar blijven we werken aan een gemeente die goed bereikbaar is en waar het verkeer veilig is. Een belangrijk project is de bouw van een spooronderdoorgang. Zuidtangent gaat dicht Op 6 januari 2025 sluiten we de Suidtangent af, zodat we daar de spooronderdoorgang kunnen bouwen. Dit duurt tot mei 2026. Hierdoor wordt het drukker op andere wegen. Denk aan de N242 (Westerwijk), de N194 (Kamerlingh Onnesweg), de Krusermanlaan, de Oosttangent en de Westtangent. We geven adviezen aan om niet te verkeerd te gaan. We werken samen met de provincie en andere gemeenten om de overlast te beperken. Maar we hebben ook uw hulp nodig. Uw hulp is belangrijk! Hoe kunt u helpen? Gebruik de fiets voor korte afstanden. Maak gebruik van het openbaar vervoer, zoals de bus of trein. Ga met de trein naar de (buurt)bus. Werk wat vaker thuis, rijdt samen met een collega uit uw buurt op rustige tijden. Bekijk vooral ook onze tips en alternatieven op www.dijkenwaard.nl/stationskwartier > Bereikbaarheid rond stationsgebied We beginnen nu gewend bent aan de route en dat het vervalend is als er files zijn. Tijdens de bouw is er altijd overlast, maar we willen allemaal belangrijk de spooronderdoorgang hebben. Een nieuwe jaar begint met goede voornemens. Mogen wij ook een goed jaar hebben? Denk aan elkaar en geef elkaar de ruimte. Als deze grote klus na 16 maanden klaar is, hebben we allen veel geleerd van het resultaat! Met vriendelijke groet. Namens het college van gemeente Dijk en Waard, Maarten Poorter, burgemeester Nils Langedijk, wethouder Bezirkspartijen: Parlement Heerhugowaard Bosgroep 2, Juid-Schatwoude
Dan is er ook een test gedaan met Tesseract. De tekst in de originele afbeelding werd totaal niet herkend, en gaf geen resultaat. De zwart/wit afbeelding met 't filter gaf de volgende tekst terug:
Uitvoer van Tesseract op de zwart/wit afbeelding (duur, 3 seconden, Intel I7-12700H):
DIJK EN row WAAR! Telefoon: 072 575 55 55 Datum: 13 december 2024 E-mail: post@dijkenwaard.nl Verzenddatum: 16 december 2024 Onderwerp: Afsluiting Zuidtangent voor bouw spooronderdoorgang Beste bewoners, beste Dijk en Waarders, Allereerst wensen we u fijne feestdagen en een gelukkig 2025! In het nieuwe jaar blijven we werken aan een gemeente die goed bereikbaar is en waar het verkeer veilig is. Een belangrijk project is de bouw van de spooronderdoorgang. Zuidtangent gaat dicht Op 6 januari 2025 sluiten we de spooroverweg in de Zuidtangent af, zodat we daar de spooronderdoorgang kunnen bouwen. Dit duurt tot met 2026. Hierdoor wordt het drukker op andere wegen. Denk aan de N242 (Westerweg), de N194 (Kamerlingh Onnesweg), de Krusemanlaan, de Oosttangent en de Westtangent. We geven adviesroutes aan en nemen maatregelen om het verkeer goed te laten vertopen. We werken samen met de provincie en andere gemeenten om de overlast te beperken. Maar we hebben ook uw hulp nodig. Uw hulp is belangrijk! Hoe kunt u helpen? Gebruik vaker de fiets voor korte afstanden. Maak gebruik van het openbaar vervoer, zoals de trein of de (buurt)bus. Werk wat vaker thuis, rijd samen met een collega of rijd op rustigere tijden. Bekijk vooral ook onze tips en alternatieven op www. dijkenwaard.ni/stationskwartier > Bereikbaarheid rond stationsgebied We begrijpen dat u gewend bent aan uw dagelijkse route en dat het vervelend is als er files zijn. Tijdens de bouw is er altijd overlast, maar we weten allemaal hoe belangrijk de spooronderdoorgang is. Voor een bereikbare gemeente en veilig verkeer. Een nieuw jaar begint vaak met goede voornemens. Mogen wij een voorstel doen? Denk aan elkaar en geef elkaar de ruimte. Als deze grote klus na 16 maanden klaar is, hebben we allemaal voordeel van het resultaat! Met vriendelijke groet, Namens het college van gemeente Dijk en \ Maarten Poorter, burgemeester ” Nils Langedijk, wethouder Postadres www.dijkenwaard.nt Pastbus 390 072 575 55 55 1700 A} Heerhugowaard post@dijkenwaard.nt Becoekauressen Parelhot I_Hecmugowadrd Bosgroet 2, Zuid—Scharwoude 16316
Python code om Ollama aan te roepen
#!/usr/bin/python3
import base64
import json
import requests
def file_to_base64(file_path):
try:
with open(file_path, 'rb') as file:
# Read the entire file content
file_content = file.read()
# Convert the file content to Base64
base64_encoded = base64.b64encode(file_content)
return base64_encoded.decode('utf-8') # Return as a string
except FileNotFoundError:
print("File not found.")
return None
except Exception as e:
print(f"An error occurred: {e}")
return None
imgdata = file_to_base64( '/home/user123/ocr/testdoc-th.png' )
chaturl = "http://localhost:11434/api/chat"
# request
chatmsg = {
"model": "llama3.2-vision",
"stream": False,
"messages": [
{
"role": "user",
"content": "print text in image as plain text, exact as it is, no translation, no additional texts",
"images": [ imgdata ]
}
]
}
strjson = json.dumps(chatmsg, indent=4);
#print (chatmsg)
response = requests.post(chaturl, data=strjson)
print (response.status_code)
print (response.text)
Voor het omzetten van afbeeldingen naar tekst zijn verschillende mogelijkheden. Om dit goed in te richten is het verstandig te kijken naar de documenten die je wilt verwerken, de hoeveelheid en de gewenste nauwkeurigheid.
Meer weten wat de mogelijkheden zijn? Neem contact op!