Documentation
¶
Index ¶
- type Engine
- type Language
- type LanguageManager
- func (lm *LanguageManager) BuildDynamicOutputRules(task TaskType, targetLanguageCodes []string, includeSource bool) OutputRules
- func (lm *LanguageManager) ConvertCodesToDisplayNames(codes []string) ([]string, error)
- func (lm *LanguageManager) GetLanguage(code string) (*Language, bool)
- func (lm *LanguageManager) GetLanguages() map[string]*Language
- func (lm *LanguageManager) IdentifyLanguageFromText(text string) (string, error)
- func (lm *LanguageManager) NormalizeLanguage(input string) (string, error)
- type OutputFormat
- type OutputRules
- type OutputSection
- type ParsedResponse
- type Prompt
- type PromptRequest
- type PromptTemplate
- type TaskType
- type TemplateManager
- func (tm *TemplateManager) AddTemplate(template *PromptTemplate)
- func (tm *TemplateManager) BuildPrompt(ctx context.Context, templateName string, data map[string]interface{}) (*Prompt, OutputRules, error)
- func (tm *TemplateManager) GetTemplate(name string) (*PromptTemplate, bool)
- func (tm *TemplateManager) ListTemplates() []string
- func (tm *TemplateManager) RemoveTemplate(name string) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine 提示词引擎
func (*Engine) BuildTextPrompt ¶
BuildTextPrompt 构建文本翻译提示词
func (*Engine) GetLanguages ¶
GetLanguages 获取所有支持的语言
func (*Engine) ParseResponse ¶
func (e *Engine) ParseResponse(content string) (*ParsedResponse, error)
ParseResponse 解析LLM响应 - 仅支持 JSON 解析
type Language ¶
type Language struct { Code string `yaml:"code"` Names map[string]string `yaml:"names"` Aliases []string `yaml:"aliases"` }
Language 语言定义
type LanguageManager ¶
type LanguageManager struct {
// contains filtered or unexported fields
}
LanguageManager 语言管理器
func NewLanguageManager ¶
func NewLanguageManager(cfg config.PromptConfig, logger *logrus.Logger) *LanguageManager
NewLanguageManager 创建语言管理器
func (*LanguageManager) BuildDynamicOutputRules ¶
func (lm *LanguageManager) BuildDynamicOutputRules(task TaskType, targetLanguageCodes []string, includeSource bool) OutputRules
BuildDynamicOutputRules 根据任务类型和目标语言动态构建OutputRules
func (*LanguageManager) ConvertCodesToDisplayNames ¶
func (lm *LanguageManager) ConvertCodesToDisplayNames(codes []string) ([]string, error)
ConvertCodesToDisplayNames 将短代码转换为中文显示名称
func (*LanguageManager) GetLanguage ¶
func (lm *LanguageManager) GetLanguage(code string) (*Language, bool)
GetLanguage 根据代码获取语言
func (*LanguageManager) GetLanguages ¶
func (lm *LanguageManager) GetLanguages() map[string]*Language
GetLanguages 获取所有支持的语言
func (*LanguageManager) IdentifyLanguageFromText ¶
func (lm *LanguageManager) IdentifyLanguageFromText(text string) (string, error)
IdentifyLanguageFromText 通过文本识别语言代码
func (*LanguageManager) NormalizeLanguage ¶
func (lm *LanguageManager) NormalizeLanguage(input string) (string, error)
NormalizeLanguage 标准化单个语言(输入可以是代码或别名)
type OutputFormat ¶
type OutputFormat string
OutputFormat 输出格式
const ( FormatStructured OutputFormat = "structured" FormatJSON OutputFormat = "json" FormatMarkdown OutputFormat = "markdown" FormatPlain OutputFormat = "plain" )
type OutputRules ¶
type OutputRules struct { Format OutputFormat `json:"format"` Separator string `json:"separator"` Sections []OutputSection `json:"sections"` }
OutputRules 输出规则
type OutputSection ¶
type OutputSection struct { Key string `json:"key"` // LLM输出的中文名称(如"英文") Aliases []string `json:"aliases"` // 别名 LanguageCode string `json:"language_code"` // 对应的短代码(如"en") Required bool `json:"required"` Order int `json:"order"` }
OutputSection 输出段落定义
type ParsedResponse ¶
type ParsedResponse struct { RawText string `json:"raw_text"` Sections map[string]string `json:"sections"` // 键为短代码或特殊键(如"原文") Metadata map[string]interface{} `json:"metadata"` }
ParsedResponse 解析后的响应
type Prompt ¶
type Prompt struct { System string `json:"system"` User string `json:"user"` OutputRules OutputRules `json:"output_rules"` }
Prompt 生成的提示词
type PromptRequest ¶
type PromptRequest struct { Task TaskType `json:"task"` SourceLanguage string `json:"source_language"` TargetLanguages []string `json:"target_languages"` // 接收短代码 Variables map[string]interface{} `json:"variables"` OutputFormat OutputFormat `json:"output_format"` }
PromptRequest 提示词请求
type PromptTemplate ¶
type PromptTemplate struct { Name string `yaml:"name"` Version string `yaml:"version"` Description string `yaml:"description"` SystemPrompt string `yaml:"system_prompt"` UserPrompt string `yaml:"user_prompt"` OutputRules OutputRules `yaml:"output_rules"` Variables map[string]interface{} `yaml:"variables"` }
PromptTemplate 提示词模板
type TemplateManager ¶
type TemplateManager struct {
// contains filtered or unexported fields
}
TemplateManager 模板管理器
func NewTemplateManager ¶
func NewTemplateManager(logger *logrus.Logger) *TemplateManager
NewTemplateManager 创建模板管理器
func (*TemplateManager) AddTemplate ¶
func (tm *TemplateManager) AddTemplate(template *PromptTemplate)
AddTemplate 添加模板
func (*TemplateManager) BuildPrompt ¶
func (tm *TemplateManager) BuildPrompt(ctx context.Context, templateName string, data map[string]interface{}) (*Prompt, OutputRules, error)
BuildPrompt 构建提示词
func (*TemplateManager) GetTemplate ¶
func (tm *TemplateManager) GetTemplate(name string) (*PromptTemplate, bool)
GetTemplate 获取模板
func (*TemplateManager) ListTemplates ¶
func (tm *TemplateManager) ListTemplates() []string
ListTemplates 列出所有模板
func (*TemplateManager) RemoveTemplate ¶
func (tm *TemplateManager) RemoveTemplate(name string) bool
RemoveTemplate 移除模板