与PDF一起聊天机器人,用于对文档进行语义搜索(使用简化,兰链,Pinecone/Chroma/Azure认知搜索构建)
该存储库包含一个代码示例,该代码示例是如何构建交互式聊天机器人,以通过文档进行语义搜索。聊天机器人允许用户提出自然语言问题并从文档集合中获取相关答案。聊天机器人将简化用于Web和聊天机器人接口,Langchain,并利用各种类型的矢量数据库,例如Pinecone,Chroma和Azure认知搜索的矢量搜索,以执行有效而准确的相似性搜索。该代码用Python编写,可以轻松修改以适合不同的用例和数据源。
还请在Medium(简化和Vector数据库:创建用于文档上语义搜索的交互式Web应用程序的指南)中查看我的故事。
- PrepRocess_pinecone.ipynb < - 使用Azure OpenAi服务中的嵌入模型嵌入文档中的内容并将其保存到Pinecone Vector数据库中。
- preprocess_chroma.ipynb < - 使用Azure OpenAi服务中的嵌入模型嵌入文档中的内容并将其保存到Chroma Vector数据库中。
- preprocess_acs.ipynb < - 使用Azure OpenAI服务中嵌入模型的示例将文档中的内容嵌入并将其保存到Azure认知搜索矢量数据库中。
- COMEMUME_PINECONE.IPYNB < - 使用Langchain Question-swering模块从Pinecone矢量数据库中执行相似性搜索,并使用GPT-3.5(Text-Davinci-003)来汇总结果。
- COMEMUME_CHROMA.IPYNB < - 使用Langchain Question-swering模块从Chroma Vector数据库执行相似性搜索并使用GPT-3.5(Text-Davinci-003)来汇总结果。
- COMEMUME_ACS.IPYNB < - 使用Langchain Question-swering模块从Azure认知搜索矢量数据库中执行相似性搜索,并使用GPT-3.5(Text-Davinci-003)来汇总结果。
- app_pinecone.py < - 使用简化,兰链和Pinecone矢量数据库构建交互式聊天机器人的示例,以促进文档的语义搜索。它使用来自Azure OpenAI服务的GPT-3.5-Turbo模型进行结果摘要和聊天。
- app_chroma.py < - 使用简化,Langchain和Chroma Vector数据库来构建交互式聊天机器人,以促进文档的语义搜索。它使用来自Azure OpenAI服务的GPT-3.5-Turbo模型进行结果摘要和聊天。
- app_acs.py < - 使用简化,Langchain和Azure认知搜索矢量数据库来构建交互式聊天机器人,以促进文档的语义搜索。它使用来自Azure OpenAI服务的GPT-3.5-Turbo模型进行结果摘要和聊天。
运行此简化的Web应用程序
streamlit run app_pinecone.py
通过文档演示的高级架构和这种语义搜索的流程
享受!