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.rhkb.cn/news/150040.html

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

相关文章

除静电离子风棒的工作原理及应用

除静电离子风棒是一种常见的除静电设备,它的工作原理是通过产生大量的负离子来中和物体表面的静电电荷,从而达到除静电的目的。 静电离子风棒内部装有一个电离器,电离器会将空气中的氧气分子或水分子电离成正、负离子。这些带电的离子在空气…

MATLAB学习

前言 MATLAB是“MATrix LABoratory”的缩写,它是由美国Mathworks公司于1984年推出的一种科学计算软件。 语言及其特点 1.功能强大 (1)运算功能强大。MATLAB是以复数矩阵为基本编程单元的程序设计语言其强大的运算功能使其成为世界顶尖的数学应用软件之一。 (2)功能…

【Overload游戏引擎分析】编辑器对象鼠标拾取原理

Overload的场景视图区有拾取鼠标功能,单击拾取物体后会显示在Inspector面板中。本文来分析鼠标拾取这个功能背后的原理。 一、OpenGL的FrameBuffer 实现鼠标拾取常用的方式有两种:渲染id到纹理、光线投射求交。Overload使用的是渲染id到纹理&#xff0c…

Elasticsearch:ES|QL 查询语言简介

警告:此功能处于技术预览阶段,可能会在未来版本中更改或删除。 Elastic 将尽最大努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。在目前的 Elastic Stack 8.10 中此功能还没有提供。 Elasticsearch 查询语言 (ES|…

聚焦酷开科技智能大屏OS Coolita,打造智能推荐服务能力全景

2023年9月18日—22日,科学和教育计算机协会The Association for Computing Machinery(ACM)在新加坡举办了为期5天的ACM RecSys 2023,云集了各大品牌的科技巨头技术人员,还有中外各大高等学府学者参与其中,共…

ROS机械臂开发-开发环境搭建【一】

目录 前言环境配置docker搭建Ubuntu环境安装ROS 基础ROS文件系统 bugs 前言 想系统学习ROS,做一些机器人开发。因为有些基础了,这里随便写写记录一下。 环境配置 docker搭建Ubuntu环境 Dockerfile # 基础镜像 FROM ubuntu:18.04 # 设置变量 ENV ETC…

解密人工智能:决策树 | 随机森林 | 朴素贝叶斯

文章目录 一、机器学习算法简介1.1 机器学习算法包含的两个步骤1.2 机器学习算法的分类 二、决策树2.1 优点2.2 缺点 三、随机森林四、Naive Bayes(朴素贝叶斯)五、结语 一、机器学习算法简介 机器学习算法是一种基于数据和经验的算法,通过对…

OpenAI重大更新!为ChatGPT推出语音和图像交互功能

原创 | 文 BFT机器人 OpenAI旗下的ChatGPT正在迎来一次重大更新,这个聊天机器人现在能够与用户进行语音对话,并且可以通过图像进行交互,将其功能推向与苹果的Siri等受欢迎的人工智能助手更接近的水平。这标志着生成式人工智能运动的一个显著…

1.4 系统环境变量

前言: **1.4 系统环境变量** --- **主要内容**: - **系统环境变量的定义**: 系统环境变量是在计算机操作系统中定义的一系列变量。这些变量是全局的,可以被操作系统上的所有应用程序所使用。 - **Java中的环境变量**: - 当学习和使用Java时&am…

【Ambari】银河麒麟V10 ARM64架构_安装Ambari2.7.6HDP3.3.1问题总结

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文…

起重机笔记 - 进阶篇(编辑中...)

1.双速葫芦 起重机在实际使用过程中,要兼顾效率和最大载重这两个因素,所以,起重机厂商会推出双速葫芦。双速葫芦的变速比,10吨的级别,最高可以达到1:10甚至更靠上。大功率的低速档用于提升高载荷负重,高速…

3分钟基于Chat GPT完成工作中的小程序

1. 写在前面 GPT自从去年爆发以来,各大公司在大模型方面持续发力,行业大模型也如雨后春笋一般发展迅速,日常工作中比较多的应用场景还是问答模式,作为写程序的辅助也偶尔使用。今天看到一篇翻译的博客“我用 ChatGPT,…

学习开发一个RISC-V上的操作系统(汪辰老师) — unrecognized opcode `csrr t0,mhartid‘报错问题

前言 (1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接 正文 (1)在跟着…

基于Springboot的漫画网站springboot022

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

mac连接easyconnnect显示“本地环境出现异常”

mac连接easyconnnect显示“本地环境出现异常” 解决方法: 终端下输入:vim ~/.zprofile文件内加入如下内容,如下图: ####解决连接easyconnnect显示“本地环境出现异常问题 function EC_start(){/Applications/EasyConnect.app/Co…

详谈Spring

作者:爱塔居 专栏:JavaEE 目录 一、Spring是什么? 1.1 Spring框架的一些核心特点: 二、IoC(控制反转)是什么? 2.1 实现手段 2.2 依赖注入(DI)的实现原理 2.3 优点 三、AO…

Qt扩展-Advanced-Docking 简介及配置

Advanced-Docking 简介及配置 一、概述二、项目结构三、安装配置四、代码测试 一、概述 Advanced-Docking 是类似QDockWidget 功能的多窗口停靠功能的库。很像visual stdio 的 停靠功能,这个库对于停靠使用的比较完善。很多的软件都使用了这个框架。 项目源地址&a…

H3C交换机 DEV/1/FAN_DIRECTION_NOT_PREFERRED

1.现象 DEV/1/FAN_DIRECTION_NOT_PREFERRED: Fan 1 airflow direction is not preferred on slot 1, please check it. 2.解决方法: 查看下设备风扇的颜色,风扇分为红色与蓝色,不通颜色通风方式不通。 我这里的风扇是蓝色,修改…

亚马逊计划向开创性的人工智能初创公司Anthropic投资高达4亿美元

原创 | 文 BFT机器人 在一项巨大而突破性的举措中,亚马逊公布了向人工智能初创公司Anthropic投资高达4亿美元的计划,其愿景是创建更易于理解和可控的人工智能系统。此次合作标志着亚马逊打算在人工智能领域率先取得进步,巩固其在技术领域的地…

【已解决】Pyecharts折线图,只有坐标轴没有折线数据

【已解决】Pyecharts折线图,只有坐标轴没有折线数据 1、问题复现2、原因3、问题解决 1、问题复现 在做简单的数据通过 Pyecharts 生成折现图的时候,一直只有坐标轴没有折线数据,但是代码一直看不出问题,代码如下: im…