Azure OpenAI citations with message correlation

题意:“Azure OpenAI 引用与消息关联”

问题背景:

I am trying out Azure OpenAI with my own data. The data is uploaded to Azure Blob Storage and indexed for use with Azure AI search

“我正在尝试使用自己的数据进行 Azure OpenAI。数据已上传到 Azure Blob 存储并为 Azure AI 搜索进行了索引。”

I do a call to the endpoint in the form of POST {endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}, as referenced here.

“我对端点进行了一次调用,形式为 `POST {endpoint}/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}`,就像这里所引用的。”

However, in the response I cannot figure out how the choices[0]['message']['context']['citations'] field correspond to the choices[0]['message']['content'].

“然而,在响应中,我无法弄清楚 `choices[0]['message']['context']['citations']` 字段是如何与 `choices[0]['message']['content']` 对应的。”

For example, I can have a content as something like:

“例如,我的 `content` 可能是这样的:”

I have a pear [doc1][doc2]. I have an apple [doc1][doc3].

However, in my citations it looks like:

“然而,在我的 `citations` 中,它看起来像这样:”

citations[0].filepath == 'file1.pdf'
citations[1].filepath == 'file2.pdf'
citations[2].filepath == 'file1.pdf'
citations[3].filepath == 'file3.pdf'
citations[4].filepath == 'file4.pdf'

In summary, my question is whether if there is some sort of mapping from doc as shown in the message to the citations.filepath.

“总而言之,我的问题是是否存在一种映射,将消息中显示的 `doc` 与 `citations.filepath` 关联起来。”

问题解决:

Actually, it is not about the length of the citations; it is about how many times the file is referred.

“实际上,这与 `citations` 的长度无关,而是与文件被引用的次数有关。”

If you observe clearly, you can see 'file1.pdf' is referred twice, so mappings will be based on the first appearance and reuse of docs like below:

“如果你仔细观察,可以看到 `file1.pdf` 被引用了两次,因此映射将基于第一次出现和重用文档,如下所示:”

  • doc1 -> citations[0] (file1.pdf).
  • doc2 -> citations[1] (file2.pdf).
  • Reuse of doc1 -> Refers back to the first document (citations[2], file1.pdf).
  • doc3 -> citations[3] (file3.pdf).

Use the code below to get mappings and use it in the content.

“使用下面的代码来获取映射,并在内容中使用它。”

import redef map_citations(content, citations):pattern = re.compile(r'\[doc(\d+)\]')segments = pattern.split(content)doc_numbers = []for segment in segments:if segment.isdigit():doc_numbers.append(int(segment))doc_to_file_map = {}for i, doc_num in enumerate(doc_numbers):doc_to_file_map[f'doc{doc_num}'] = citations[i]['filepath']print(doc_to_file_map)def replace_placeholder(match):doc_num = match.group(1)return f"[{doc_to_file_map[f'doc{doc_num}']}]"mapped_content = pattern.sub(replace_placeholder, content)return mapped_contentcontent = "I have a pear [doc1][doc2]. I have an apple [doc1][doc3]."
citations = [{'filepath': 'file1.pdf'},{'filepath': 'file2.pdf'},{'filepath': 'file1.pdf'},{'filepath': 'file3.pdf'},{'filepath': 'file4.pdf'}
]mapped_content = map_citations(content, citations)
print(mapped_content)

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

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

相关文章

ubuntu系统在线安装下载firefox-esr流览器

1、在线firefox流览器 Firefox ESR(Extended Support Release)是火狐浏览器的长期支持版本,针对同一个主版本提供一年左右的安全性与稳定性支持。如果您因为火狐浏览器改版而导致有原本能用的功能变得不能使用的话(例如Firefox 64.0把RSS订阅的功能拿掉了)&#xf…

VBA之正则表达式(46)-- 解析业务逻辑公式

实例需求:某业务系统的逻辑公式如下所示(单行文本),保存在活动工作表的A1单元格中。 "DSO_90Day"->"FA_NoFunc"->"FCCS_No Intercompany"->"FCCS_Data Input"->"FCCS_…

SparkSQL数值模式详解

简介 函数如 to_number 和 to_char 确实支持在字符串类型和十进制(数值)类型之间进行转换。这些函数接受格式字符串作为参数,这些格式字符串指示了如何在这两种类型之间映射。 to_number:这个函数通常用于将字符串转换成数值类型…

在IDEA中使用Git

在IntelliJ IDEA(通常简称为IDEA)中使用Git进行版本控制是一种高效且集成度高的做法。以下是在IDEA中使用 Git的详细步骤和说明:一、安装与配置Git 安装Git: 前往Git的官方网站下载并安装Git。 安装过程中,建议勾选“…

泛微E9如何更新缓存

泛微E9如何更新缓存 在E9中,是默认开启了数据缓存的,如果直接操作数据库是会存在缓存不更新的问题,E9系统提供以下几种方式进行缓存清空的方式。 注:原则上禁止通过非程序渠道直接修改OA数据库数据,可以直接在页面进行…

