首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS实践:打造一个可以快速索引的城市列表页1. 从plist中获取城市字典2. 对城市的首字母进行排序3. 设置边栏索引4. 关于约束的重要提示5. 完善:封装

相信绝大部分LBS的APP里面,大家都能看到一个带索引的城市列表页面,用来让用户选择所在城市。...从plist中获取城市字典 1.1 准备素材,下载文件 城市列表(带拼音首字母的),下载地址: 链接: https://pan.baidu.com/s/1nV**YJJ 密码: cjpw...1.2 从plist中读取出所有的城市。...设置边栏索引 边栏的索引显示的文字和实际跳转没有直接关系。 边栏索引无论写什么,都是按照实际的key值进行跳转的。...//当从XIB或者UIStoryboard中创建UITableView的时候加载此方法 - (void)awakeFromNib{ [super awakeFromNib]; [self

2.4K20

RAG 技术综述

LLM 微调 最近 OpenAI 开始提供 LLM 微调 API,LlamaIndex 提供了在 RAG 设置中微调 GPT-3.5-turbo 的教程,旨在 “提炼” GPT-4 的部分知识。...在实际运行时,我们使用相同的编码器模型将用户的查询转换成向量,然后对这个查询向量进行搜索,针对索引找到前 k 个结果,从数据库中检索相应的文本段落,并将它们作为上下文输入到 LLM 的提示中。...我们如何过滤和验证检索到的内容?我们能如何提升模型对抗错误信息和噪声的能力? 微调协同:如何同时发挥 RAG 和微调 (Fine-tuning, FT) 的效果?...大语言模型的角色:LLMs 可以用于检索(用生成替代搜索或搜索 LLMs 的记忆)、生成和评估。我们如何进一步挖掘 LLMs 在 RAG 中的潜力? 生产部署:我们如何减少超大规模语料库的检索延时?...市场上不仅有像 Langchain 和 LlamaIndex 这样的知名工具,还涌现出许多更具针对性的 RAG 工具。

