大模型agent开发之文本向量化

文本向量化实现方式

 在复杂的大模型中文本向量化有很多好处,比如提高检索速度,在大规模数据集上向量通过相似表示可以快速找到相似文本,在处理长文本和跨语言对齐等任务上也可以减少很多开销。在langchain中可以从包langchain.embeddings.openai中可以引入方法OpenAIEmbeddings定义向量化方法,以下是向量化的demo。

复制代码
class embedding_template:

    def __init__(self, text):
        self.text = text

    def document(self):
        # 定义一个embedding变量
        e_model = OpenAIEmbeddings()
        # embeddings = e_model.embed_documents(
        #     self.text
        # )
        # 新建一个缓存目录
        fs = LocalFileStore("./cache/")
        cached_embeddings = CacheBackedEmbeddings.from_bytes_store(
            e_model,
            fs,
            namespace=e_model.model
        )
        # 查看缓存条目
        print(list(fs.yield_keys()))
        # 加载文档,切分文档存储到缓存中
        # raw_document = TextLoader("./knowledge/economic.txt").load()
        text_splitter = CharacterTextSplitter(chunk_size=400, chunk_overlap=0)
        documents = text_splitter.split_documents(self.text)
        # 将向量写入缓存中
        FAISS.from_documents(documents, cached_embeddings)
复制代码

通过参数传入长文本数据,并新建缓存目录,将长文本向量化为向量并将向量存储到缓存数据库中。

posted @   我刀呢?  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示