CREW AI tool not using ChatGroq
03:56 25 Aug 2024

Here is my tools.py file

import os 
from dotenv import load_dotenv
from langchain_groq import ChatGroq
from crewai_tools import PDFSearchTool, SerperDevTool

load_dotenv()

# Initialize the ChatGroq model
llm = ChatGroq(
    model="llama-3.1-70b-versatile",
    temperature=0.7,
    groq_api_key=os.getenv('GROQ_API_KEY'),
    verbose=True
)


os.environ['SERPER_API_KEY'] = os.getenv('SERPER_API_KEY')

# Initialize the tool allowing for any PDF content search if the path is provided during execution
pdf_tool = PDFSearchTool()

# Initialize the tool for internet searching capabilities
serper_tool = SerperDevTool()

also I have added

llm = ChatGroq(
    model="llama-3.1-70b-versatile",
    temperature=0.7,
    groq_api_key=os.getenv('GROQ_API_KEY'),
    verbose=True
)

in my agents.py also and mentioned in every Agent.

But when I run

python crew.py

the error comes:

UserWarning: Valid config keys have changed in V2:

* 'allow_population_by_field_name' has been renamed to 'populate_by_name'
* 'smart_union' has been removed
  warnings.warn(message, UserWarning)
  Traceback (most recent call last):
  File "D:\\code\\machine learning\\Testing Models\\Advance Multi Agent RAG\\crew.py", line 2, in \
  from tasks import pdf_research_task, web_research_task, assistant_task
  File "D:\\code\\machine learning\\Testing Models\\Advance Multi Agent RAG\\tasks.py", line 2, in \
  from tools import pdf_tool, serper_tool
  File "D:\\code\\machine learning\\Testing Models\\Advance Multi Agent RAG\\tools.py", line 20, in \
  pdf_tool = PDFSearchTool()
  File "D:\\code\\machine learning\\Testing Models\\Advance Multi Agent RAG\\myenv\\lib\\site-packages\\crewai_tools\\tools\\pdf_search_tool\\pdf_search_tool.py", line 32, in __init__
  super().__init__(\*\*kwargs)
  File "D:\\code\\machine learning\\Testing Models\\Advance Multi Agent RAG\\myenv\\lib\\site-packages\\pydantic\\main.py", line 193, in __init__
  self.__pydantic_validator__.validate_python(data, self_instance=self)
  File "D:\\code\\machine learning\\Testing Models\\Advance Multi Agent RAG\\myenv\\lib\\site-packages\\crewai_tools\\tools\\pdf_search_tool\\pdf_search_tool.py", line 48, in \_set_default_adapter
  app = App.from_config(config=self.config) if self.config else App()
  File "D:\\code\\machine learning\\Testing Models\\Advance Multi Agent RAG\\myenv\\lib\\site-packages\\embedchain\\app.py", line 117, in __init__
  self.embedding_model = embedding_model or OpenAIEmbedder()
  File "D:\\code\\machine learning\\Testing Models\\Advance Multi Agent RAG\\myenv\\lib\\site-packages\\embedchain\\embedder\\openai.py", line 19, in __init__  
  api_key = self.config.api_key or os.environ\["OPENAI_API_KEY"\]
  File "C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\os.py", line 680, in __getitem__
  raise KeyError(key) from None
  KeyError: 'OPENAI_API_KEY'

How to resolve this?

I know about the document from crewai that I should try this way

tool = PDFSearchTool(
    config=dict(
        llm=dict(
            provider="ollama", # or google, openai, anthropic, llama2, ...
            config=dict(
                model="llama2",
                # temperature=0.5,
                # top_p=1,
                # stream=true,
            ),
        ),
        embedder=dict(
            provider="google", # or openai, ollama, ...
            config=dict(
                model="models/embedding-001",
                task_type="retrieval_document",
                # title="Embeddings",
            ),
        ),
    )
)

But how to use ChatGroq with it.

python langchain groq rag crewai