1.6K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【愚公系列】《AI智能化办公:ChatGPT使用方法与技巧从入门到精通》 004-ChatGPT是什么(ChatGPT的特点与发展)

    ChatGPT经历了多次版本迭代,从GPT-1到GPT-4,每一次升级都为用户带来了更强大的功能和更好的体验。这一发展标志着人工智能技术的不断进步和应用场景的不断扩展。...搜索引擎主要提供已有的信息和答案,缺乏创造性和推理能力。语言多样性:ChatGPT在训练中接触到了不同领域和语言风格的文本,能够适应不同的对话场景和用户需求。...相较于GPT-1,GPT-2采用了更大的模型规模,参数量从1.17亿增至15亿;同时拥有更大的语料库,数据量从5GB增至40GB。...然而,从GPT-3开始,其模型不再完全公开,只能通过API访问。2.1 GPT-3.5GPT-3.5是由GPT-3微调而来的版本,采用与GPT-3不同的训练方式,比GPT-3更强大。...GPT-4在各种职业和学术考试上表现与人类水平相当,例如在模拟律师考试中,取得了排名前10%的好成绩,而GPT-3.5的排名则在后10%。有网友推测GPT-4的参数量已达到100万亿。

    14920

    【重磅】TensorFlow 1.0 官方正式发布,重大更新及5大亮点

    v=4n1AHvDvVvw TensorFlow生态系统持续成长,包括Fold 动态批处理和Embedding Projector等工具以及我们现有工具(如TensorFlow Serving)的更新。...从公共API中删除RegisterShape。使用C++形状函数注册。 Python API 中的 _ref dtypes 已经弃用。...添加string_to_index_table,返回一个将字符串与索引匹配的查找表。 支持从contrib / session_bundle中的v2中的检查点文件恢复会话。...添加了关于如何处理recursive_create_dir现有目录的注释。 添加了QR因式分解的操作。 Python API中的分割和mod现在使用flooring(Python)语义。...Android:当调试模式激活时,TF stats现在直接显示在demo和日志中 Android:全新/更好的 README.md 文档 saved_model可用作tf.saved_model。

    1.6K70

    微信团队原创分享:iOS版微信的内存监控系统技术实践

    1)Stack1的G、F、E、D、C、A、依次插入到Hash Table,索引1~6结点数据依次是(G, 0)、(F, 1)、(E, 2)、(D, 3)、(C, 4)、(A, 5)。...Stack2索引入口是7; 3)最后插入Stack3,G、F、E、D结点hash命中;但由于Stack3的A的上一个地址D索引是4,而不是已有的(A, 5),hash不命中,查找下一个空白位置8,插入结点...(A, 4);B上一个地址A索引是8,而不是已有的(B, 5),hash不命中,查找下一个空白位置9,插入结点(B, 9)。...1、2、4、5比较容易判断,3依赖于自身CrashReport组件的crash回调,6、7依赖于ApplicationState和前后台切换通知。...的来龙去脉》 《QQ 18年:解密8亿月活的QQ后台服务接口隔离技术》 《月活8.89亿的超级IM微信是如何进行Android端兼容测试的》 《以手机QQ为例探讨移动端IM中的“轻应用”》 《一篇文章

    2K20

    解密Prompt系列14. LLM Agent之搜索应用设计:WebGPT & WebGLM & WebCPM

    前两章,我们分别介绍了基于微调和prompt的工具调用方案,核心都是如何让大模型和工具进行交互,包括生成工具调用语句和处理工具调用请求。...不过在实际应用中,想要设计一个可以落地的LLM Agent,需要更全面整体的系统设计。本章我们以搜索工具为例,介绍如何更好和搜索引擎进行交互的LLM Agent。...->我们先来看个例子,前一阵火爆全网的常温超导技术,如果想回答LK99哪些板块会涨,你会得到以下搜索答案图片从以上的搜索结果不难发现,Top1答案并不能回答问题,在和搜索引擎交互中几个可能的问题有Query...和搜索引擎的交互主要分成以下4个模块Search:生成搜索请求query,或基于结果进行query改写,请求搜索API。...webgpt的问题以ELI5为主,混合了少量TriviaQA,AI2,手写问题等其他问题。搜索引擎也是使用了Bing API。

    3.2K90

    从零开始优化 RAG 流程的终极指南,解决检索增强生成的核心挑战

    RAG 中的预检索 检索 在最重要的检索步骤中,用户查询被转换为称为嵌入的向量表示,并使用余弦相似度从向量数据库中找到相关块。这会尝试从向量存储中找到高度相关的文档块。...同时删除噪音数据,包括删除特殊字符、停用词(常用词如“the”和“a”)和 HTML 标签。 识别和纠正错误:包括拼写错误、打字错误和语法错误。...在分割块中用名称替换代词可以增强检索过程中的语义重要性。 添加元数据 添加元数据,例如概念和级别标签,以提高索引数据的质量。...元数据很有用,因为它在向量搜索上带来了额外的结构化搜索层。 优化索引结构 知识图谱或图神经网络索引利用,图数据索引中节点之间的关系,整合图结构中的信息来捕获相关上下文。...如何利用检索到的信息:在推理过程中如何将检索到的信息集成到生成模型中。 关于检索什么层级的内容,我们可以从检索粒度的粗细,以及数据结构化的高低来看业界研究结果。

    18500

    带你全面了解 RAG,深入探讨其核心范式、关键技术及未来趋势!

    特别是随着 GPT-4 的发布,RAG 技术经历了一次深刻的变革。研究重点开始转移至一种新的融合 RAG 和微调策略的方法,并且持续关注对预训练方法的优化。 ▲ 图2....另一种途径是不依赖外部信息源,而是充分发挥 LLMs 的内在能力,从模型自身生成的内容中检索。...RAG 核心组件的分类体系 4、RAG 和微调应该如何选择? 除了 RAG,LLMs 主要优化手段还包括了提示工程 (Prompt Engineering)、微调 (Fine-tuning,FT)。...然而,它不那么擅长整合新知识或快速迭代新的用例。RAG 和 FT,并不是相互排斥的,它们可以是互补的,联合使用可能会产生最佳性能。 ▲ 图5. RAG 与其他大模型微调技术对比 如何评价 RAG?...5、未来 RAG 还有哪些发展前景? RAG 的发展方兴未艾,还有哪些问题值得进一步去研究?我们从三个方面进行展望: 1.

    4.6K12

    致Android开发者:APP 瘦身经验总结

    Android 代码都打包在这种类型的文件中,可以通过反编译工具反编译后进行查看,在上图中可以看到,这个 APP 有 classes.dex、classes2.dex 和 classes3.dex 三个...>> 资源文件:包括 assets 目录、res 目录以及 resources.arsc 索引表文件。 下面介绍的 APP 瘦身方法都是基于如何减少以上三种类型文件的大小得出的方案。...当然还有很多无损压缩工具,例如 [JPEGMini]4、[MozJPEG]5 等,大家可以从中选择适合自己项目的一个就行,主要是在图片大小和图片质量之间找到一个折衷点。 4 ....WebP 转换的工具可以选择 [智图] 和 [iSparta]等。 5 ....使用 Lint 删除无用资源 Proguard 只会对 Java 代码起作用,对于 res/drawable* 目录中的图片,如果没有使用到,Proguard 只会移除该图片在 R 类中的引用,不会删除该图片

    96330

    解读大模型的微调

    在LLM的范围内,索引可以被视为一个上下文学习的解决方法,它使得LLM可以转换为信息检索系统,用于从外部资源和网站中提取数据。...在此过程中,索引模块将文档或网站分解为较小的段落,并将它们转换为可以存储在向量数据库中的向量。然后,当用户提交查询时,索引模块计算嵌入式查询与数据库中每个向量之间的向量相似度。...总的来说,参数高效微调至少有以下5个优点: 减少计算成本(需要更少的GPU和GPU时间); 更快的训练时间(更快地完成训练); 更低的硬件要求(可以使用更小的GPU和更少的存储器); 更好的模型性能(减少过拟合...在huggingface提供的PEFT工具中,可以很方便地实现将普通的HF模型变成用于支持轻量级微调的模型,使用非常便捷,目前支持4种策略,分别是: LoRA Prefix Tuning P-Tuning...然而,像前缀微调、适配器和低秩适应等技术,它们“修改”多个层,以极低的成本实现更好的预测性能。 4.RHLF 在人类反馈增强学习中,预训练模型使用监督学习和强化学习相结合进行微调。

    1K30

    软件测试面经:“试水”大厂竟收3份offer!(附100道面试真题分享)

    3、Java 中的容器有哪些?它们的区别和特性? 4、Java 多线程的创建 5、Java 的接口与抽象类的区别 6、Python 中方法的参数是值传递还是引用传递?...10、Linux 中查找某个文件并删除它 11、Linux 查询 CPU、内存的指令 12、Git 的常见操作,如 git stash 13、算法:快排的实现 14、算法:数组中查找出现次数过半的数...三面 1、继续问项目经验和技术难点 2、了解现在的工作环境,背景等 3、户口,家庭情况,伴侣工作等 4、Web View 怎么测试? 5、UI 测试做的是 iOS 还是 Android?...2、UI 自动化测试:iOS 和 Android 的区别,Appium 代码的双端复用等。 3、性能测试:工具、性能指标、多线程、并发。 4、算法 :常见的快排、冒泡、堆排、二分查找。...: 26、还问了python 的等等号和is得区别 京东物流 1、冒泡排序 2、实现字符串递归倒叙 3、取出列表中的奇数 4、找出列表中的重复数据并标出位置 5、从0-100中随机拿出来一个数

    96140

    KG4Py:Python代码知识图谱和语义搜索的工具包

    如何构建Python的代码知识图谱,又该如何进行搜索呢?现在的项目程序中存在着大量重复的代码片段,尤其是在软件开发的时候。...在本文中,我们提出了一个工具包(KG4Py),用于在GitHub存储库中生成Python文件的知识图谱,并使用知识图谱进行语义搜索。...在KG4Py中,我们删除了31.7万个Python文件中的所有重复文件,并通过使用具体语法树(CST)构建Python函数的代码知识图谱来执行这些文件的静态代码分析。...2.2 基于知识图谱的搜索系统2.2.1 模型中的语义搜索传统的搜索引擎只通过匹配关键词来检索答案,而语义搜索系统通过分割和理解句子来检索答案。在语义搜索之前,数据库中的问题和答案被嵌入到向量空间中。...Bi-encoders能够对编码的候选进行索引,并对每个输入比较这些表示,从而加快预测时间。时间从65小时(使用Cross-encoders)缩短至约5秒。

    2.3K40

    KG4Py:Python代码知识图谱和语义搜索的工具包

    如何构建Python的代码知识图谱,又该如何进行搜索呢?现在的项目程序中存在着大量重复的代码片段,尤其是在软件开发的时候。...在本文中,我们提出了一个工具包(KG4Py),用于在GitHub存储库中生成Python文件的知识图谱,并使用知识图谱进行语义搜索。...在KG4Py中,我们删除了31.7万个Python文件中的所有重复文件,并通过使用具体语法树(CST)构建Python函数的代码知识图谱来执行这些文件的静态代码分析。...2.2 基于知识图谱的搜索系统2.2.1 模型中的语义搜索传统的搜索引擎只通过匹配关键词来检索答案,而语义搜索系统通过分割和理解句子来检索答案。在语义搜索之前,数据库中的问题和答案被嵌入到向量空间中。...Bi-encoders能够对编码的候选进行索引,并对每个输入比较这些表示,从而加快预测时间。时间从65小时(使用Cross-encoders)缩短至约5秒。

    2.2K30

    使用向量数据库构建注重隐私的AI软件

    我们如何确保按照安全合规标准安全地处理此知识? 我们如何向用户保证删除其个人身份信息 (PII)? 让我们研究可用于确保应用程序符合安全和隐私标准的工具和模式。...按需删除 当用户希望被遗忘时,从向量数据库索引中删除其数据将导致 RAG 系统不再了解他们。 数据删除后,LLM 将无法回答有关给定用户或主题的问题。...与训练或微调相比,RAG 在管理特定于用户的数据方面提供了更大的灵活性,因为你可以从生产系统中快速删除一个或多个实体的数据,而不会影响其他用户的系统性能。...,以便后续检索查询不会返回任何结果——我们已有效地从 LLM 中删除了对我们用户的了解。...它要求您为自己留下对内容片段的周到处理,正如我们在 ID 前缀和元数据过滤中看到的那样,您可以使用它来有效地从您的系统中删除整个用户或组织的知识。

    11210

    关于Couchbase-Dzone数据库,你必须了解的10件事情

    2)事件 事件显然是Couchbase 5.5中最酷的功能之一。Eventing Service使你能够编写服务器端功能,每当插入/更新/删除文档时,这些功能都会自动触发。...这种特性通常要求你将数据推送到第三方工具,如Solr或ElasticSearch。但是,添加此类工具会显著增加基础结构的成本和复杂性,更不用说将对象/文档更改推送到这些工具所需的所有代码。...从Couchbase 5.0开始,你可以在web控制台中创建全文搜索索引,然后直接从数据库进行全文搜索: image.png 突出显示搜索结果: image.png 如何通过SDK进行简单搜索:...更快的查询、GROUP BYs和聚合下推 无论数据库如何,聚合(min、max、avg等)和GROUP Bys操作在性能方面一直存在问题。...image.png ~7ms-与之前相同的查询,但使用适当的索引 image.png 6)基于角色的访问控制和X 509证书 数据库是任何恶意入侵者的头奖,这就是为什么添加额外的安全层永远不会太多的原因

    1.9K00

    Android数据存储实现的5大方式

    Android数据存储实现的5大方式 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,更加系统详细的介绍了5种存储的方法和异同。...3 onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。...SQLite 会自动为主键列创建索引。 通常情况下,第一次创建数据库时创建了表和索引。 如果你不需要改变表的 schema,不需要删除表和索引 ....删除表和索引,需要使用 execSQL() 方法调用 DROP INDEX 和 DROP TABLE 语句。 给表添加数据 上面的代码,已经创建了数据库和表,现在需要给表添加数据。...中使用 SQLite 数据库管理工具 在其他数据库上作开发,一般都使用工具来检查和处理数据库的内容,而不是仅仅使用数据库的 API。

    6.8K90

    “AI玩手机”原理揭秘:大模型驱动的移动端GUI智能体

    其技术范式可以从输入模态和基座模型两个维度进行分类。目前,移动端GUI智能体大多在安卓(Android)平台上实现,这得益于安卓平台在调试工具、模拟器搭建和开源数据等方面的透明度和成熟度。...环境感知能力缺陷例子为了增强环境感知能力,可以从数据增强和模型增强两个层面入手。在数据层面,通过引入后台无障碍树中包含的界面信息和外部工具的屏幕的解析信息来补充输入,以弥补模型感知能力的不足。...例如,SeeClick[17]从Common Crawl中收集了约300k个网站,从html中收集元素;同时,还整理面向Mobile端的Widget-Captioning和Rico数据集,构造了大规模的...基于全面感知,轨迹微调的llava在测试中表现显著优于GPT-4,达到SoTA水平。但是,基于单步动作决策的测评模式与真实部署场景中端到端的任务执行模式仍存在差距。...9月,SPA-Bench[19]团队构建了一个涵盖中英文、系统及第三方应用、单一应用及跨应用场景的GUI测试基准,集成了7个基于GPT-4o的闭源智能体和4个经过微调的开源智能体,进行了全面的性能评估,

    21610

    2014年12月10日 Go生态洞察:Go 1.4版本发布

    此版本不仅包含了小幅的语言更改,还增加了对更多操作系统和处理器架构的支持,以及对工具链和库的改进。...正文 对Android的官方支持 Go 1.4版本最值得注意的新功能是对Android的官方支持。...for-range循环的语法调整 Go 1.4对for-range循环的语法进行了微调。现在可以写“for range s {”来循环遍历s中的每个项目,而不必指定值、循环索引或映射键。...例如,它可以用来自动生成类型常量的String方法,使用新的stringer工具。更多信息见设计文档。 性能变化 大多数程序在1.4版本中的运行速度与1.3版本相当或略快;一些可能会稍慢。...项目的迁移 这个版本的发布也与项目从Mercurial迁移到Git(源代码控制)、Rietveld迁移到Gerrit(代码审查)以及从Google Code迁移到GitHub(问题跟踪和wiki)同时进行

    10710
    领券