第二部分 使用LLM API开发&构建知识库

1.什么是Prompt?什么是temperature?什么是system Prompt?简单举例解释?

答:

prompt是输入给人工智能模型的指令,引导模型给出相应的输出。

temperature是控制文本生成随机性的参数。范围为[0,1],为0表示最保守,为1表示最有创意。

system prompt:提供给模型的一个上下文指令,用于设置谈话的背景和角色。

关键词:提示;随机性;保守;创意;背景

举例:

System Prompt: “你是一个历史学家,专门研究中国古代历史。”

Prompt: “请介绍一下唐朝的繁荣时期。”

输出: “唐朝是中国历史上一个非常繁荣的朝代,尤其在玄宗统治时期,经济、文化和军事都达到了顶峰。”

2.获取LLM API的程序代码理解解释和复现?

答:

伪代码如下:

1)创建一个API客户端对象

2)构建输入模型的参数结构

3)获取调用结果即可

关键词:API;prompt;temperature;

3.prompt编写清晰、具体的指令的技巧?举例说明?

答:

使用分割符。如逗号包括的内容,引号中间的内容等。

4.结构化的输出的示例?代码实现?

答:示例如下:

"""

请生成包括电影名称、作者和类别的三本虚构的、非真实存在的中文电影清单,\

并以 JSON 格式提供,其中包含以下键:book_id、title、author、genre。

"""

关键词:格式化输出;JSON;HTML;

5.模型检查是否满足条件?举例说明?

答:

判断条件:

您将获得由三个引号括起来的文本。\

如果它包含一系列的指令,则需要按照以下格式重新编写这些指令:

第一步 - ...

第二步 - …

第N步 - …

如果文本中不包含一系列的指令,则直接写“未提供步骤”。"

示例如下:

"""

泡一杯茶很容易。首先,需要把水烧开。\

在等待期间,拿一个杯子并把茶包放进去。\

一旦水足够热,就把它倒在茶包上。\

等待一会儿,让茶叶浸泡。几分钟后,取出茶包。\

如果您愿意,可以加一些糖或牛奶调味。\

就这样,您可以享受一杯美味的茶了。

"""

输出结果

Text 1 的总结:

第一步 - 把水烧开。

第二步 - 拿一个杯子并把茶包放进去。

第三步 - 把烧开的水倒在茶包上。

第四步 - 等待一会儿,让茶叶浸泡。

第五步 - 取出茶包。

第六步 - 如果愿意,可以加一些糖或牛奶调味。

第七步 - 尽情享受一杯美味的茶。

6.提供少量示例?举例说明?

答:

示例如下:

prompt = f"""

你的任务是以一致的风格回答问题(注意:文言文和白话的区别)。

<学生>: 请教我何为耐心。

<教师>: 天生我材必有用,千金散尽还复来。

<学生>: 请教我何为坚持。

<教师>: 故不积跬步,无以至千里;不积小流,无以成江海。骑骥一跃,不能十步;驽马十驾,功在不舍。

<学生>: 请教我何为孝顺。

"""

结果如下:

<教师>: 孝者,尊亲之至也。夫孝,德之本也,教之所由生也。父母者,人生之本也,尽孝之道,莫大于尊亲。故曰:“孝在于质实,不在于饰貌。”是故,孝顺之道,不仅在养体承志,更在敬之以诚,和颜以色,问省其安否,曲意以奉事,此乃孝顺之真谛也。

7.给模型时间去思考的技巧有哪些?

答:

关键词:引导;深入思考;指定完成步骤;

指定完成步骤示例如下:

text = f"""

自工业革命以来,装卸作业一直是物流、港口、仓储和制造业中的核心环节。/

从初期的人工搬运、小型机械辅助,到近几十年的大型装载机和叉车等设备的普及,/

这一领域已经经历了数次技术飞跃。然而,随着全球制造业和物流业的高速发展,/

传统的装卸方式已经不能满足现代复杂、高效率的需求。/

全球工业界已经从机械化、电气化、自动化进入到数字化和智能化的新时代。/

其中,自主化装卸机器人作为工业发展的前沿,其发展速度和广度直接关系到/

产业链的流通效率和成本控制。据国际机器人联合会(IFR)2021年报告指出,/

物流与仓储行业的机器人应用呈现爆发性增长,其中大部分是自主化装卸机器人。

"""

prompt = f"""

1-用一句话概括下面用<>括起来的文本。

2-给出这段话的英文摘要。

3-给出一些论文题目的建议。

4-输出一个 JSON 对象,其中包含以下键:论文题目,创新点。

请使用以下格式:

摘要:<摘要>

翻译:<英文摘要>

名称:<论文题目>

输出 JSON 格式:<带有 论文题目 和 创新点 的 JSON 格式>

Text: <{text}>

"""



9.指导模型在下结论之前找出一个自己的解法?

