Skip to content

Commit

Permalink
literally passing everything to paperqa to see if it works ffs
Browse files Browse the repository at this point in the history
doncamilom committed Mar 14, 2024
1 parent 14fcd24 commit 4a0b137
Showing 3 changed files with 13 additions and 6 deletions.
2 changes: 1 addition & 1 deletion chemcrow/agents/tools.py
Original file line number Diff line number Diff line change
@@ -34,7 +34,7 @@ def make_tools(llm: BaseLanguageModel, api_keys: dict = {}, verbose=True):
ExplosiveCheck(),
ControlChemCheck(),
SimilarControlChemCheck(),
Scholar2ResultLLM(llm=llm),
Scholar2ResultLLM(llm=llm, api_key=openai_api_key),
SafetySummary(llm=llm),
]
if chemspace_api_key:
15 changes: 11 additions & 4 deletions chemcrow/tools/search.py
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@
from langchain import SerpAPIWrapper
from langchain.base_language import BaseLanguageModel
from langchain.tools import BaseTool
from langchain.embeddings.openai import OpenAIEmbeddings
from pypdf.errors import PdfReadError

from chemcrow.utils import is_multiple_smiles, split_smiles
@@ -40,13 +41,17 @@ def paper_search(llm, query):
return papers


def scholar2result_llm(llm, query, k=5, max_sources=2):
def scholar2result_llm(llm, query, k=5, max_sources=2, openai_api_key=None):
"""Useful to answer questions that require
technical knowledge. Ask a specific question."""
papers = paper_search(llm, query)
if len(papers) == 0:
return "Not enough papers found"
docs = paperqa.Docs(llm=llm)
docs = paperqa.Docs(
llm=llm,
summary_llm=llm,
embeddings=OpenAIEmbeddings(openai_api_key=openai_api_key),
)
not_loaded = 0
for path, data in papers.items():
try:
@@ -66,13 +71,15 @@ class Scholar2ResultLLM(BaseTool):
"knowledge. Ask a specific question."
)
llm: BaseLanguageModel = None
api_key: str = None

def __init__(self, llm):
def __init__(self, llm, api_key):
super().__init__()
self.llm = llm
self.api_key = api_key

def _run(self, query) -> str:
return scholar2result_llm(self.llm, query)
return scholar2result_llm(self.llm, query, openai_api_key=self.api_key)

async def _arun(self, query) -> str:
"""Use the tool asynchronously."""
2 changes: 1 addition & 1 deletion chemcrow/version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""Package version"""

__version__ = "0.3.21"
__version__ = "0.3.22"

0 comments on commit 4a0b137

Please sign in to comment.