mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-08 15:48:29 +00:00
Refactor: Move RAG components to dedicated top-level module (#3222)
* Move RAG components to top-level module - Create src/crewai/rag directory structure - Move embeddings configurator from utilities to rag module - Update imports across codebase and documentation - Remove deprecated embedding files * Remove empty knowledge/embedder directory
This commit is contained in:
@@ -623,7 +623,7 @@ for provider in providers_to_test:
|
|||||||
**Model not found errors:**
|
**Model not found errors:**
|
||||||
```python
|
```python
|
||||||
# Verify model availability
|
# Verify model availability
|
||||||
from crewai.utilities.embedding_configurator import EmbeddingConfigurator
|
from crewai.rag.embeddings.configurator import EmbeddingConfigurator
|
||||||
|
|
||||||
configurator = EmbeddingConfigurator()
|
configurator = EmbeddingConfigurator()
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -623,7 +623,7 @@ for provider in providers_to_test:
|
|||||||
**Erros de modelo não encontrado:**
|
**Erros de modelo não encontrado:**
|
||||||
```python
|
```python
|
||||||
# Verifique disponibilidade do modelo
|
# Verifique disponibilidade do modelo
|
||||||
from crewai.utilities.embedding_configurator import EmbeddingConfigurator
|
from crewai.rag.embeddings.configurator import EmbeddingConfigurator
|
||||||
|
|
||||||
configurator = EmbeddingConfigurator()
|
configurator = EmbeddingConfigurator()
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
from abc import ABC, abstractmethod
|
|
||||||
from typing import List
|
|
||||||
|
|
||||||
import numpy as np
|
|
||||||
|
|
||||||
|
|
||||||
class BaseEmbedder(ABC):
|
|
||||||
"""
|
|
||||||
Abstract base class for text embedding models
|
|
||||||
"""
|
|
||||||
|
|
||||||
@abstractmethod
|
|
||||||
def embed_chunks(self, chunks: List[str]) -> np.ndarray:
|
|
||||||
"""
|
|
||||||
Generate embeddings for a list of text chunks
|
|
||||||
|
|
||||||
Args:
|
|
||||||
chunks: List of text chunks to embed
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
Array of embeddings
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@abstractmethod
|
|
||||||
def embed_texts(self, texts: List[str]) -> np.ndarray:
|
|
||||||
"""
|
|
||||||
Generate embeddings for a list of texts
|
|
||||||
|
|
||||||
Args:
|
|
||||||
texts: List of texts to embed
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
Array of embeddings
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@abstractmethod
|
|
||||||
def embed_text(self, text: str) -> np.ndarray:
|
|
||||||
"""
|
|
||||||
Generate embedding for a single text
|
|
||||||
|
|
||||||
Args:
|
|
||||||
text: Text to embed
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
Embedding array
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
||||||
@property
|
|
||||||
@abstractmethod
|
|
||||||
def dimension(self) -> int:
|
|
||||||
"""Get the dimension of the embeddings"""
|
|
||||||
pass
|
|
||||||
@@ -13,7 +13,7 @@ from chromadb.api.types import OneOrMany
|
|||||||
from chromadb.config import Settings
|
from chromadb.config import Settings
|
||||||
|
|
||||||
from crewai.knowledge.storage.base_knowledge_storage import BaseKnowledgeStorage
|
from crewai.knowledge.storage.base_knowledge_storage import BaseKnowledgeStorage
|
||||||
from crewai.utilities import EmbeddingConfigurator
|
from crewai.rag.embeddings.configurator import EmbeddingConfigurator
|
||||||
from crewai.utilities.chromadb import sanitize_collection_name
|
from crewai.utilities.chromadb import sanitize_collection_name
|
||||||
from crewai.utilities.constants import KNOWLEDGE_DIRECTORY
|
from crewai.utilities.constants import KNOWLEDGE_DIRECTORY
|
||||||
from crewai.utilities.logger import Logger
|
from crewai.utilities.logger import Logger
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ import uuid
|
|||||||
|
|
||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
from chromadb.api import ClientAPI
|
from chromadb.api import ClientAPI
|
||||||
from crewai.memory.storage.base_rag_storage import BaseRAGStorage
|
from crewai.rag.storage.base_rag_storage import BaseRAGStorage
|
||||||
from crewai.utilities import EmbeddingConfigurator
|
from crewai.rag.embeddings.configurator import EmbeddingConfigurator
|
||||||
from crewai.utilities.chromadb import create_persistent_client
|
from crewai.utilities.chromadb import create_persistent_client
|
||||||
from crewai.utilities.constants import MAX_FILE_NAME_LENGTH
|
from crewai.utilities.constants import MAX_FILE_NAME_LENGTH
|
||||||
from crewai.utilities.paths import db_storage_path
|
from crewai.utilities.paths import db_storage_path
|
||||||
|
|||||||
1
src/crewai/rag/__init__.py
Normal file
1
src/crewai/rag/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
"""RAG (Retrieval-Augmented Generation) infrastructure for CrewAI."""
|
||||||
1
src/crewai/rag/embeddings/__init__.py
Normal file
1
src/crewai/rag/embeddings/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
"""Embedding components for RAG infrastructure."""
|
||||||
1
src/crewai/rag/storage/__init__.py
Normal file
1
src/crewai/rag/storage/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
"""Storage components for RAG infrastructure."""
|
||||||
@@ -10,7 +10,6 @@ from .rpm_controller import RPMController
|
|||||||
from .exceptions.context_window_exceeding_exception import (
|
from .exceptions.context_window_exceeding_exception import (
|
||||||
LLMContextLengthExceededException,
|
LLMContextLengthExceededException,
|
||||||
)
|
)
|
||||||
from .embedding_configurator import EmbeddingConfigurator
|
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"Converter",
|
"Converter",
|
||||||
@@ -24,5 +23,4 @@ __all__ = [
|
|||||||
"RPMController",
|
"RPMController",
|
||||||
"YamlParser",
|
"YamlParser",
|
||||||
"LLMContextLengthExceededException",
|
"LLMContextLengthExceededException",
|
||||||
"EmbeddingConfigurator",
|
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user