search

package
v0.0.0-...-75ec8e3 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExaSearchProvider

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

ExaSearchProvider implements SearchProvider for Exa AI Search API

func NewExaSearchProvider

func NewExaSearchProvider(cfg config.ExaConfig) *ExaSearchProvider

NewExaSearchProvider creates a new Exa search provider

func (*ExaSearchProvider) Name

func (e *ExaSearchProvider) Name() string

Name returns the provider name

func (*ExaSearchProvider) Search

func (e *ExaSearchProvider) Search(ctx context.Context, query string, numResults int) (*SearchResponse, error)

Search performs a web search using Exa API

func (*ExaSearchProvider) Validate

func (e *ExaSearchProvider) Validate() error

Validate checks if the provider is properly configured

type GooglePSEProvider

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

GooglePSEProvider implements SearchProvider for Google Programmable Search Engine

func NewGooglePSEProvider

func NewGooglePSEProvider(cfg config.GooglePSEConfig) *GooglePSEProvider

NewGooglePSEProvider creates a new Google PSE search provider

func (*GooglePSEProvider) Name

func (g *GooglePSEProvider) Name() string

Name returns the provider name

func (*GooglePSEProvider) Search

func (g *GooglePSEProvider) Search(ctx context.Context, query string, numResults int) (*SearchResponse, error)

Search performs a web search using Google PSE API

func (*GooglePSEProvider) Validate

func (g *GooglePSEProvider) Validate() error

Validate checks if the provider is properly configured

type PerplexitySearchProvider

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

PerplexitySearchProvider implements SearchProvider for Perplexity Search API

func NewPerplexitySearchProvider

func NewPerplexitySearchProvider(cfg config.PerplexityConfig) *PerplexitySearchProvider

NewPerplexitySearchProvider creates a new Perplexity search provider

func (*PerplexitySearchProvider) Name

func (p *PerplexitySearchProvider) Name() string

Name returns the provider name

func (*PerplexitySearchProvider) Search

func (p *PerplexitySearchProvider) Search(ctx context.Context, query string, numResults int) (*SearchResponse, error)

Search performs a web search using Perplexity Search API

func (*PerplexitySearchProvider) Validate

func (p *PerplexitySearchProvider) Validate() error

Validate checks if the provider is properly configured

type SearchProvider

type SearchProvider interface {
	// Search performs a web search with the given query
	Search(ctx context.Context, query string, numResults int) (*SearchResponse, error)

	// Name returns the name of the search provider
	Name() string

	// Validate checks if the provider is properly configured
	Validate() error
}

SearchProvider defines the interface for web search providers

type SearchResponse

type SearchResponse struct {
	Results []SearchResult `json:"results"`
	Query   string         `json:"query"`
}

SearchResponse represents the response from a search provider

type SearchResult

type SearchResult struct {
	Title   string `json:"title"`
	URL     string `json:"url"`
	Snippet string `json:"snippet"`
	Content string `json:"content,omitempty"` // Full content if available
}

SearchResult represents a single search result

Jump to

Keyboard shortcuts

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