当前位置: 首页 > news >正文

中国营销型网站有哪些网站手机验证码注册怎么做

中国营销型网站有哪些,网站手机验证码注册怎么做,如何安装wordpress软件,桂林医院网站建设本工作簿演示了 Elasticsearch 的自查询检索器将非结构化查询转换为结构化查询的示例#xff0c;我们将其用于 BM25 示例。 在这个例子中#xff1a; 我们将摄取 LangChain 之外的电影样本数据集自定义 ElasticsearchStore 中的检索策略以仅使用 BM25使用自查询检索将问题转…本工作簿演示了 Elasticsearch 的自查询检索器将非结构化查询转换为结构化查询的示例我们将其用于 BM25 示例。 在这个例子中 我们将摄取 LangChain 之外的电影样本数据集自定义 ElasticsearchStore 中的检索策略以仅使用 BM25使用自查询检索将问题转换为结构化查询使用文档和 RAG 策略来回答问题 安装 如果你还没有安装好自己的 Elasticsearch 及 Kibana请参考文章 安装 Elasticsearch 及 Kibana 如果你还没有安装好自己的 Elasticsearch 及 Kibana那么请参考一下的文章来进行安装 如何在 LinuxMacOS 及 Windows 上进行安装 Elasticsearch Kibana如何在 LinuxMacOS 及 Windows 上安装 Elastic 栈中的 Kibana 在安装的时候请选择 Elastic Stack 8.x 进行安装。在安装的时候我们可以看到如下的安装信息 Python 安装包 我们需要安装 Python 版本 3.6 及以上版本。我们还需要安装如下的 Python 安装包 pip3 install lark elasticsearch langchain openai load_dotenv $ pip3 list | grep elasticsearch elasticsearch 8.12.0 rag-elasticsearch 0.0.1 /Users/liuxg/python/rag-elasticsearch/my-app/packages/rag-elasticsearch 环境变量 在启动 Jupyter 之前我们设置如下的环境变量 export ES_USERelastic export ES_PASSWORDxnLj56lTrH98Lf_6n76y export ES_ENDPOINTlocalhost export OPENAI_API_KEYYOUR_OPEN_AI_KEY 请在上面修改相应的变量的值。特别是你需要输入自己的 OPENAI_API_KEY。 拷贝 Elasticsearch 证书 我们把 Elasticsearch 的证书拷贝到当前的目录下 $ pwd /Users/liuxg/python/elser $ cp ~/elastic/elasticsearch-8.12.0/config/certs/http_ca.crt . $ ls http_ca.crt http_ca.crt 创建应用 我们在当前的目录下运行 jupyter notebook jupyter notebook 连接到 Elasticsearch from elasticsearch import Elasticsearch from dotenv import load_dotenv import os from elasticsearch import Elasticsearchload_dotenv()openai_api_keyos.getenv(OPENAI_API_KEY) elastic_useros.getenv(ES_USER) elastic_passwordos.getenv(ES_PASSWORD) elastic_endpointos.getenv(ES_ENDPOINT)url fhttps://{elastic_user}:{elastic_password}{elastic_endpoint}:9200 client Elasticsearch(url, ca_certs ./http_ca.crt, verify_certs True)print(client.info()) 准备示例数据集 docs [{text: A bunch of scientists bring back dinosaurs and mayhem breaks loose,metadata: {year: 1993, rating: 7.7, genre: science fiction, director: Steven Spielberg, title: Jurassic Park},},{text: Leo DiCaprio gets lost in a dream within a dream within a dream within a ...,metadata: {year: 2010, director: Christopher Nolan, rating: 8.2, title: Inception},},{text: A psychologist / detective gets lost in a series of dreams within dreams within dreams and Inception reused the idea,metadata: {year: 2006, director: Satoshi Kon, rating: 8.6, title: Paprika},},{text:A bunch of normal-sized women are supremely wholesome and some men pine after them,metadata:{year: 2019, director: Greta Gerwig, rating: 8.3, title: Little Women},},{text:Toys come alive and have a blast doing so,metadata:{year: 1995, genre: animated, director: John Lasseter, rating: 8.3, title: Toy Story},},{text:Three men walk into the Zone, three men walk out of the Zone,metadata:{year: 1979,rating: 9.9,director: Andrei Tarkovsky,genre: science fiction,rating: 9.9,title: Stalker,}} ] 索引数据到 Elasticsearch 我们选择对 Langchain 外部的数据进行索引以演示如何将 Langchain 用于 RAG 并在任何 Elasticsearch 索引上使用自查询检索。 from elasticsearch import helpers# create the index client.indices.create(indexmovies_self_query)operations [{_index: movies_self_query,_id: i,text: doc[text],metadata: doc[metadata]} for i, doc in enumerate(docs) ]# Add the documents to the index directly response helpers.bulk(client,operations, ) 经过上面的操作后我们可以在 Kibana 中进行查看 设置查询检索器 接下来我们将通过提供有关文档属性的一些信息和有关文档的简短描述来实例化自查询检索器。 然后我们将使用 SelfQueryRetriever.from_llm 实例化检索器 from langchain.vectorstores.elasticsearch import ApproxRetrievalStrategy from typing import List, Union from langchain.retrievers.self_query.base import SelfQueryRetriever from langchain.chains.query_constructor.base import AttributeInfo from langchain.llms import OpenAI from langchain.vectorstores.elasticsearch import ElasticsearchStore# Add details about metadata fields metadata_field_info [AttributeInfo(namegenre,descriptionThe genre of the movie. Can be either science fiction or animated.,typestring or list[string],),AttributeInfo(nameyear,descriptionThe year the movie was released,typeinteger,),AttributeInfo(namedirector,descriptionThe name of the movie director,typestring,),AttributeInfo(namerating, descriptionA 1-10 rating for the movie, typefloat), ]document_content_description Brief summary of a movie# Set up openAI llm with sampling temperature 0 llm OpenAI(temperature0, openai_api_keyopenai_api_key)class BM25RetrievalStrategy(ApproxRetrievalStrategy):def __init__(self):passdef query(self,query: Union[str, None],filter: List[dict],**kwargs,):if query:query_clause [{multi_match: {query: query,fields: [text],fuzziness: AUTO,}}]else:query_clause []bm25_query {query: {bool: {filter: filter,must: query_clause}},}print(query, bm25_query)return bm25_queryvectorstore ElasticsearchStore(index_namemovies_self_query,es_connectionclient,strategyBM25RetrievalStrategy() ) 仅使用 BM25 的检索器  一种选择是自定义查询以仅使用 BM25 检索方法。 我们可以通过重写 custom_query 函数指定查询仅使用 multi_match 来做到这一点。 在下面的示例中自查询检索器使用 LLM 将问题转换为关键字和过滤器查询query: dreams, filter: year range。 然后使用自定义查询对关键字查询和过滤器查询执行基于 BM25 的查询。 这意味着如果你想在现有 Elasticsearch 索引上执行问题/答案用例则不必对所有文档进行向量化。 from langchain.schema.runnable import RunnableParallel, RunnablePassthrough from langchain.prompts import ChatPromptTemplate, PromptTemplate from langchain.schema import format_documentretriever SelfQueryRetriever.from_llm(llm, vectorstore, document_content_description, metadata_field_info, verboseTrue )LLM_CONTEXT_PROMPT ChatPromptTemplate.from_template( Use the following context movies that matched the user question. Use the movies below only to answer the users question.If you dont know the answer, just say that you dont know, dont try to make up an answer.---- {context} ---- Question: {question} Answer: )DOCUMENT_PROMPT PromptTemplate.from_template( --- title: {title} year: {year} director: {director} --- )def _combine_documents(docs, document_promptDOCUMENT_PROMPT, document_separator\n\n ):print(docs:, docs)doc_strings [format_document(doc, document_prompt) for doc in docs]return document_separator.join(doc_strings)_context RunnableParallel(contextretriever | _combine_documents,questionRunnablePassthrough(), )chain (_context | LLM_CONTEXT_PROMPT | llm)chain.invoke(Which director directed movies about dinosaurs that was released after the year 1992 but before 2007?) 整个 notebook 的源码可以在地址下载https://github.com/liu-xiao-guo/semantic_search_es/blob/main/chatbot-with-bm25-only-example.ipynb
http://www.pierceye.com/news/427860/

相关文章:

  • 做微信推送的网站小刘网站建设
  • 18款禁用软件app网站入口台州网站推广排名
  • 网站的服务内容济南网站制作方案
  • 微网站模板 phpwordpress 支付宝
  • wordpress dux主题破解安装全屏网站 图片优化
  • 一键建站公司做网站 怎么做留言
  • 制作的网站西安网页设计培训哪里有
  • 株洲市住房和城乡建设局门户网站中国建设银行官网站大同
  • 北京响应式网站制作公司wordpress邀请码注册
  • 衡阳网站开发有哪些公司怎么建设淘客自己的网站、
  • 国内扁平化网站欣赏什么站做咨询网站好
  • 评价校园网站建设范例wordpress插件获取数据库
  • 网站开发具体问题重庆装修公司排名前十名
  • 萝卜建站织梦网站采集如何做
  • 邢台在百度上做个网站河南营销网站建设联系方式
  • 电力建设科学技术进步申报网站教学工作总结
  • 做淘宝客必须建网站吗杭州网站优化效果
  • 网站开发有什么职位用vs做网站教程
  • 行业网站渠道选择和内容运营网站续费问题
  • 什么是seo优化推广阿里云网站建设优化
  • 信息发布型网站建设的特点免费
  • 陕西有限公司网站建设招标公告如何做影视网站的标题
  • wordpress网站百度搜索吗百度关键词推广怎么做
  • 马鞍山市网站建设服务有限公司计算机平面设计主要做什么
  • 手机网站跟pc网站有什么不同怎样创建网站收益
  • 什么系统做购物网站好做面料那几个网站
  • 做网站产品资料表格做鞋设备网站
  • 青海西宁制作网站企业做网站用什么语言编写
  • 网站变成手机网站做简历的网站都有哪些内容
  • 汽车网站建设页面软件公司都是帮别人做网站么