构建LangChain应用程序的示例代码:29、LangChain中的生成代理指南

安装依赖
# 安装termcolor库,用于输出着色
!pip install termcolor > /dev/null
配置日志
import logging

# 设置日志记录级别为ERROR,以避免记录过多的日志信息
logging.basicConfig(level=logging.ERROR)
导入必要的库
from datetime import datetime, timedelta
from typing import List
from langchain.docstore import InMemoryDocstore
from langchain.retrievers import TimeWeightedVectorStoreRetriever
from langchain_community.vectorstores import FAISS
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from termcolor import colored
设置用户名称和语言模型
# 用户名称,用于代理对话时的身份标识
USER_NAME = "Person A"
# 初始化语言模型,这里使用的是ChatOpenAI,可以根据需要更换为其他模型
LLM = ChatOpenAI(max_tokens=1500)
生成性代理记忆组件
# 生成性代理的记忆与LangChain Chat记忆的不同之处在于:
# 记忆形成:生成性代理拥有扩展的记忆,存储在单一的流中,包括:
#      1. 观察 - 来自与虚拟世界的对话或互动,关于自己或他人的信息
#      2. 反思 - 重新浮现并总结核心记忆
# 记忆回忆:使用显著性、时效性和重要性的加权和来检索记忆
创建生成性角色Tommie
import math
import faiss

# 定义相关性评分函数,将分数转换为相似度评分(0到1之间)
def relevance_score_fn(score: float) -> float:
    return 1.0 - score / math.sqrt(2)

# 创建新的向量存储检索器,每个代理独立
def create_new_memory_retriever():
    embeddings_model = OpenAIEmbeddings()
    embedding_size = 1536
    index = faiss.IndexFlatL2(embedding_size)
    vectorstore = FAISS(
        embeddings_model.embed_query,
        index,
        InMemoryDocstore({
   
   }),
        {
   
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hugo_Hoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值