码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Semantic Kernel 入门系列:🥑突破提示词的限制


    合集 - Semantic Kernel 入门(10)
    1.Semantic Kernel 入门系列 ❤️‍🔥04-162.Semantic Kernel 入门系列:🛸LLM降临的时代04-083.Semantic Kernel 入门系列:🪄LLM的魔法04-094.Semantic Kernel 入门系列:🔥Kernel 内核和🧂Skills 技能04-095.Semantic Kernel 入门系列:💬Semantic Function04-106.Semantic Kernel 入门系列:💾Native Function04-11
    7.Semantic Kernel 入门系列:🥑突破提示词的限制04-12
    8.Semantic Kernel 入门系列:🥑Memory内存04-139.Semantic Kernel 入门系列:🍋Connector连接器04-1510. Semantic Kernel 入门系列:📅 Planner 规划器04-16
    收起

    image

    无尽的上下文

    LLM对自然语言的理解和掌握在知识内容的解读和总结方面提供了强大的能力。

    但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答。

    因此如何给LLM 提供足够多的信息上下文,就是如今的LLM AI应用可以充分发挥能力的地方了。

    我们默认可以想到的是在提示词中提供足够的上下文信息,然而像OpenAI的模型总是有一个Max Tokens 的限制,也就意味着不可能一次性将所有的相关信息都可以放在提示词中,即便是最大的gpt-4-32k,目前也只有32,768 tokens,虽然看起来挺多的,但是相比较动则成百上千页的内部文档,或者专业资料,也不大可能将所有的内容都塞进prompt。

    image

    即便说不远未来MaxTokens的上限提升到了可以轻轻松松塞下一本书了,还需要考虑的就是成本问题,以目前GPT4 的价格,0.06美元/1K tokens(32K context),光是把Prompt 塞满,不指望做出回复,一次调用成本就 1.97美元了。所以在Prompt中放置大量的信息怎么算都是不划算的。

    通常情况下,我们回答一个问题,并不总是需要采用所有的信息的,例如讲某本书的某个知识点,基本不会说要一次性将全书翻一遍,然后才回答问题。除非已经将书中的内容记得滚瓜烂熟了,否则通常都是根据书中关于这个知识点相关的章节或者段落,就可以得到对应的答案了。

    这种方法也常常应用于搜索领域,人们所需要的答案往往仅仅在问题所涉及的很小的范围之内。搜索引擎一直在做的事情就是找到最符合你预期的相关结果。对应的结果就是,我们总是能在搜索结果的前两页,甚至前两个条目中获得答案。

    所以解决LLM有限Prompt下的上下文的基本方法也是这样,提前根据问题搜索找到相关的内容信息,再将内容信息和问题都是提供给LLM,让LLM做出对应的总结和回答。

    找到有用的信息

    借助于 Native Function的功能,我们可以通过一些简单的方法,例如关键词等,匹配到一些相关信息,也可以对接搜索引擎(全网的或者私域的),获取一些的相关的讯息。

    但是传统的方法还是传统的问题,就比如搜索引擎所采用的索引方法,也都是基于关键词,能匹配上的自然找得到,匹配不上的就很难说了。尤其是有些专用词汇无法描述清楚的时候,还有一些比较多的同义词的时候,都很难得到合适的答案。

    这里就需要应用到LLM另外一个神器,Embedding。

    简单地说,Embedding可以将文本进行一些转化高维向量,作为向量就有了计算的可能性,就可以的进行相似性和差异性的判断。只需要计算一下两段文本之间的距离,就可以判断是否具有相似性,这种相似性是基于语义的,也就完全突破了字面上的相似性。如此以来,将所有的信息分段或者创建摘要进行转化,将问题和所有信息进行匹配,找到距离最近的或者符合距离需求的,就都是相关的信息了。这样就可以无须关心关键词是否匹配,不用煞费苦心的提取相关关键词了。

    不过也有一个问题需要注意的,那就是这种向量的映射方式决定了相关内容查找的准确性是由LLM决定的,也并不是所有的时候都能找到最合适的内容。了解LLM的脾性也是使用它的重要一环。

    了解了基本原理之后,后面就可以看看Semantic Kernel在这方面做了什么。


    参考资料:

    1. https://learn.microsoft.com/en-us/semantic-kernel/concepts-sk/memories
    2. https://platform.openai.com/docs/models/overview
    3. https://openai.com/pricing
    4. https://learn.microsoft.com/en-us/semantic-kernel/concepts-ai/embeddings
  • 相关阅读:
    【Leetcode】滑动窗口合集
    随笔感悟:Mysql悲观锁和乐观锁
    EL 与 JSTL(1)( EL 表达式基础知识)
    图片链接打不开检测工具-免费链接失败检测软件
    Python教程(12)——Python数据结构集合set介绍
    谷歌翻译不用代理可用的免费api python版本亲测可用
    【数据挖掘】2021年 Quiz 1-3 整理 带答案
    Python爬虫:爬虫所需要的爬虫代理ip是什么?
    用户的生命周期
    Integration by parts
  • 原文地址:https://www.cnblogs.com/xbotter/p/semantic_kernel_introduction_memory_part_1.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号