models

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrAPIRequest = errors.New("API request error")

ErrAPIRequest は、APIリクエスト中にエラーが発生した場合に返されるエラーです。

View Source
var ErrEmptyMessages = errors.New("empty messages")

ErrEmptyMessages は、メッセージが空の場合に返されるエラーです。

View Source
var ErrInvalidAPIKey = errors.New("invalid API key")

ErrInvalidAPIKey は、無効なAPIキーが指定された場合に返されるエラーです。

View Source
var ErrInvalidModel = errors.New("invalid model")

ErrInvalidModel は、無効なモデルが指定された場合に返されるエラーです。

View Source
var ErrUnsupportedProvider = errors.New("unsupported provider")

ErrUnsupportedProvider は、サポートされていないプロバイダが指定された場合に返されるエラーです。

Functions

This section is empty.

Types

type Config

type Config struct {
	MaxToken int
}

type GenTextParams

type GenTextParams struct {
	// Model は、使用するLLMモデルです。
	Model Model `json:"model"`
	// Prompt は、単一のプロンプトテキストです。
	Prompt string `json:"prompt,omitempty"`
	// CacheEnabled は、キャッシュを有効にするかどうかを指定します。
	CacheEnabled bool `json:"cache_enabled"`
	// Messages は、会話履歴を表すメッセージのスライスです。
	Messages []Message `json:"messages"`
}

GenTextParams は、テキスト生成に必要なパラメータを表す構造体です。

type GenTextResponse

type GenTextResponse struct {
	// Text は、生成されたテキストです。
	Text string
	// Tokens は、使用されたトークン数です。
	Tokens int
}

GenTextResponse は、テキスト生成の結果を表す構造体です。

type LLMWrapper

type LLMWrapper interface {
	// GenText は、指定されたパラメータに基づいてテキストを生成します。
	// 生成されたテキスト、エラー、使用されたトークン数を返します。
	GenText(params GenTextParams) (string, error, int)
}

LLMWrapper は、LLMプロバイダとのやり取りを抽象化するインターフェースです。

type Message

type Message struct {
	Role    Role   `json:"role"`
	Content string `json:"content"`
}

Message は、LLMとのやり取りに使用するメッセージを表す構造体です。

type Model

type Model string

Model は、LLMモデルの種類を表す型です。

const (
	// OpenAIモデル
	ModelGPT4o      Model = "gpt-4o"
	ModelGPT4       Model = "gpt-4"
	ModelGPT35Turbo Model = "gpt-3.5-turbo"
	ModelO3Mini     Model = "o3-mini-2025-01-31k"
	ModelO4Mini     Model = "o4-mini-2025-04-16"
	Model4_1Nano    Model = "gpt-4.1-nano-2025-04-14"
	ModelO3         Model = "o3-2025-04-16"

	// Anthropicモデル
	ModelClaude3Opus    Model = "claude-3-opus"
	ModelClaude37Sonnet Model = "claude-3.7-sonnet"
	ModelClaude3Haiku   Model = "claude-3-haiku"

	// Geminiモデル
	ModelGemini20Flash        Model = "gemini-2.0-flash"
	ModelGemini20Pro          Model = "gemini-2.0-pro"
	ModelGemini25FlashPreview Model = "gemini-2.5-flash-preview-04-17"
	ModelGemini25ProPreview   Model = "gemini-2.5-pro-preview-03-25"
	ModelGemini25Pro          Model = "gemini-2.5-pro-exp-03-25"
)

利用可能なモデルの定数

func (Model) GetProvider

func (m Model) GetProvider() Provider

GetProvider はモデル名からプロバイダーを判定します

func (Model) ToAnthropicModel

func (m Model) ToAnthropicModel() anthropic.Model

ToAnthropicModel は、共通モデル型をAnthropic SDKのモデル型に変換します。

func (Model) ToOpenAIModel

func (m Model) ToOpenAIModel() shared.ChatModel

ToOpenAIModel は、共通モデル型をOpenAI SDKのモデル型に変換します。

type Provider

type Provider string

Provider は、LLMプロバイダの種類を表す型です。

const (
	// ProviderOpenAI は、OpenAIプロバイダを表します。
	ProviderOpenAI Provider = "openai"
	// ProviderAnthropic は、Anthropicプロバイダを表します。
	ProviderAnthropic Provider = "anthropic"
	// ProviderGemini は、Geminiプロバイダを表します。
	ProviderGemini Provider = "gemini"
)

type Role

type Role string

Role は、メッセージの役割を表す型です。

const (
	// RoleUser は、ユーザーからのメッセージを表します。
	RoleUser Role = "user"
	// RoleAssistant は、アシスタントからのメッセージを表します。
	RoleAssistant Role = "assistant"
	// RoleSystem は、システムからのメッセージを表します。
	RoleSystem Role = "system"
)

Jump to

Keyboard shortcuts

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