LangChain 摘要 和问答示例

在Azure上的OpenAI端点
注意 OpenAI key 可以用微软 用例【1. 嵌入 ,2. 问答】
1.

import os
import openai
from langchain.embeddings import OpenAIEmbeddings
os.environ["OPENAI_API_KEY"]  = "****"  # Azure 的密钥
os.environ["OPENAI_API_BASE"] = "https://z****/"  # Azure 的终结点
os.environ["OPENAI_API_TYPE"] = "azure"
os.environ["OPENAI_API_VERSION"] = "****"  # API 版本,未来可能会变
model = "***"  # 模型的部署名
embeddings = OpenAIEmbeddings(engine=model)#text-embedding-ada-002 最好用相同的
text = "你是"
query_result = embeddings.embed_query(text)
doc_result = embeddings.embed_documents([text])
print(doc_result)

结果
2.

import os
import openai
from langchain.embeddings import OpenAIEmbeddings
os.environ["OPENAI_API_KEY"]  = "****"  # Azure 的密钥
os.environ["OPENAI_API_BASE"] = "https://z****/"  # Azure 的终结点
os.environ["OPENAI_API_TYPE"] = "azure"
os.environ["OPENAI_API_VERSION"] = "****"  # API 版本,未来可能会变
model = "***"  # 模型的部署名
llm = AzureOpenAI(deployment_name=model,model_name="gpt-35-turbo",
)
print(llm("你好"))

在这里插入图片描述

LangChain 和 LLM 最常见的用例之一是摘要。您可以总结任何一段文本,但用例包括总结电话、文章、书籍、学术论文、法律文件、用户历史、表格或财务文件。拥有一个可以快速汇总信息的工具非常有帮助。

  • 深潜- (即将推出)
  • 示例-总结 B2B 销售电话
  • 用例- 总结文章、成绩单、聊天记录、Slack/Discord、客户互动、医学论文、法律文件、播客、推文线程、代码库、产品评论、财务文件

短文本摘要

对于短文的摘要,方法很简单,其实你不需要做任何花哨的事情,只需简单的提示说明即可

from langchain.llms import OpenAI
from langchain import PromptTemplate# 请注意,默认模型已经是,但我在这里明确指出它,以便您以后知道在何处更改它(如果需要)
llm = AzureOpenAI(deployment_name=model,model_name="gpt-35-turbo",
)template = """
%指示:
请总结下面的一段文字。
以 5 岁儿童能理解的方式回答。%文本:
{text}
"""
prompt = PromptTemplate(input_variables=["text"],template=template,
)confusing_text = """
近日深圳市人民政府办公厅正式印发了《深圳市数字孪生先锋城市建设行动计划(2023)》(简称:“计划”),其中对于如何建设城市级数字孪生底座、如何打造万亿级核心产业增加值数字经济高地都列出了执行方式。深圳市一直是国内数字孪生城市建设的“排头兵”,此次“计划”的发布,表明深圳市将在打造“标杆性”数字孪生城市方面继续布局发力,并给出了更加具体的执行措施。在该“计划”发布之前,已有多项数字孪生相关国家级、省级、市级政策文件发布,包括《数字中国建设整体布局规划》、《国务院关于加强数字政府建设的指导意见》(国发〔2022〕14号)、《广东省数字政府改革建设“十四五”规划》(粤府〔2021〕44号)、《深圳市数字政府和智慧城市“十四五”发展规划》。此次“计划”的总体目标是相对量化具体的,总共分为四个大的方向:建设一个一体协同的数字孪生底座、构建不少于十类数据相融合的孪生数据底板、上线承载超百个场景、超千项指标的数字孪生应用、打造万亿级核心产业增加值数字经济高地。接着,“计划”详细阐释了要如何完成这四大目标,具体要做哪些事,同时,“计划”明确了完成每项目标的牵头单位和责任单位,整体来看,牵头单位和责任单位主要以政府部门和国企为主。在建设一体协同的城市级数字孪生底座方面,深圳将建设市区协同、统分结合的全市域时空信息平台(CIM平台),要按照“两级平台、四级应用”架构,打造“1+11+N”CIM平台体系,建设11个区级平台,N个部门级、行业级、重点片区级平台。为了构建泛在实时、全域覆盖的物联感知体系,深圳将实现城市管理、交通、水务、生态环境、应急安全等领域不少于30万个物联感知终端接入,逐步推进28万路摄像头信息融入CIM平台。在上线承载超百个场景、超千项指标的多跨协同数字孪生应用方面,深圳将建设城市级智能网联汽车统一监管平台,推动智能网联汽车高质量集聚发展;深圳将围绕政务服务、出行、住房、医疗、教育、养老等民生服务场景,深度挖掘数字孪生应用场景,让市民群众在智慧城市和数字政府建设中更有获得感。最后,在打造信创驱动、数字赋能的万亿级核心产业增加值数字经济高地方面,深圳将加快推进数字孪生城市建设所需软硬件和底层技术国产化适配,探索鹏城云脑为城市级仿真推演和人工智能应用提供海量图形渲染及AI算力支撑。"""
final_prompt = prompt.format(text=confusing_text)
print(final_prompt)
print ("------- Prompt End -------")
output = llm(final_prompt)
print(output)

结果

较长文本的摘要

此方法也适用于短文本

摘要涉及创建多个较长文档的较小摘要。这对于将长文档提炼成核心信息很有用。

llm = AzureOpenAI(deployment_name=model,model_name="gpt-35-turbo",
)
with open('D:\操作系统\开通openAI embeding.md','r',encoding="utf-8") as file:text = file.read()
print(text[:285])
num_tokens = llm.get_num_tokens(text)
print (f"您的文件中有{num_tokens}个令牌")
text_splitter = RecursiveCharacterTextSplitter(separators=["\n\n", "\n"], chunk_size=4000, chunk_overlap=350)
docs = text_splitter.create_documents([text])
print (f"您现在拥有 {len(docs)} 文档包含段文本")
chain = load_summarize_chain(llm=llm, chain_type='map_reduce',verbose=True) # verbose=True 可选,以查看发送到 LLM 的内容
# 这将运行 3 个文档,总结块,然后得到摘要的摘要。
output = chain.run(docs)
print (output)

结果

使用文档作为上下文的问答

为了使用 LLM 进行问​​答,我们必须:

1.通过LLM相关上下文它需要回答一个问题
2.将我们想要回答的问题传递给它
简化后,这个过程看起来像这样“llm(你的背景+你的问题)=你的答案”

简单问答示例

llm = AzureOpenAI(temperature=0,deployment_name=model,model_name="gpt-35-turbo",
)
context = """
1:可口可乐,价格4元
2:百事可乐,价格4.5元
3:雪碧,价格3.5元
4:脉动,价格6元
5:果趣,价格7元
6:果粒橙,价格5元
"""question = "从中找一个最贵的饮料 给出答案"
output = llm(context + question)
# 我剥离文本以删除前导和尾随空格
print (output.strip())

在这里插入图片描述

随着我们提高我们的复杂性,我们将更多地利用这个约定。

当您需要选择将哪些数据放入上下文中时,困难的部分就出现了。这个研究领域被称为“文档检索”,并与 AI Memory 紧密结合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯每日一题2023.10.7

跑步锻炼 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 简单枚举&#xff0c;对于2的情况特判即可 #include<bits/stdc.h> using namespace std; int num, ans, flag; int m[13] {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; bool is_ren(int n) {if((n %…

C++20中的关键字

文章目录 前言关键字列表关键字含义总结 前言 源于上一篇中提到了 decltype是一个关键字&#xff0c;所以去查了现有的关键字列表&#xff0c;其实我对C/C的关键字还停留在上世纪大概30多个的时代&#xff0c;虽然知道C加了 auto、constexpr 等关键字&#xff0c;但查询过后才…

计算机网络(三):数据链路层

参考引用 计算机网络微课堂-湖科大教书匠计算机网络&#xff08;第7版&#xff09;-谢希仁 1. 数据链路层概述 1.1 数据链路层在网络体系结构中所处的地位 链路 (Link) 就是从一个结点到相邻结点的一段物理线路&#xff0c;而中间没有任何其他的交换结点 数据链路 (Data Link)…

3.primitive主数据类型和引用 认识变量

3.1 声明变量 Java注重类型。它不会让你做出把长颈鹿类型变量装进兔子类型变量中这种诡异又危险的举动——如果有人对长颈鹿调用“跳跃”这个方法会发生什么样的悲剧&#xff1f;并且它也不会让你将浮点数类型变量放进整数类型的变量中&#xff0c;除非你先跟编译器确认过数字…

