embedder

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package embedder содержит реализации Embedder для внешних провайдеров.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type OllamaEmbedder

type OllamaEmbedder struct {
	// contains filtered or unexported fields
}

OllamaEmbedder реализует Embedder для локального Ollama API. @ds-task T1.2: Структура клиента и конструктор (AC-002, DEC-001, DEC-003)

func NewOllamaEmbedder

func NewOllamaEmbedder(httpClient *http.Client, baseURL, apiKey, model string) *OllamaEmbedder

NewOllamaEmbedder создаёт embedder для Ollama Embeddings API. Если httpClient == nil, используется http.DefaultClient. Если baseURL == "", используется ollamaDefaultBaseURL (http://localhost:11434). Если model == "", используется пустая строка (должна быть задана явно).

func (*OllamaEmbedder) Embed

func (o *OllamaEmbedder) Embed(ctx context.Context, text string) ([]float64, error)

Embed вычисляет embedding для текста. @ds-task T2.2: Реализация Embed для Ollama Embeddings API (AC-002, AC-003, AC-004, AC-005, RQ-004, RQ-005, RQ-006, RQ-007)

type OpenAICompatibleEmbedder

type OpenAICompatibleEmbedder struct {
	// contains filtered or unexported fields
}

OpenAICompatibleEmbedder реализует запрос к embeddings endpoint в формате OpenAI-compatible.

Реализация использует минимальный контракт: - POST {BaseURL}/v1/embeddings - Authorization: Bearer {APIKey} - request: {model, input} - response: data[0].embedding

Важно: эта реализация не читает env vars и не хранит persisted состояние.

func NewOpenAICompatibleEmbedder

func NewOpenAICompatibleEmbedder(httpClient *http.Client, baseURL, apiKey, model string) *OpenAICompatibleEmbedder

NewOpenAICompatibleEmbedder создаёт embedder поверх OpenAI-compatible embeddings endpoint.

func (*OpenAICompatibleEmbedder) Embed

func (e *OpenAICompatibleEmbedder) Embed(ctx context.Context, text string) ([]float64, error)

Embed вычисляет embedding для текста.

Directories

Path Synopsis
Package cache содержит in-memory LRU-кэш для эмбеддингов.
Package cache содержит in-memory LRU-кэш для эмбеддингов.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL