跳到主要内容

大型语言模型

大型语言模型(LLMs)是LangChain的核心组件。 LangChain 不提供自己的 LLM,而是为与许多不同的 LLM 交互提供了标准接口。

所有 LLM 实现了 llms.Model 接口:

// Model 是多模态模型实现的接口。
type Model interface {
// GenerateContent 要求模型根据消息序列生成内容。这是支持类似聊天互动的多模态 LLM 的最通用接口。
GenerateContent(ctx context.Context, messages []MessageContent, options ...CallOption) (*ContentResponse, error)

// Call 是一个简化接口,用于仅文本模式的 Model,从单个字符串提示中生成单个字符串响应。

// 已弃用:此方法保留以实现向后兼容。请使用更通用的 [GenerateContent] 代替。
Call(ctx context.Context, prompt string, options ...CallOption) (string, error)
}

该接口提供了两种方法:

  • GenerateContent:现代推荐的方法,支持多模态输入和复杂的消息序列
  • Call:用于简单的文本到文本生成的遗留方法(已弃用但仍然支持)

为了向后兼容性,提供 llms.LLM 作为类型别名:

// LLM 是为实现向后兼容而提供的 model 类型别名。
// 已弃用:此别名将来可能会被移除;请使用 Model 替代。
type LLM = Model