CHATPDF-GPT是一個創新的項目,可利用Langchain Framework的力量,Langchain Framework是一種用於開發由語言模型驅動的應用程序的變革工具。這個獨特的應用程序使用Langchain提供與OpenAI語言模型功能驅動的PDF文檔通信的聊天界面。
在該項目中,語言模型連接到其他數據源,並允許與其環境進行交互,從而體現了Langchain框架的原理。用戶可以上傳PDF文檔,然後將其處理並保存在Pinecone,矢量數據庫和Supabase存儲中。然後,用戶可以與已上傳的PDF聊天,AI利用文檔的內容進行有意義的對話。
該項目依賴於Next.js框架,這是創建強大的全棧Web應用程序的領先選擇。 UI組件是使用Radix UI庫精美製作的,並根據ShadCN/UI提供的優雅模板設計了尾風CSS。
CHATPDF-GPT配備了示例,這些示例說明了各種操作,例如:
要使用演示測試該項目的功能,您將需要為OpenAI,Supabase和Pinecone提供自己的憑據。對於Supabase,您可以遵循下面提供的分步指南,以設置並檢索必要的憑據。對於獲得OpenAI和Pinecone的憑證,請諮詢相應的文檔作為分步指南,可能無法提供。始終確保您遵循相應服務提供的最新說明。
Openai
在Supabase中創建一個新項目:
檢索數據庫連接URL :
此連接字符串將用於您的應用程序中的DATABASE_URL環境變量。
此URL將用於應用程序中的DIRECT_URL環境變量。
SUPABASE_URL和SUPABASE_KEY 。複製這些值。 SUPABASE_URL是您項目的URL,而SUPABASE_KEY是您項目的公共匿名密鑰。
設置supabase桶:
SUPABASE_BUCKET 。在您的應用程序中設置環境變量:
DATABASE_URLDIRECT_URLSUPABASE_KEYSUPABASE_URLSUPABASE_BUCKET這些密鑰將允許您的應用程序與Supabase服務進行交互。
請注意,雖然可以設定使您的儲物桶公開訪問的策略,但您應該謹慎執行此操作。使您的水桶公開訪問意味著任何具有對象URL的人都可以訪問它。這對於測試可能很有用,但是對於生產應用程序,您應該考慮更多的限制性政策以確保數據的安全性。始終諮詢Supabase文檔或安全專家,以了解不同政策的含義。
這樣,您應該能夠根據您的要求為您的項目設置Supabase並管理存儲策略。
松果
要在本地計算機上設置並運行CHATPDF-GPT,請按照以下步驟操作:
克隆項目存儲庫:
git clone https://github.com/anis-marrouchi/chatpdf-gpt.git
導航到項目目錄並使用PNPM安裝依賴項:
cd chatpdf-gpt
pnpm install
如.env.example文件中所示,在根目錄中創建一個.env文件,然後填寫您的憑據(OpenAI,Pinecone,supabase)。
使用Prisma創建數據庫模式。您必須讓您運行Prisma生成命令prisma generate
npx prisma migrate dev --name init
啟動服務器:
npm run dev
CHATPDF-GPT是一個開源項目,我們非常歡迎所有人的捐款。請閱讀我們的貢獻指南,了解有關如何入門的更多詳細信息。
該項目站在巨人的肩膀上。如果沒有開源社區生產的各種圖書館,框架和工具,我們的工作將是不可能的。具體來說,我們要對:
Langchain團隊為由語言模型提供動力的應用程序開創性框架。
Openai用於其最先進的語言模型,這使聊天功能成為可能。
Supabase的開源燃料替代方案,我們用來構建安全且性能的後端。
Pinecone的矢量數據庫,可輕鬆有效地存儲和檢索向量嵌入。
Next.js和Vercel的全面框架,使我們可以輕鬆地構建此全堆棧Web應用程序。
ShadCn為它們的優雅UI組件,我們建立了一個精美且用戶友好的界面。
RADIX UI用於其強大,可訪問且可自定義的組件庫,構成了我們UI的骨幹。
@react-pdf-viewer適用於其功能強大的React組件,該組件使用戶可以預覽他們正在與之交互的實際PDF文檔。
以及所有其他依賴項,既列出又未列出,這促進了該項目的實現。與他們的集體努力相比,我們的貢獻是適度的。
CHATPDF-GPT是根據MIT許可證許可的開源軟件。