提示:如果您尚未完成,请安装 LlamaIndex 并完成起步教程。遇到不熟悉的术语时,请参考高层次概念部分。

在这个章节中,我们将从您为起步示例编写的代码开始,展示您可能希望针对不同应用场景对其进行的常见定制方法:

python
 
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() response = query_engine.query("What did the author do growing up?") print(response)

“我想将文档拆分为更小的片段”

python
 
# 全局设置 from llama_index.core import Settings Settings.chunk_size = 512 # 局部设置 from llama_index.core.node_parser import SentenceSplitter index = VectorStoreIndex.from_documents( documents, transformations=[SentenceSplitter(chunk_size=512)] )

“我想使用不同的向量存储”

首先,您可以安装您想使用的向量存储。例如,要使用 Chroma 作为向量存储,您可以使用 pip 进行安装:

bash
 
pip install llama-index-vector-stores-chroma

要了解所有可用集成,请访问 LlamaHub。

然后,在代码中使用它:

python
 
import chromadb from llama_index.vector_stores.chroma import ChromaVectorStore from llama_index.core import StorageContext chroma_client = chromadb.PersistentClient() chroma_collection = chroma_client.create_collection("quickstart") vector_store = ChromaVectorStore(chroma_collection=chroma_collection) storage_context = StorageContext.from_defaults(vector_store=vector_store) # 存储上下文定义了文档、嵌入和索引的存储后端。您可以了解更多关于存储及其定制方法。 from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents( documents, storage_context=storage_context ) query_engine = index.as_query_engine() response = query_engine.query("What did the author do growing up?") print(response)

“查询时我想获取更多上下文”

python
 
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine(similarity_top_k=5) response = query_engine.query("What did the author do growing up?") print(response) # as_query_engine 在索引之上构建了一个默认的检索器和查询引擎。您可以通过传入关键字参数来配置检索器和查询引擎。这里我们配置检索器返回最相似的前5个文档(而非默认的2个)。您可以了解更多关于检索器和查询引擎的信息。

“我想使用不同的 LLM”

python
 
# 全局设置 from llama_index.core import Settings from llama_index.llms.ollama import Ollama Settings.llm = Ollama(model="mistral", request_timeout=60.0) # 局部设置 index.as_query_engine(llm=Ollama(model="mistral", request_timeout=60.0)) # 您可以了解更多关于定制 LLM 的信息。

“我想使用不同的响应模式”

python
 
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine(response_mode="tree_summarize") response = query_engine.query("What did the author do growing up?") print(response) # 您可以了解更多关于查询引擎和响应模式的信息。

“我想以流式方式返回响应”

python
 
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine(streaming=True) response = query_engine.query("What did the author do growing up?") response.print_response_stream() # 您可以了解更多关于流式响应的信息。

“我想要一个聊天机器人而非问答系统”

python
 
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents = SimpleDirectoryReader("data").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_chat_engine() response = query_engine.chat("What did the author do growing up?") print(response) response = query_engine.chat("Oh interesting, tell me more.") print(response) # 了解更多关于聊天引擎的信息。

后续步骤

  • 全面了解几乎所有的可配置项:从“理解 LlamaIndex”开始深入学习。
  • 深入了解特定模块:查阅组件指南。

AI 新世代

ToolChatAi

Ref:https://docs.llamaindex.ai/en/stable/getting_started/customization/

Link:https://www.cnblogs.com/farwish/p/18133698

