Vishaltiwari2019 commited on
Commit
e01283e
·
verified ·
1 Parent(s): 413cd3f

Update tools.py

Browse files
Files changed (1) hide show
  1. tools.py +41 -41
tools.py CHANGED
@@ -1,41 +1,41 @@
1
- import os
2
- from dotenv import load_dotenv
3
- from langchain.chat_models import ChatOpenAI
4
- from langchain.document_loaders import PyPDFLoader
5
- from langchain.text_splitter import CharacterTextSplitter
6
- from langchain.vectorstores import FAISS
7
- from langchain.embeddings import HuggingFaceEmbeddings
8
- import serpapi
9
-
10
- load_dotenv()
11
-
12
- # LLM (Groq + LLaMA3)
13
- llm = ChatOpenAI(
14
- model="llama3-8b-8192",
15
- openai_api_base="https://api.groq.com/openai/v1",
16
- openai_api_key=os.environ["GROQ_API_KEY"]
17
- )
18
-
19
- # Embeddings (HuggingFace)
20
- embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
21
-
22
- # Load PDFs and create FAISS vectorstore
23
- def load_vectorstore(pdf_dir="pdfs/"):
24
- docs = []
25
- for file in os.listdir(pdf_dir):
26
- if file.endswith(".pdf"):
27
- loader = PyPDFLoader(os.path.join(pdf_dir, file))
28
- docs.extend(loader.load())
29
- splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
30
- chunks = splitter.split_documents(docs)
31
- return FAISS.from_documents(chunks, embedding=embeddings)
32
-
33
- # Custom Web Search tool using SerpAPI
34
- def search_tool(query: str):
35
- client = serpapi.Client(api_key=os.getenv("SERPAPI_API_KEY"))
36
- search = client.search({
37
- "engine": "google",
38
- "q": query,
39
- })
40
- results = dict(search)
41
- return results["organic_results"][0]["snippet"] # Return the snippet or any part of the result
 
1
+ import os
2
+ from dotenv import load_dotenv
3
+ from langchain.chat_models import ChatOpenAI
4
+ from langchain.document_loaders import PyPDFLoader
5
+ from langchain.text_splitter import CharacterTextSplitter
6
+ from langchain.vectorstores import FAISS
7
+ from langchain.embeddings import HuggingFaceEmbeddings
8
+ import serpapi
9
+
10
+ load_dotenv()
11
+
12
+ # LLM (Groq + LLaMA3)
13
+ llm = ChatOpenAI(
14
+ model="llama3-8b-8192",
15
+ openai_api_base="https://api.groq.com/openai/v1",
16
+ openai_api_key=os.environ["GROQ_API_KEY"]
17
+ )
18
+
19
+ # Embeddings (HuggingFace)
20
+ embeddings = HuggingFaceEmbeddings(model_name="llama")
21
+
22
+ # Load PDFs and create FAISS vectorstore
23
+ def load_vectorstore(pdf_dir="pdfs/"):
24
+ docs = []
25
+ for file in os.listdir(pdf_dir):
26
+ if file.endswith(".pdf"):
27
+ loader = PyPDFLoader(os.path.join(pdf_dir, file))
28
+ docs.extend(loader.load())
29
+ splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
30
+ chunks = splitter.split_documents(docs)
31
+ return FAISS.from_documents(chunks, embedding=embeddings)
32
+
33
+ # Custom Web Search tool using SerpAPI
34
+ def search_tool(query: str):
35
+ client = serpapi.Client(api_key=os.getenv("SERPAPI_API_KEY"))
36
+ search = client.search({
37
+ "engine": "google",
38
+ "q": query,
39
+ })
40
+ results = dict(search)
41
+ return results["organic_results"][0]["snippet"] # Return the snippet or any part of the result