答:

示例如下:

prompt = f"""

请判断学生的解决方案是否正确,请通过如下步骤解决这个问题:

步骤:

首先,自己解决问题。

然后将您的解决方案与学生的解决方案进行比较,对比计算得到的总费用与学生计算的总费用是否一致,

并评估学生的解决方案是否正确。

在自己完成问题之前,请勿决定学生的解决方案是否正确。

使用以下格式:

10.大模型的幻觉?举例说明?

答:

示例如下:大模型会给出一些不真实的信息。

prompt = f"""

给我一些研究LLM长度外推的论文,包括论文标题、主要内容和链接

"""


11.什么是词向量?什么是词嵌入?有何优势?举例说明?

答:

词向量(Embedding):表示单词的一种向量。

词嵌入:一种方法,思路为意思相近或相关的对象在嵌入空间中的距离相近。

优势:捕获单词之间的语义关系。降低维度,便于检索。

关键词:语义信息;检索增强;

12.什么是向量数据库?原理是什么?主流的有哪些?举例说明?

答:

词向量数据库:专门用于存储和检索词向量的数据库,主要关注词向量之间的特点和相似性。

原理:将数据表示为向量形式,计算数据间的余弦距离,点积等,获取与目标向量的相似度。

主流的向量数据库:

chroma:适用于初学者,轻量级,丰富功能和API

Weaviate:是一个开源向量数据库

13.什么是SDK?什么是Embedding API?代码解释说明?

答:

SDK(software develop kit)软件开发包的简称。

Embedding API:表示一种应用程序的接口,用于处理词向量的数据。

print(f'response类型为:{type(response)}')     ------------“class 'zhipuai.types.embeddings.EmbeddingsResponded”表示为智普AI词嵌入回复的形式

print(f'embedding类型为:{response.object}')    

--------回答的词向量的类型:“embedding类型为:list”表示为一个列表对象

print(f'生成embedding的model为:{response.model}')

--------用于生成嵌入向量的模型名称或类型 :“生成embedding的model为:embedding-2”

print(f'生成的embedding长度为:{len(response.data[0].embedding)}')

---------生成词向量的长度:“生成的embedding长度为:1024”

print(f'embedding(前10)为: {response.data[0].embedding[:10]}')

--------- 词向量的前10个数的值:“embedding(前10)为: [0.03280681, 0.05125484, -0.014820482, 0.03557062, 0.0027512622, -0.0012797196, -0.039149478, 0.00043280618, 0.0040008845, -0.016411666]”

14.数据读取、数据清洗、文档分割?代码解释说明?

答:

数据读取:可直接使用 LangChain 的 PyMuPDFLoader读取pdf文件。

数据清洗:去除换行符,空格等无关元素。采用正则表达式的方法。代码解释说明:

import re      #re模块提供支持正则表达式功能,允许对字符串进行模式匹配和替换

pattern = re.compile(r'[^\u4e00-\u9fff](\n)[^\u4e00-\u9fff]', re.DOTALL)   #匹配到非汉字的字符

pdf_page.page_content = re.sub(pattern, lambda match: match.group(0).replace('\n', ''), pdf_page.page_content)

#sub表示替换,将文本中所有匹配到的字符转换为空字符。消除换行符

print(pdf_page.page_content)


文档分割:单个文档需要进行分割,以便模型能够处理,分割为chunk,转换为词向量存储到词向量库中。

参数说明:chunk_size 表示每种块包含的tokens的多少;chunk_overlap表示两个块中间共享的字符数量,用于保持上下文的连贯性。

15.配置向量库、构建chroma向量库?代码解释说明?

答:

读取和分割文档。根据不同的文件类型进行加载读取。

定义词向量的模型。利用已经有的API进行定义。

生成chroma向量数据库。

代码片段理解:

# 用于遍历文件夹中的所有文件。os.walk()函数可以进入到每一个文件夹中,并迭代更改root和file的值

file_paths = []

folder_path = '../../data_base/knowledge_db'

for root, dirs, files in os.walk(folder_path):

    for file in files:

        file_path = os.path.join(root, file)

        file_paths.append(file_path)

# 得到文件的后缀,表示文件类型

file_type = file_path.split('.')[-1]

关键词:准备工作;Embedding模型;chroma数据库;

16.什么是相似度检索?什么是MMR检索?

答:

相似度检索:使用的是余弦距离的计算。

MMR检索:考虑与查询的相似度,还考虑结果之间的多样性。

17.基于LangChain自定义Embedding?代码解释说明?

答: 

将ZhipuAI的接口进行封装即可。

思路如下:

继承BaseModle的Embedding类。-------> 将ZhipuAI()定义在value的‘client’属性中------>调用ZhipuAI中的Embedding的创建功能直接使用即可。

代码解释:

# 用于生成日志

logger = logging.getLogger(__name__)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容