Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RAG implementation in CREWAI #247

Closed
NeethanShetty07 opened this issue Feb 13, 2024 · 17 comments
Closed

RAG implementation in CREWAI #247

NeethanShetty07 opened this issue Feb 13, 2024 · 17 comments

Comments

@NeethanShetty07
Copy link

Hi,

Is there any method implemented which we can link RAG method with agents.

@ZmeiGorynych
Copy link

You could run off this branch #246 and use a LangChain agent with RAG? :)

@slavakurilyak
Copy link

slavakurilyak commented Feb 18, 2024

Similar to issue #18

RAG with tools example here: https://mer.vin/2024/02/crewai-rag-using-tools/

RAG will be one of the first tools on our crew toolkit

-- Joao (@joaomdmoura)

@slavakurilyak
Copy link

RAG is now part of crewai-tools

@NeethanShetty07
Copy link
Author

Hi @slavakurilyak Thanks for the response

@NeethanShetty07
Copy link
Author

Can we attach any pdf or any document and do RAG on these documents using Agents ??

@ilyasudakov
Copy link
Contributor

Can we attach any pdf or any document and do RAG on these documents using Agents ??

@NeethanShetty07 Yeah, I got it working, here's a simple example with .txt file:

from crewai_tools.tools import TXTSearchTool
rag_tool = TXTSearchTool(txt='./sample_data/test.txt')

data_analyst = Agent(
  role='Data Analyst',
  goal='You perfectly know how to analyze any data using provided txt file and searching info via RAG tool',
  backstory='You are data expert',
  verbose=True,
  allow_delegation=False,
  tools=[rag_tool]
)

test_task = Task(
  description="Show me a company name",
  tools=[rag_tool],
  agent=data_analyst
)

test_task.execute()

@Neethan54
Copy link

But i have AzureOPENAI key , But TXTSearchTool is asking OPENAI key for the process , how to do solve this issue?

@P7201
Copy link

P7201 commented Mar 29, 2024

I am having the exact same problem as Neethan54 can anyone please let us know how we pass in the key from AzureOpenAI for the TXTSearchtool?

@SL13PNIR
Copy link

Bump.

Do tools need Open AI keys? I'm trying to use the PDFSearchTool with Mistral, assumed I'd only need OpenAI keys for using an Open AI llm.

@thekizoch
Copy link

Im having the same issue as @Neethan54 and @P7201 , for Azure OpenAI for PDFSearchTool

@manojselvakumar
Copy link

I'd like to understand the same. How to use Azure OpenAI for PDFSearchTool?

@ItzmeAkash
Copy link

how to use groq and other embeddings on PDFSearchTool anyone knows??

@theholymath
Copy link

It seems embedchain is making changes to their config for embeddings. Does this help get PDFSearchTool working for Azure? Is there an example of how to get the config working with an Azure subscription?

@cbarkinozer
Copy link

cbarkinozer commented Jun 26, 2024

From the theory, the way tools (function calling) work is by comparing the request's embedding with the tool's description's embedding (vector distance measurement). Therefore tools require an embedding_model. I checked the source code and did the following. The CrewAI framework checks if there is an embedding_model_config given and if not it tries to use OpenAI Embeddings by default. To solve this I used a config dict you can see from the below example:

    rag_tool = DOCXSearchTool(
        docx='C:\\Repos\\myproject\\myfolders\\mydocument.docx',
        config={"embedding_model": {
            "provider": "huggingface",
            "config": { "model": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2"}
            }
        }
    )

Later, the CrewAI framework asked me to download the "docx2txt" package to work, which you can do by running this command: "pip install docx2txt" and it worked without a problem afterwards.

You can change the model with another HuggingFace embedding model and it should work.

I also had a similar problem with the memory which I solved similarly: #769 (comment)

@suvom24
Copy link

suvom24 commented Jul 22, 2024

[cbarkinozer] Thanks for providing the config. it's working with TXTSearchTool also,

    config=dict(
        llm=dict(
            provider="google", 
            config=dict(
                model="gemini-1.5-flash",
            )   
        ),
        embedding_model ={"provider": "huggingface",
                  "config": { "model": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2"}
                  }
        ),
    )

Copy link

This issue is stale because it has been open for 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

Copy link

This issue was closed because it has been stalled for 5 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Aug 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests