與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
通過文檔演示的高級架構和這種語義搜索的流程
享受!