Ollama 로컬 LLM
Delphi, C++ Builder 및 .NET 애플리케이션에서 오픈소스 대규모 언어 모델을 로컬로 실행해 보세요. 추론은 비공개로, 오프라인으로, 온프레미스에서 유지되며, 클라우드 API 없이 사용자의 하드웨어에서 실행돼요.
Delphi, C++ Builder 및 .NET 애플리케이션에서 오픈소스 대규모 언어 모델을 로컬로 실행해 보세요. 추론은 비공개로, 오프라인으로, 온프레미스에서 유지되며, 클라우드 API 없이 사용자의 하드웨어에서 실행돼요.
로컬 채팅 완성, 임베딩, 모델 관리를 위한 Ollama REST API 클라이언트예요.
TsgcHTTP_API_Ollama
HTTP 기반 Ollama REST API
Windows, macOS, Linux, iOS, Android
Enterprise (AI 애드온)
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 기반 스트리밍을 제공해요.
CreateMessage는 타입이 지정된 TsgcOllamaClass_Request_ChatCompletion을 전송하고 파싱된 응답을 반환해요. _CreateMessage, _CreateMessageWithSystem, _CreateMessageStream은 문자열 단축 메서드이며, 스트리밍 델타는 OnHTTPAPISSE를 통해 전달돼요.
CreateEmbeddings는 nomic-embed-text나 mxbai-embed-large 같은 로컬에 받은 임베딩 모델을 사용해 입력 텍스트를 밀집 벡터로 변환하고 TsgcOllamaClass_Response_Embeddings를 반환해요.
사용자 컴퓨터의 모델을 관리해요. _GetModels와 _GetTags는 사용 가능한 모델을 나열하고, _ShowModel은 모델 세부 정보를 읽으며, _PullModel은 Ollama 라이브러리에서 다운로드하고, _DeleteModel은 로컬 모델을 제거해요.
모든 요청은 로컬 Ollama 서버(기본값 http://localhost:11434/api)를 대상으로 하므로 데이터가 네트워크를 벗어나지 않고 API 키도 필요하지 않아요. 필요하면 OllamaOptions.BaseUrl을 원격 또는 컨테이너화된 인스턴스로 지정하세요.
CircuitBreaker는 서버가 정상이 아닐 때 요청을 단락시켜요. ReadTimeout과 TLSOptions는 HTTP/HTTPS 계층을 조정해요. OnHTTPAPIException은 실패를 노출시키고, OnHTTPAPISSE는 서버 전송 이벤트를 스트리밍해요.
이 컴포넌트가 구현하는 프로토콜의 공식 출처입니다.