Ollama 로컬 LLM

Delphi, C++ Builder 및 .NET 애플리케이션에서 오픈소스 대규모 언어 모델을 로컬로 실행해 보세요. 추론은 비공개로, 오프라인으로, 온프레미스에서 유지되며, 클라우드 API 없이 사용자의 하드웨어에서 실행돼요.

TsgcHTTP_API_Ollama

로컬 채팅 완성, 임베딩, 모델 관리를 위한 Ollama REST API 클라이언트예요.

컴포넌트 클래스

TsgcHTTP_API_Ollama

프로토콜

HTTP 기반 Ollama REST API

플랫폼

Windows, macOS, Linux, iOS, Android

에디션

Enterprise (AI 애드온)

컴포넌트를 놓고 localhost를 가리킨 다음 시작

Ollama는 로컬로 실행되며 API 키가 필요 없어요. OllamaOptions.BaseUrl을 로컬 서버(기본값 http://localhost:11434/api)로 설정한 다음, _CreateMessage를 호출하거나 TsgcOllamaClass_Request_ChatCompletion을 빌드하여 CreateMessage를 호출해 보세요.

uses
  sgcHTTP_API_Ollama;

var
  Ollama: TsgcHTTP_API_Ollama;
begin
  Ollama := TsgcHTTP_API_Ollama.Create(nil);
  // Local server, no API key needed
  Ollama.OllamaOptions.BaseUrl := 'http://localhost:11434/api';

  // Simple one-shot message
  Memo1.Lines.Text := Ollama._CreateMessage(
    'llama3',
    'What are the benefits of WebSockets?');

  // Streaming — handle OnHTTPAPISSE per chunk
  Ollama.OnHTTPAPISSE := HandleSSE;
  Ollama._CreateMessageStream(
    'llama3',
    'Summarise RFC 6455');
end;

procedure TForm1.HandleSSE(Sender: TObject;
  const aEvent, aData: string;
  var Cancel: Boolean);
begin
  Memo1.Lines.Add(aEvent + ': ' + aData);
end;
// uses: sgcHTTP_API_Ollama
TsgcHTTP_API_Ollama *Ollama = new TsgcHTTP_API_Ollama(this);
// Local server, no API key needed
Ollama->OllamaOptions->BaseUrl = "http://localhost:11434/api";

// Simple one-shot message
Memo1->Lines->Text = Ollama->_CreateMessage(
  "llama3",
  "What are the benefits of WebSockets?");

// Streaming — OnHTTPAPISSE fires per chunk
Ollama->OnHTTPAPISSE = HandleSSE;
Ollama->_CreateMessageStream(
  "llama3",
  "Summarise RFC 6455");
using esegece.sgcWebSockets;

var ollama = new TsgcHTTPAPI_Ollama();
// Local server, no API key needed
ollama.OllamaOptions.BaseUrl = "http://localhost:11434/api";

// Simple one-shot message
Console.WriteLine(ollama._CreateMessage(
  "llama3",
  "What are the benefits of WebSockets?"));

// Streaming via Server-Sent Events
ollama.OnHTTPAPISSE += (sender, ev, data, cancel) => Console.Write(data);
ollama._CreateMessageStream(
  "llama3",
  "Summarise RFC 6455");

내부 구성

채팅 완성과 임베딩을 위한 타입 요청/응답 클래스에 더해 모델 관리와 Server-Sent Events 기반 스트리밍을 제공해요.

Messages 및 채팅

CreateMessage는 타입이 지정된 TsgcOllamaClass_Request_ChatCompletion을 전송하고 파싱된 응답을 반환해요. _CreateMessage, _CreateMessageWithSystem, _CreateMessageStream은 문자열 단축 메서드이며, 스트리밍 델타는 OnHTTPAPISSE를 통해 전달돼요.

임베딩

CreateEmbeddingsnomic-embed-textmxbai-embed-large 같은 로컬에 받은 임베딩 모델을 사용해 입력 텍스트를 밀집 벡터로 변환하고 TsgcOllamaClass_Response_Embeddings를 반환해요.

Models

사용자 컴퓨터의 모델을 관리해요. _GetModels_GetTags는 사용 가능한 모델을 나열하고, _ShowModel은 모델 세부 정보를 읽으며, _PullModel은 Ollama 라이브러리에서 다운로드하고, _DeleteModel은 로컬 모델을 제거해요.

로컬 및 비공개

모든 요청은 로컬 Ollama 서버(기본값 http://localhost:11434/api)를 대상으로 하므로 데이터가 네트워크를 벗어나지 않고 API 키도 필요하지 않아요. 필요하면 OllamaOptions.BaseUrl을 원격 또는 컨테이너화된 인스턴스로 지정하세요.

안정성 및 진단

CircuitBreaker는 서버가 정상이 아닐 때 요청을 단락시켜요. ReadTimeoutTLSOptions는 HTTP/HTTPS 계층을 조정해요. OnHTTPAPIException은 실패를 노출시키고, OnHTTPAPISSE는 서버 전송 이벤트를 스트리밍해요.

사양 및 참조 문서

이 컴포넌트가 구현하는 프로토콜의 공식 출처입니다.

문서 및 데모

컴포넌트 참조 문서로 바로 이동하고, 바로 실행 가능한 데모 프로젝트를 받고, 체험판을 다운로드해 보세요.

온라인 도움말 — Ollama 이 컴포넌트의 전체 속성, 메서드, 이벤트 참조 문서.
데모 프로젝트 — Demos\AI\Ollama 바로 실행 가능한 예제 프로젝트예요. sgcWebSockets 패키지에 포함되어 있어요 — 아래에서 체험판을 다운로드하세요.
사용자 설명서 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 설명서.

Ollama로 로컬 LLM을 실행할 준비가 되었나요?

무료 체험판을 다운로드하고 몇 분 안에 개발을 시작해 보세요.