在今天的文章中,我们将探讨如何使用MariTalk——一款由巴西公司Maritaca AI开发的助理,通过LangChain实现智能问答系统。特别地,我们将演示如何处理超过语言模型限制的长文档查询问题,结合简单搜索机制来提升问答效率。希望这次分享能为您带来新思路。
技术背景介绍
MariTalk基于专门训练的语言模型,集中于葡萄牙语的理解。这对于面向葡萄牙语市场的应用开发极具价值。LangChain是一个开源框架,帮助开发者构建由大语言模型(LLM)驱动的应用程序。通过这个框架,我们可以将MariTalk轻松整合到各种应用场景中。
核心原理解析
我们将通过两个示例来展示MariTalk的实际应用:
- 宠物名字建议系统:简单任务演示,包括构建模型调用链。
- LLM + RAG(检索增强生成):处理长文档查询,结合BM25搜索算法提取文档内相关片段,再提交给MariTalk。
代码实现演示
安装依赖
首先,安装LangChain及其依赖库:
!pip install langchain langchain-core langchain-community httpx
示例1 - 宠物名字建议
定义并配置我们的语言模型:
from langchain_community.chat_models import ChatMaritalk
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts.chat import ChatPromptTemplate
llm = ChatMaritalk(
model="sabia-2-medium", # 可用模型:sabia-2-small和sabia-2-medium
api_key="