当前位置: 首页> 汽车> 行情 > 武汉网站关键词_郴州前十名高档小区_东莞百度seo哪里强_互联网营销师培训费用是多少

武汉网站关键词_郴州前十名高档小区_东莞百度seo哪里强_互联网营销师培训费用是多少

时间:2025/7/13 11:39:41来源:https://blog.csdn.net/u011160113/article/details/144723648 浏览次数: 0次
武汉网站关键词_郴州前十名高档小区_东莞百度seo哪里强_互联网营销师培训费用是多少

前言

        无论在什么技术栈中,缓存都是比较重要的一部分。在大模型技术栈中,缓存存在于技术栈中的不同层次。本文将主要聚焦于技术栈中应用层和底层基座之间中间件层的缓存(个人定位),以开源项目GPTCache(LLM的语义缓存)为例,深入讲解这部分缓存的结构和关键实现。

        完整技术栈详情参考之前文章《大模型应用技术系列(一):大模型应用整体技术栈浅析》

使用场景

        当用户流量比较大的C端应用试图接入大模型能力时,如果每次请求都访问LLM,通过LLM生成结果再返回给服务,那么对于LLM服务而言压力会比较大,整体服务的吞吐量和延迟通常都会有比较大的影响。如果这些请求之间有一些相似性(比如A用户提问:今天天气怎么样?B用户也提问:今儿天气如何?),那么这个时候就可以考虑在应用服务和LLM基座之间引入语义缓存来尝试提升服务性能。

常见用法

        先来介绍一些语义缓存GPTCache的一些常见用法,以下示例取自官网。

精确匹配

        精确匹配意味着对于见过的重复问题可以不需要再去请求背后的LLM,而是命中cache之后直接从cache中去寻找。这种做法下,代码不需要有比较大的变动,只需要添加以下4行即可:

import timedef response_text(openai_resp):return openai_resp['choices'][0]['message']['content']print("Cache loading.....")#------------------------------
from gptcache import cache
from gptcache.adapter import openai
cache.init()
cache.set_openai_key()
#------------------------------start_time = time.time()
response = openai.ChatCompletion.create(model='gpt-3.5-turbo',messages=[{'role': 'user','content': question}],
)
print(f'Question: {question}')
print("Time consuming: {:.2f}s".format(time.time() - start_time))
print(f'Answer: {response_text(response)}\n')

语义相似匹配

        精确匹配只能匹配完全相同的问题,这在大多数场景下不是特别有用(用户可能以不同的方式问出相似的问题)。在这种情况下,基于语义相似匹配的cache可能更有用。通过缓存相似语义问题的回答来解决当前的问题。这种方式在初始化cache的时候,需要加上一些其他的模块,这些模块后续会进行介绍。

import time
def response_text(openai_resp):return openai_resp['choices'][0]['message']['content']#--------------------------------------------------
from gptcache import cache
from gptcache.adapter import 
关键字:武汉网站关键词_郴州前十名高档小区_东莞百度seo哪里强_互联网营销师培训费用是多少

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: