当前位置:   article > 正文

LlamaIndex 组件 - Models_llm模块基本用法

llm模块基本用法


本文翻译整理自:https://docs.llamaindex.ai/en/stable/module_guides/models/


您可以通过以下几种主要方式与 LlamaIndex 中的模型进行交互:

实验性的


一、使用LLM


1、概念

在基于数据构建任何 LLM 应用程序时,选择合适的大型语言模型 (LLM) 是您需要考虑的首要步骤之一。

LLM 是 LlamaIndex 的核心组成部分
它们可以用作 独立模块 或插入其他核心 LlamaIndex 模块(索引、检索器、查询引擎)。
它们总是在响应合成步骤中使用(例如检索后)。
根据所使用的索引类型,LLM 也可以在索引构建、插入和查询遍历期间使用。

LlamaIndex 提供了定义 LLM 模块的统一接口,无论是来自 OpenAI、Hugging Face 还是 LangChain,这样您就不必自己编写定义 LLM 接口的样板代码。
该接口由以下部分组成(更多详细信息如下):

  • 支持文本完成聊天端点(详细信息如下)
  • 支持流式非流式端点
  • 支持同步异步端点

2、使用模式

以下代码片段展示了如何开始使用LLM 。

如果您还没有,请安装您的 LLM:

pip install llama-index-llms-openai
  • 1

然后:

from llama_index.llms.openai import OpenAI

# non-streaming
resp = OpenAI().complete("Paul Graham is ")
print(resp)
  • 1
  • 2
  • 3
  • 4
  • 5

查找有关独立使用自定义使用的更多详细信息。


3、关于tokenize 的注释

默认情况下,LlamaIndex 使用全局token器进行所有token计数。
默认为cl100kfrom tiktoken,它是与默认 LLM 匹配的token生成器gpt-3.5-turbo

如果您更改 LLM,您可能需要更新此分词器以确保准确的分词计数、分块和提示。

分词器的唯一要求是它是一个可调用函数,接受一个字符串并返回一个列表。

您可以像这样设置全局token生成器:

from llama_index.core import Settings

# tiktoken
import tiktoken

Settings.tokenizer = tiktoken.encoding_for_model("gpt-3.5-turbo").encode

# huggingface
from transformers import AutoTokenizer

Settings.tokenizer = AutoTokenizer.from_pretrained(
    "HuggingFaceH4/zephyr-7b-beta"
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

4、LLM 兼容性跟踪

虽然LLM 很强大,但并不是每个LLM 都很容易建立。
此外,即使设置正确,一些LLM 在执行需要严格遵循指令的任务时也遇到困难。

LlamaIndex 提供与几乎所有 LLM 的集成,但通常不清楚 LLM 是否可以很好地开箱即用,或者是否需要进一步定制。

下表尝试验证各种 LlamaIndex 功能对各种LLM 的初步体验。
这些笔记本电脑是衡量性能以及需要付出多少努力和调整才能使其正常运行的最佳尝试。

一般来说,OpenAI 或 Anthropic 等付费 API 被认为更可靠。
然而,本地开源模型由于其可定制性和透明度方法而越来越受欢迎。

**贡献:**欢迎任何人为文档贡献新的LLM 。
只需复制现有笔记本,设置并测试您的LLM ,然后用您的结果打开 PR。

如果您有办法改进现有笔记本的设置,欢迎贡献力量来改变这一点!


Legend

  • ✅ = 应该可以正常工作
  • ⚠️ = 有时不可靠,可能需要及时的工程改进
  • 声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/903954
推荐阅读
相关标签