요약
.NET 10의 새로운 기능인 dotnet run app.cs
와 로컬 AI 모델을 결합하여 이미지 대체 텍스트(AltText)를 자동 생성하는 혁신적인 방법을 소개하는 글입니다.
배경 및 목적 접근성 향상을 위한 AltText는 시각 장애인용 스크린 리더 지원, SEO 개선, 전반적인 사용자 경험 향상에 필수적입니다. 하지만 모든 이미지에 대해 설명적인 대체 텍스트를 작성하는 것은 반복적이고 시간이 많이 소요되는 작업이므로, AI를 활용한 자동화가 필요합니다.
로컬 AI 모델 활용 - Ollama Ollama를 통해 gemma3, llama3.2-vision, mistral-small3.2 등의 비전 모델을 로컬에서 실행할 수 있습니다. 로컬 모델의 장점은 사용량 제한 없음, 클라우드 지연 시간 없음, 모델에 대한 완전한 제어권을 갖는다는 점입니다. Ollama는 일반적으로 http://localhost:11434에서 실행되며, 이미지 분석 요청을 보내면 자연어 설명을 받을 수 있습니다.
.NET 10의 새로운 스크립트 실행 기능 .NET 10에서 도입된 dotnet run app.cs
기능을 통해 프로젝트 스캐폴딩이나 .csproj 파일 없이 C# 파일을 직접 스크립트처럼 실행할 수 있습니다. 이는 이미지 처리, 빠른 자동화, 개발 도구 등의 스크립팅 작업에 매우 편리합니다.
전체 코드 구현 제공된 샘플 코드는 다음과 같은 구조로 동작합니다:
#:package OllamaSharp@5.1.19
지시문으로 NuGet 패키지 참조- Ollama API 클라이언트 설정 (localhost:11434)
- gemma3 모델 선택
- 명령행 인수에서 이미지 파일 경로 읽기
- 이미지를 바이트 배열로 변환
- AI 모델에게 상세한 대체 텍스트 생성 요청
- 스트리밍 방식으로 응답 출력
코드는 alttext.cs
로 저장하고 dotnet run alttext.cs <이미지경로>
명령으로 실행할 수 있습니다.
최적화 팁 큰 이미지의 경우 인코딩 전에 크기를 조정하면 요청 크기가 줄어들고 추론 속도가 향상됩니다.
향후 전망 .NET 10과 로컬 AI 모델의 조합으로 단순한 “AI와 채팅” 시나리오를 넘어서 다음과 같은 활용이 가능합니다:
- 미디어 분석
- 콘텐츠 자동 생성
- 오프라인 AI 기능 구축
추가 학습을 위해서는 다른 로컬 모델 사용, 프롬프트 수정, 결과를 클립보드에 복사하는 기능 추가 등의 실험을 통해 실제 앱에 AI를 통합하는 방법을 이해할 수 있습니다.