龙空技术网

学习Llama-index的第二课,改进查询

程序员_大模型 111

前言:

现在小伙伴们对“js 导入库”都比较关怀,朋友们都想要剖析一些“js 导入库”的相关内容。那么小编同时在网上网罗了一些对于“js 导入库””的相关资讯,希望朋友们能喜欢,姐妹们快快来学习一下吧!

上一篇Llama-index的学习,我们通过查询数据,没有得到比较理想的结果,这篇学习,我们做一些改进,让Llama-index生成的结果更精准一些。

代码如下:

#导入库from llama_index.readers.database import DatabaseReaderfrom sqlalchemy import create_enginefrom llama_index.llms.ollama import Ollamafrom llama_index.core.settings import Settingsfrom llama_index.embeddings.ollama import OllamaEmbedding#设置模型Settings.llm=Ollama(model="llama3")emb=OllamaEmbedding(model_name="nomic-embed-text")Settings.embed_model=emb#从MySQL读数据eng=create_engine("mysql+pymysql://root:12345678@localhost:3306/school")reader=DatabaseReader(engine=eng)docs=reader.load_data(query="SELECT * FROM school.students order by address desc")#建indexfrom llama_index.core import VectorStoreIndexindex=VectorStoreIndex.from_documents(docs)#下面我们使用自己定义的查询策略from llama_index.core.retrievers import VectorIndexRetrieverfrom llama_index.core.query_engine import RetrieverQueryEnginefrom llama_index.core.postprocessor import SimilarityPostprocessor#设置top_kretriever=VectorIndexRetriever(index=index,similarity_top_k=10)#创建查询引擎,similarity_cutoff为相似度阈值q_eng=RetrieverQueryEngine(      retriever=retriever,      node_postprocessors=[SimilarityPostprocessor(similarity_cutoff=0.0)])#查询res=q_eng.query("列出家庭地址是柳州的学生信息。")print(res)

结果如下:

According to the provided student information, the students with their family addresses in 柳州 are:

* id: 7, name: 伍军, age: 17, address: 柳州, sex: 女

* id: 9, name: 李春阳, age: 19, address: 柳州, sex: 男

* id: 1, name: 李和平, age: 19, address: 柳州, sex: 男

* id: 6, name: 王大海, age: 19, address: 柳州, sex: 男

* id: 4, name: 李同基, age: 19, address: 柳州, sex: 女

可以查到所有记录了。

标签: #js 导入库