让大模型在我们本地向量空间回答问题:
事例代码如下:
from langchain_community.embeddings import QianfanEmbeddingsEndpoint from langchain_community.vectorstores import Chroma from langchain_core.documents import Document from langchain_core.prompts import ChatPromptTemplate from langchain_core.runnables import RunnableLambda,RunnablePassthrough from qifan_ai import CreateMyLLM from lc_deepseek_ai import CreateChartDeepSeek import os os.environ["QIANFAN_AK"] = "apikey" os.environ["QIANFAN_SK"] = "密钥" llm =CreateMyLLM()# CreateChartDeepSeek()
#组织本地文档,或读取本地文件,这里我们手工编写一些文档,来做实验 documents=[ Document( page_content="处理图像和视频,如目标检测、语义分割、图像生成等。著名的计算机视觉大模型有Inception、ResNet、DenseNet等", metadata={ "source": "计算机视觉" } ), Document( page_content="主要用于处理自然语言文本,如文本分类、命名实体识别、情感分析等。著名的自然语言处理大模型有GPT-3、BERT、ELMo等", metadata={ "source": "语言大模型" } ), Document( page_content="这类模型主要用于语音信号的处理,如语音识别、语音合成等。著名的语音识别大模型有WaveNet、Transformer、DeepSpeech等", metadata={ "source": "语音识别(ASR)大模型" } ), Document( page_content="这类模型主要用于个性化推荐,如商品推荐、内容推荐等。著名的推荐系统大模型有collaborative filtering、content-based filtering等", metadata={ "source": "推荐系统大模型" } ), Document( page_content="混元大模型由腾讯推出,主打社交模型。腾讯作为世纪华通(主营社交娱乐)的第二大股东,持有10%的股份,确保了混元大模型在社交和娱乐领域的高水平应用", metadata={ "source": "腾讯混元大模型" } ), ] #model_name = "sentence-transformers/all-MiniLM-L6-v2" #embeddings = HuggingFaceEmbeddings(model_name=model_name) v_store=Chroma.from_documents(documents, embedding=QianfanEmbeddingsEndpoint()) #res=v_store.similarity_search("推荐系统大模型") #res=v_store.similarity_search_with_score("情感分析") #print(res) r=RunnableLambda(v_store.similarity_search).bind(k=1) #res=r.batch(["听到一段语音,怎么去处理"]) #print(res) template = """请根据上下文回答下面的问题:{question} 上下文:{context}""" prompt = ChatPromptTemplate.from_messages([("human",template)]) chain={"question":RunnablePassthrough(),"context":r}|prompt|llm res=chain.invoke("请问怎么处理语音识别") print(res)