LlamaIndex 常见问题解答(FAQ)的更多相关文章

  1. dubbo常见问题解答FAQ

    常见问题解答 1. 如果服务注册不上怎么办? 2. 出现RpcException: No provider available for remote service异常怎么办? 3. 出现调用超时co ...

  2. SSL/TLS 高强度加密: 常见问题解答

    关于这个模块 mod_ssl 简史 mod_ssl会受到Wassenaar Arrangement(瓦森纳协议)的影响吗? mod_ssl 简史 mod_ssl v1 最早在1998年4月由Ralf ...

  3. 我个人有关 Azure 网络 SLA、带宽、延迟、性能、SLB、DNS、DMZ、VNET、IPv6 等的 Azure 常见问题解答

    Igor Pagliai(微软)   2014 年 9月 28日上午 5:57  年 11 月 3 年欧洲 TechEd 大会新宣布的内容). 重要提示:这篇文章中我提供的信息具有时间敏感性,因为这些 ...

  4. 学习OpenCV双目测距原理及常见问题解答

    学习OpenCV双目测距原理及常见问题解答 转自博客:https://blog.csdn.net/angle_cal/article/details/50800775 一. 整体思路和问题转化.  图 ...

  5. # ConfigureAwait常见问题解答

    原文: https://devblogs.microsoft.com/dotnet/configureawait-faq/ .NET 在七多年前在语言和类库添加了 async/await .在那个时候 ...

  6. MySQL同步常见问题解答(自己的小心得)

    前几天刚刚注册了博客园,我想写一些技巧性的教程,今天给大家分享一个MySQL同步常见问题解答. Q:如果主服务器正在运行并且不想停止主服务器,怎样配置一个从服务器? A:有多种方法.如果你在某时间点做 ...

  7. Delphi XE5 常见问题解答

    Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...

  8. [!!!!!]Inno Setup教程-常见问题解答

    [转]Inno Setup教程-常见问题解答 功能 * 翻译 Inno Setup 文字  * 它支持 MBCS (多字节字符集) 吗?  * 将来会支持 Windows Installer 吗?   ...

  9. 英特尔® 实感™ SDK 前置摄像头 (F200) 常见问题解答

    原文地址 https://software.intel.com/zh-cn/articles/intel-realsense-sdk-faq-for-front-facing-camera-f200? ...

  10. 关于CopyU!的常见问题解答

    拷优(CopyU!)常见问题解答 本常见问题解答列举了一些常见的疑问及其解释,如果您对CopyU!有任何问题,请您首先查看本解答! 本解答将会保持随时更新! 一.使用篇:     1.问:我的杀毒软件 ...

随机推荐

  1. Android端Charles抓包

    目录介绍 01.下载安装 02.抓包代理设置 03.抓包Https操作 04.抓包原理介绍 05.抓包数据介绍 06.常见问题总结 07.Android拦截抓包 01.下载安装 下载地址(下载对应的平 ...

  2. JavaScript实现防抖与节流

    1. 引言 有这么一种场景:某个页面表单按钮设置了点击提交事件,有时因为网络不好,点击后后台服务端很久才返回信息,然而用户因等待许久已经多次点击导致多次发送数据,实际上服务器只需要一次发送的数据即可 ...

  3. mybatis xml 文件 sql include 的用法

    mybatis xml 文件中对于重复出现的sql 片段可以使用标签提取出来,在使用的地方使用标签引用即可具体用法如下: <sql id="Base_Column_List" ...

  4. ContiPerf是一个轻量级的测试工具,基于JUnit 4 开发,可用于效率测试等。

    1.在maven中使用ContiPerf <dependency> <groupId>junit</groupId> <artifactId>junit ...

  5. C# ASP.NET MVC 配置 跨域访问

    在web.config文件中的 system.webServer 节点下 增加如下配置        <httpProtocol>             <customHeader ...

  6. Oracle查询表空间信息

    记录一下 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_ ...

  7. linux关闭主板警告声,蜂鸣声,滴滴声,pc扬声器。

    启动时,BIOS 通常会在开机自检期间发出蜂鸣声.较新的主板型号省略了开机自检蜂鸣声,以便快速启动进入操作系统.BIOS 通常允许切换开机自检蜂鸣声,但无法将 PC 扬声器配置为完全关闭.一旦系统启动 ...

  8. ABC327 A-F

    vp on 2023.11.12 A: 使用 string 的 find,find 在找不到时会返回string::npos. B.C:略. D 发现原题相当于二分图判定. E 线性DP. F 原题相 ...

  9. C# Winform Socket点对点通信

    前言 Socket的英文原义是"孔"或"插座",其实在网络编程中Socket就是这个意思,就像我们打电话,要首先知道对方的手机号一样,这个手机号就相当于一个So ...

  10. 【我与openGauss的故事】如何管理数据库安全(第一部分)

    前言 2021 年 6 月 10 日国家颁布数据安全法对我们国家来说具有重大意义 信息安全法 梳理几点重要意义: (一) 对数据的有效监管实现了有法可依,填补了数据安全保护立法的空白,完善了网络空间安 ...