flutter开发小技巧

Uri对象的使用 直接使用字符串来拼接 URI 地址需要关注地址中拼接的每个部分的合法性,并且在处理复杂逻辑时需要更冗长的处理,如果变量包含非法字符(如中文),整个地址非法。 如:在路由跳转中使用 方式一:使用Uri对象…

clickhouse-neighbor 坑爹的排序

对于排序规则明显的数据集,使用neighbor来做分析,是一个非常强大的函数,能完成很多复杂的计算,例如高速公路分析车辆流量。 高速公路截面流量一般是通过路面上的门架采集设备采集通行卡的信息和识别牌照组成,在路面行驶…

Linux云计算 |【第二阶段】SECURITY-DAY3

主要内容: Prometheus监控服务器、Prometheus被监控端、Grafana监控可视化 补充:Zabbix监控软件不自带LNMP和DB数据库,需要自行手动安装配置;Prometheus监控软件自带WEB页面和DB数据库;Prometheus数据库为时序数据库&…

05:极限-无穷小

1.无穷小的概念及比较 定义: lim ⁡ x → x 0 f ( x ) 0 , 则称 f ( x ) 是 x x 0 时的无穷小 定义: \lim_{x \to x_0} f(x) 0,则称f(x)是xx_0时的无穷小 定义:x→x0​lim​f(x)0,则称f(x)是xx0​时的无穷小 性质Value①有限个无穷小相加还…

java 使用 aws s3 sdk 实现视频文件的分段下载来实现html 页面 video 的断点播放、拖动进度播放

参考博客: 1. Java 视频流分段返回 1. java 拉取 aws s3 视频流返回给浏览器: Overridepublic void playVideo(Long fileLength,String key,HttpServletRequest request,HttpServletResponse response) {OutputStream outputStream null;S3ObjectInputS…

JVM 运行时内存结构简介

JVM 运行时内存结构简介 一、前言二、JVM 运行时内存结构2.1 线程隔离数据区:2.2 线程共享数据区: 三、JVM 内存区域划分1. 程序计数器(PC)2. 虚拟机栈3. 本地方法栈4. Java 堆5. 方法区6. 运行时常量池 附录 一、前言 JVM&#…

【C#】【EXCEL】Bumblebee/Classes/ExColumn.cs

文章目录 Bumblebee/Classes/ExColumn.csFlow diagramDescriptionCode Bumblebee/Classes/ExColumn.cs Flow diagram #mermaid-svg-6WUm4r0wDJG9uelI {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6WUm4r0wDJG9ue…

手撕C++类和对象(中)

1.类的默认成员函数 默认成员函数就是⽤⼾没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个类,我 们不写的情况下编译器会默认⽣成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最 后两个取地址重载不…

Linux 内核源码分析---IPv6 数据包

IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。 由于IPv4最大的…

ES6 -- 总结 03

Es6的模块化 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head>…

鸿蒙Harmony开发——设备发烫问题分析

&#xff1b; 本文字数&#xff1a;4207字 预计阅读时间&#xff1a;25分钟 设备过热问题是影响用户体验和设备性能的重要因素。过热不仅会导致性能下降&#xff0c;还可能损坏硬件。因此&#xff0c;开发者需要及时发现、分析并解决这一问题。本文将首先介绍评估设备过热的关键…

文心快码(Baidu Comate)初体验

文心快码&#xff08;Baidu Comate&#xff09;初体验 1文心快码简介和安装&#xff1a;简要介绍文心快码&#xff08;Baidu Comate&#xff09;、安装方法、使用方法等&#xff1b; Baidu Comate 是由百度自主研发&#xff0c;基于文心大模型&#xff0c;结合百度丰富的编程现…

C/C++逆向:寻找main函数(Debug-x86)

在程序的逆向分析中&#xff0c;寻找main函数在逆向分析中是非常重要的&#xff0c;它是程序的核心执行点&#xff0c;从这里开始&#xff0c;程序的主要逻辑开始展开&#xff1b;在这边我们需要明确两个概念&#xff1a;用户入口&#xff08;User Entry Point&#xff09; 和 …

(十二)Flink Table API

目录 Table API 案例 Table API 连接操作 Table API 是批处理和流处理的统一的关系型 API。Table API 的查询不需要修改代码就可以采用批输入或流输入来运行。Table API 是 SQL 语言的超集,并且是针对 Apache Flink 专门设计的。Table API 集成了 Scala,Java 和 Python 语言…

WIN 10 添加右键菜单(VSCode 打开当前目录)

WIN 10 添加右键菜单&#xff08;VSCode 打开当前目录&#xff09; 前言最终效果操作步骤 前言 每次打开代码都需要先打开 VSCode&#xff0c;再选择最近打开的项目或者浏览打开项目&#xff0c;感觉比较难找。所以自己添加了右键命令。 最终效果 操作步骤 cmd 打开注册表 找…