prompt

package
v0.0.0-...-093ba64 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2025 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

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 NewEngine

func NewEngine(cfg config.PromptConfig, logger *logrus.Logger) (*Engine, error)

NewEngine 创建提示词引擎

func (*Engine) Build

func (e *Engine) Build(ctx context.Context, req PromptRequest) (*Prompt, error)

Build 构建音频处理提示词

func (*Engine) BuildTextPrompt

func (e *Engine) BuildTextPrompt(ctx context.Context, req PromptRequest) (*Prompt, error)

BuildTextPrompt 构建文本翻译提示词

func (*Engine) GetLanguages

func (e *Engine) GetLanguages() map[string]*Language

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 TaskType

type TaskType string

TaskType 任务类型

const (
	TaskTranslate  TaskType = "translate"
	TaskTranscribe TaskType = "transcribe"
)

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 移除模板

Jump to

Keyboard shortcuts

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