Prompt、RAG、微调还是重新训练?选择正确的生成式 AI 的方法指南_机器学习 rag

这里不包括 “按原样使用模型” 选项,因为几乎没有任何业务用例可以有效地使用基础大模型。原封不动地使用基础大模型可以很好地用于一般搜索,但如果要做好特定的业务,则需要考虑上述选项之一。


二、主要内容

比较是如何进行的?分析是基于以下指标进行的

  • 准确性(回答的准确程度如何?)
  • 实施复杂性(实施过程有多复杂?)
  • 工作量(需要多少努力来实现?)
  • 总拥有成本(TCO)(拥有解决方案的总成本是多少?)
  • 更新和更改的便利性(架构是否耦合度低?替换

/

{/}

/升级组件是否容易?)

假设:我们将根据这些指标对每种解决方案进行评估,并且分析仅适用于比较,而不是普遍适用。例如:如果针对某个指标,提示工程被评为低分,意味着它在该指标上的表现低于其他选项,并不一定意味着它在该指标上普遍表现差。

首先让我们来谈谈最受关注的问题:哪种方法提供了最准确的回答?

  • 提示工程(Prompt Engineering)的核心是在提供尽可能多的上下文信息的同时,通过提供少量示例(few-shot learning)来更好地让大模型了解您的用例。虽然结果在孤立情况下看起来令人印象深刻,但与本文中讨论的其他方法相比,它产生的结果最不准确。
  • 检索增强生成ÿ
根据提供的引用内容,可以得知prompt+RAG的流程如下: 1. 首先,使用Retriever部分在知识库中检索出top-k个匹配的文档zi。 2. 然后,将query和k个文档拼接起来作为QA的prompt,送入seq2seq模型。 3. seq2seq模型生成回复y。 4. 如果需要进行Re-rank,可以使用LLM来rerank,给LLM写好prompt即可。 下面是一个简单的示例代码,演示如何使用prompt+RAG: ```python from transformers import RagTokenizer, RagRetriever, RagSequenceForGeneration # 初始化tokenizer、retriever和seq2seq模型 tokenizer = RagTokenizer.from_pretrained('facebook/rag-token-base') retriever = RagRetriever.from_pretrained('facebook/rag-token-base', index_name='exact', use_dummy_dataset=True) model = RagSequenceForGeneration.from_pretrained('facebook/rag-token-base') # 设置query和context query = "What is the capital of France?" context = "France is a country located in Western Europe. Paris, the capital city of France, is known for its romantic ambiance and iconic landmarks such as the Eiffel Tower." # 使用Retriever部分检索top-k个匹配的文档 retrieved_docs = retriever(query) # 将query和k个文档拼接起来作为QA的prompt input_dict = tokenizer.prepare_seq2seq_batch(query, retrieved_docs[:2], return_tensors='pt') generated = model.generate(input_ids=input_dict['input_ids'], attention_mask=input_dict['attention_mask']) # 输出生成的回复 generated_text = tokenizer.batch_decode(generated, skip_special_tokens=True)[0] print(generated_text) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值