【状态估计】将Transformer和LSTM与EM算法结合到卡尔曼滤波器中,用于状态估计(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

JavaWeb:上传文件

1.建普通maven项目&#xff0c;或者maven项目&#xff0c;这里以普通maven为例&#xff0c;区别的jar包的导入方式啦 到中央仓库下载哦 2.结构 3.写fileservlet public class FileServlet extends HttpServlet {Overrideprotected void doPost(HttpServletRequest req, HttpSe…

LVS+Keepalived 高可用集群负载均衡

一.keepalived介绍 1.1.Keepalived实现原理 由多台路由器组成一个热备组&#xff0c;通过共用的虚拟IP地址对外提供服务。 每个热备组内同时只有一台主路由器提供服务&#xff0c;其他路由器处于冗余状态。 若当前在线的路由器失效&#xff0c;则其他路由器会根据设置…

三相PWM整流器滞环电流控制Simulink仿真模型

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

No168.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

【C++面向对象侯捷下】4. pointer-like classes,关于智能指针 | 5. function-like classes,所谓仿函数

文章目录 4. pointer-like classes,关于智能指针pointer-like classes,关于智能指针 shared_ptrpointer-like classes,关于迭代器5. function-like classes&#xff0c;所谓仿函数【不懂&#xff0c;跳过】 4. pointer-like classes,关于智能指针 pointer-like classes,关于智…

【机器学习】决策树原理及scikit-learn使用

文章目录 决策树详解ID3 算法C4.5算法CART 算法 scikit-learn使用分类树剪枝参数重要属性和接口 回归树重要参数&#xff0c;属性及接口交叉验证代码示例 一维回归的图像绘制 决策树详解 决策树&#xff08;Decision Tree&#xff09;是一种非参数的有监督学习方法&#xff0c;…

Django 前端模板显示换行符、日期格式

linebreaksbr 显示换行符 <td>{{ data.sku_list|default:"无"|linebreaksbr }}</td> date:"Y年m月d日 H:i" 设置日期格式 <td>{{ data.submit_time|date:"Y年m月d日 H:i" }}</td> 其他语法 forloop 获取循环的索引 …

【audio】alsa pcm音频路径

文章目录 AML方案音频路径分析dump alsa pcm各个音频路径的原始音频流数据 AML方案音频路径分析 一个Audio Patch用来表示一个或多个source端到一个或多个sink端。这个是从代码的注释翻译来的&#xff0c;大家可以把它比作大坝&#xff0c;可以有好几个入水口和出水口&#xf…

【新书推荐】当 Python 遇到 ChatGPT —— 自动化办公落地

文章目录 当 Python 遇到 ChatGPT&#xff1a;一种强大的组合1. 文本生成2. 自动翻译3. 对话生成4. 情感分析 新书推荐《Python自动化办公应用大全&#xff08;ChatGPT版&#xff09;&#xff1a;从零开始教编程小白一键搞定烦琐工作&#xff08;上下册&#xff09;》前言内容简…

Neo4j深度学习

Neo4j的简介 Neo4j是用Java实现的开源NoSQL图数据库。从2003年开始开发&#xff0c;2007年正式发布第一版&#xff0c;其源码托管于GitHtb。Neo4j作为图数据库中的代表产品&#xff0c;已经在众多的行业项目中进行了应用&#xff0c;如&#xff1a;网络管理、软件分析、组织和…

DirectX12_Windows_GameDevelop_3:Direct3D的初始化

引言 查看龙书时发现&#xff0c;第四章介绍预备知识的代码不太利于学习。因为它不像是LearnOpenGL那样从头开始一步一步教你敲代码&#xff0c;导致你没有一种整体感。如果你把它当作某一块的代码进行学习&#xff0c;你跟着敲会发现&#xff0c;总有几个变量是没有定义的。这…

乌班图22.04 kubeadm简单搭建k8s集群

1. 我遇到的问题 任何部署类问题实际上对于萌新来说都不算简单&#xff0c;因为没有经验&#xff0c;这里我简单将部署的步骤和想法给大家讲述一下 2. 简单安装步骤 准备 3台标准安装的乌班图server22.04&#xff08;采用vm虚拟机安装&#xff0c;ip为192.168.50.3&#xff0…

STC89C51基础及项目第10天:LCD显示字符(非标协议外设)

1. 初识LCD1602&#xff08;233.79&#xff09; 非标协议外设 LCD1602显示 LCD1602&#xff08;Liquid Crystal Display&#xff09;是一种工业字符型液晶&#xff0c;能够同时显示 1602 即 32 字符(16列两行) 引脚说明 第 1 脚&#xff1a; VSS 为电源地第 2 脚&#xff1…

SpringBoot项目默认使用HikariDataSource数据库连接池修改使用Druid连接池

1.启动项目&#xff0c;查看正在使用的链接池。 2.在pom.xml文件中引入驱动 <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.8</version></dependency> 3.在ap…

机器视觉工程师,公司设置奖金,真的为了奖励你吗?其实和你没关系

​据说某家大厂&#xff0c;超额罚款&#xff0c;有奖有罚很正常&#xff0c;但是我觉得你罚款代理商员工就不一样了&#xff0c;把代理商当成你的员工&#xff0c;我就觉得这些大厂的脑回路有问题。 有人从来没听说过项目奖金&#xff0c;更没有奖金。那么为什么设置奖金呢&a…