Spaces:
Sleeping
Sleeping
refactor package name to knowlang
Browse files- .vscode/launch.json +2 -2
- app.py +2 -2
- pyproject.toml +2 -2
- src/{know_lang_bot β knowlang}/__init__.py +0 -0
- src/{know_lang_bot β knowlang}/__main__.py +7 -7
- src/{know_lang_bot β knowlang}/chat_bot/__main__.py +2 -2
- src/{know_lang_bot β knowlang}/chat_bot/chat_graph.py +5 -5
- src/{know_lang_bot β knowlang}/chat_bot/chat_interface.py +6 -6
- src/{know_lang_bot β knowlang}/chat_bot/feedback.py +1 -1
- src/{know_lang_bot β knowlang}/chat_bot/gradio_demo.py +2 -2
- src/{know_lang_bot β knowlang}/configs/chat_config.py +0 -0
- src/{know_lang_bot β knowlang}/configs/config.py +2 -2
- src/{know_lang_bot β knowlang}/core/types.py +0 -0
- src/{know_lang_bot β knowlang}/evaluation/chatbot_evaluation.py +4 -4
- src/{know_lang_bot β knowlang}/evaluation/chatbot_evaluation_visualize.py +1 -1
- src/{know_lang_bot β knowlang}/evaluation/embedding_evaluation.py +4 -4
- src/{know_lang_bot β knowlang}/models/batch_request.py +1 -1
- src/{know_lang_bot β knowlang}/models/embeddings.py +1 -1
- src/{know_lang_bot β knowlang}/models/huggingface.py +0 -0
- src/{know_lang_bot β knowlang}/parser/base/parser.py +2 -2
- src/{know_lang_bot β knowlang}/parser/base/provider.py +1 -1
- src/{know_lang_bot β knowlang}/parser/factory.py +3 -3
- src/{know_lang_bot β knowlang}/parser/languages/python/parser.py +3 -3
- src/{know_lang_bot β knowlang}/parser/providers/filesystem.py +2 -2
- src/{know_lang_bot β knowlang}/parser/providers/git.py +2 -2
- src/{know_lang_bot β knowlang}/summarizer/summarizer.py +5 -5
- src/{know_lang_bot β knowlang}/utils/chunking_util.py +0 -0
- src/{know_lang_bot β knowlang}/utils/fancy_log.py +0 -0
- src/{know_lang_bot β knowlang}/utils/migration/openai_embedding_migrations.py +3 -3
- src/{know_lang_bot β knowlang}/utils/migration/voyage_embedding_migraions.py +3 -3
- src/{know_lang_bot β knowlang}/utils/model_provider.py +2 -2
- src/{know_lang_bot β knowlang}/utils/rate_limiter.py +0 -0
- tests/conftest.py +2 -2
- tests/parser/test_python_parser.py +3 -3
- tests/test_summarizer.py +7 -7
.vscode/launch.json
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
"name": "Know Lang",
|
6 |
"type": "debugpy",
|
7 |
"request": "launch",
|
8 |
-
"module": "
|
9 |
"args": [
|
10 |
"--v"
|
11 |
]
|
@@ -14,7 +14,7 @@
|
|
14 |
"name": "Know Lang ChatBot ",
|
15 |
"type": "debugpy",
|
16 |
"request": "launch",
|
17 |
-
"program": "${workspaceFolder}/src/
|
18 |
}
|
19 |
]
|
20 |
}
|
|
|
5 |
"name": "Know Lang",
|
6 |
"type": "debugpy",
|
7 |
"request": "launch",
|
8 |
+
"module": "knowlang",
|
9 |
"args": [
|
10 |
"--v"
|
11 |
]
|
|
|
14 |
"name": "Know Lang ChatBot ",
|
15 |
"type": "debugpy",
|
16 |
"request": "launch",
|
17 |
+
"program": "${workspaceFolder}/src/knowlang/chat_bot/gradio_demo.py",
|
18 |
}
|
19 |
]
|
20 |
}
|
app.py
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
import requests
|
2 |
import zipfile
|
3 |
import io
|
4 |
-
from
|
5 |
-
from
|
6 |
import tempfile
|
7 |
from rich.console import Console
|
8 |
|
|
|
1 |
import requests
|
2 |
import zipfile
|
3 |
import io
|
4 |
+
from knowlang.chat_bot.chat_interface import create_chatbot
|
5 |
+
from knowlang.configs.config import AppConfig
|
6 |
import tempfile
|
7 |
from rich.console import Console
|
8 |
|
pyproject.toml
CHANGED
@@ -3,7 +3,7 @@ addopts = [
|
|
3 |
"--import-mode=importlib",
|
4 |
]
|
5 |
[project]
|
6 |
-
name = "
|
7 |
version = "0.1.0"
|
8 |
description = ""
|
9 |
authors = [
|
@@ -26,7 +26,7 @@ dependencies = [
|
|
26 |
|
27 |
[tool.poetry]
|
28 |
packages = [
|
29 |
-
{ include = "
|
30 |
]
|
31 |
|
32 |
|
|
|
3 |
"--import-mode=importlib",
|
4 |
]
|
5 |
[project]
|
6 |
+
name = "knowlang"
|
7 |
version = "0.1.0"
|
8 |
description = ""
|
9 |
authors = [
|
|
|
26 |
|
27 |
[tool.poetry]
|
28 |
packages = [
|
29 |
+
{ include = "knowlang", from="src" },
|
30 |
]
|
31 |
|
32 |
|
src/{know_lang_bot β knowlang}/__init__.py
RENAMED
File without changes
|
src/{know_lang_bot β knowlang}/__main__.py
RENAMED
@@ -6,13 +6,13 @@ from typing import List, Optional
|
|
6 |
from rich.console import Console
|
7 |
from rich.table import Table
|
8 |
|
9 |
-
from
|
10 |
-
from
|
11 |
-
from
|
12 |
-
from
|
13 |
-
from
|
14 |
-
from
|
15 |
-
from
|
16 |
|
17 |
LOG = FancyLogger(__name__)
|
18 |
console = Console()
|
|
|
6 |
from rich.console import Console
|
7 |
from rich.table import Table
|
8 |
|
9 |
+
from knowlang.core.types import CodeChunk
|
10 |
+
from knowlang.configs.config import AppConfig
|
11 |
+
from knowlang.parser.factory import CodeParserFactory
|
12 |
+
from knowlang.parser.providers.git import GitProvider
|
13 |
+
from knowlang.parser.providers.filesystem import FilesystemProvider
|
14 |
+
from knowlang.summarizer.summarizer import CodeSummarizer
|
15 |
+
from knowlang.utils.fancy_log import FancyLogger
|
16 |
|
17 |
LOG = FancyLogger(__name__)
|
18 |
console = Console()
|
src/{know_lang_bot β knowlang}/chat_bot/__main__.py
RENAMED
@@ -1,5 +1,5 @@
|
|
1 |
-
from
|
2 |
-
from
|
3 |
import chromadb
|
4 |
import asyncio
|
5 |
|
|
|
1 |
+
from knowlang.configs.config import AppConfig
|
2 |
+
from knowlang.chat_bot.chat_graph import process_chat
|
3 |
import chromadb
|
4 |
import asyncio
|
5 |
|
src/{know_lang_bot β knowlang}/chat_bot/chat_graph.py
RENAMED
@@ -5,16 +5,16 @@ from typing import AsyncGenerator, List, Dict, Any, Optional
|
|
5 |
import chromadb
|
6 |
from pydantic import BaseModel
|
7 |
from pydantic_graph import BaseNode, EndStep, Graph, GraphRunContext, End, HistoryStep
|
8 |
-
from
|
9 |
-
from
|
10 |
from pydantic_ai import Agent
|
11 |
import logfire
|
12 |
from pprint import pformat
|
13 |
from enum import Enum
|
14 |
from rich.console import Console
|
15 |
-
from
|
16 |
-
from
|
17 |
-
from
|
18 |
import voyageai
|
19 |
from voyageai.object.reranking import RerankingObject
|
20 |
|
|
|
5 |
import chromadb
|
6 |
from pydantic import BaseModel
|
7 |
from pydantic_graph import BaseNode, EndStep, Graph, GraphRunContext, End, HistoryStep
|
8 |
+
from knowlang.configs.config import AppConfig, RerankerConfig, EmbeddingConfig
|
9 |
+
from knowlang.utils.fancy_log import FancyLogger
|
10 |
from pydantic_ai import Agent
|
11 |
import logfire
|
12 |
from pprint import pformat
|
13 |
from enum import Enum
|
14 |
from rich.console import Console
|
15 |
+
from knowlang.utils.model_provider import create_pydantic_model
|
16 |
+
from knowlang.utils.chunking_util import truncate_chunk
|
17 |
+
from knowlang.models.embeddings import EmbeddingInputType, generate_embedding
|
18 |
import voyageai
|
19 |
from voyageai.object.reranking import RerankingObject
|
20 |
|
src/{know_lang_bot β knowlang}/chat_bot/chat_interface.py
RENAMED
@@ -1,11 +1,11 @@
|
|
1 |
from dataclasses import dataclass
|
2 |
import gradio as gr
|
3 |
-
from
|
4 |
-
from
|
5 |
-
from
|
6 |
-
from
|
7 |
-
from
|
8 |
-
from
|
9 |
import chromadb
|
10 |
from typing import List, Dict, AsyncGenerator
|
11 |
from pathlib import Path
|
|
|
1 |
from dataclasses import dataclass
|
2 |
import gradio as gr
|
3 |
+
from knowlang.configs.chat_config import ChatConfig
|
4 |
+
from knowlang.configs.config import AppConfig
|
5 |
+
from knowlang.utils.fancy_log import FancyLogger
|
6 |
+
from knowlang.utils.rate_limiter import RateLimiter
|
7 |
+
from knowlang.chat_bot.chat_graph import stream_chat_progress, ChatStatus
|
8 |
+
from knowlang.chat_bot.feedback import ChatAnalytics
|
9 |
import chromadb
|
10 |
from typing import List, Dict, AsyncGenerator
|
11 |
from pathlib import Path
|
src/{know_lang_bot β knowlang}/chat_bot/feedback.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1 |
from mixpanel import Mixpanel
|
2 |
from datetime import datetime
|
3 |
from enum import Enum
|
4 |
-
from
|
5 |
|
6 |
class ChatFeedback(Enum):
|
7 |
POSITIVE = "positive"
|
|
|
1 |
from mixpanel import Mixpanel
|
2 |
from datetime import datetime
|
3 |
from enum import Enum
|
4 |
+
from knowlang.configs.chat_config import ChatbotAnalyticsConfig
|
5 |
|
6 |
class ChatFeedback(Enum):
|
7 |
POSITIVE = "positive"
|
src/{know_lang_bot β knowlang}/chat_bot/gradio_demo.py
RENAMED
@@ -1,5 +1,5 @@
|
|
1 |
-
from
|
2 |
-
from
|
3 |
|
4 |
|
5 |
config = AppConfig()
|
|
|
1 |
+
from knowlang.chat_bot.chat_interface import create_chatbot
|
2 |
+
from knowlang.configs.config import AppConfig
|
3 |
|
4 |
|
5 |
config = AppConfig()
|
src/{know_lang_bot β knowlang}/configs/chat_config.py
RENAMED
File without changes
|
src/{know_lang_bot β knowlang}/configs/config.py
RENAMED
@@ -3,8 +3,8 @@ from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
3 |
from pydantic import Field, field_validator, ValidationInfo
|
4 |
from pathlib import Path
|
5 |
import fnmatch
|
6 |
-
from
|
7 |
-
from
|
8 |
import os
|
9 |
|
10 |
def _validate_api_key(v: Optional[str], info: ValidationInfo) -> Optional[str]:
|
|
|
3 |
from pydantic import Field, field_validator, ValidationInfo
|
4 |
from pathlib import Path
|
5 |
import fnmatch
|
6 |
+
from knowlang.core.types import ModelProvider
|
7 |
+
from knowlang.configs.chat_config import ChatConfig, ChatbotAnalyticsConfig
|
8 |
import os
|
9 |
|
10 |
def _validate_api_key(v: Optional[str], info: ValidationInfo) -> Optional[str]:
|
src/{know_lang_bot β knowlang}/core/types.py
RENAMED
File without changes
|
src/{know_lang_bot β knowlang}/evaluation/chatbot_evaluation.py
RENAMED
@@ -2,10 +2,10 @@ from typing import List
|
|
2 |
from enum import Enum
|
3 |
from pydantic import BaseModel, Field, computed_field
|
4 |
from pydantic_ai import Agent
|
5 |
-
from
|
6 |
-
from
|
7 |
-
from
|
8 |
-
from
|
9 |
import asyncio
|
10 |
import datetime
|
11 |
from pathlib import Path
|
|
|
2 |
from enum import Enum
|
3 |
from pydantic import BaseModel, Field, computed_field
|
4 |
from pydantic_ai import Agent
|
5 |
+
from knowlang.configs.config import AppConfig
|
6 |
+
from knowlang.utils.chunking_util import truncate_chunk
|
7 |
+
from knowlang.utils.model_provider import create_pydantic_model
|
8 |
+
from knowlang.chat_bot.chat_graph import ChatResult, process_chat
|
9 |
import asyncio
|
10 |
import datetime
|
11 |
from pathlib import Path
|
src/{know_lang_bot β knowlang}/evaluation/chatbot_evaluation_visualize.py
RENAMED
@@ -5,7 +5,7 @@ from rich.console import Console
|
|
5 |
from rich.table import Table
|
6 |
from typing import List, Dict
|
7 |
from enum import Enum
|
8 |
-
from
|
9 |
|
10 |
class RetrievalMethod(str, Enum):
|
11 |
EMBEDDING = "embedding"
|
|
|
5 |
from rich.table import Table
|
6 |
from typing import List, Dict
|
7 |
from enum import Enum
|
8 |
+
from knowlang.evaluation.chatbot_evaluation import EvalSummary
|
9 |
|
10 |
class RetrievalMethod(str, Enum):
|
11 |
EMBEDDING = "embedding"
|
src/{know_lang_bot β knowlang}/evaluation/embedding_evaluation.py
RENAMED
@@ -6,11 +6,11 @@ import chromadb
|
|
6 |
import numpy as np
|
7 |
from pydantic import BaseModel
|
8 |
from dataclasses import dataclass
|
9 |
-
from
|
10 |
-
from
|
11 |
import json
|
12 |
-
from
|
13 |
-
from
|
14 |
|
15 |
@dataclass
|
16 |
class ConfigEvalResult:
|
|
|
6 |
import numpy as np
|
7 |
from pydantic import BaseModel
|
8 |
from dataclasses import dataclass
|
9 |
+
from knowlang.chat_bot.chat_graph import ChatResult
|
10 |
+
from knowlang.configs.config import AppConfig, EmbeddingConfig
|
11 |
import json
|
12 |
+
from knowlang.evaluation.chatbot_evaluation import EvalCase, TRANSFORMER_TEST_CASES
|
13 |
+
from knowlang.models.embeddings import EmbeddingInputType, generate_embedding, EmbeddingVector
|
14 |
|
15 |
@dataclass
|
16 |
class ConfigEvalResult:
|
src/{know_lang_bot β knowlang}/models/batch_request.py
RENAMED
@@ -1,5 +1,5 @@
|
|
1 |
from typing import List
|
2 |
-
from
|
3 |
from pydantic_ai.messages import ModelMessage
|
4 |
|
5 |
def _process_anthropic_batch(batched_input: List[List[ModelMessage]], config: LLMConfig) -> List[str]:
|
|
|
1 |
from typing import List
|
2 |
+
from knowlang.configs.config import ModelProvider, LLMConfig
|
3 |
from pydantic_ai.messages import ModelMessage
|
4 |
|
5 |
def _process_anthropic_batch(batched_input: List[List[ModelMessage]], config: LLMConfig) -> List[str]:
|
src/{know_lang_bot β knowlang}/models/embeddings.py
RENAMED
@@ -2,7 +2,7 @@ import ollama
|
|
2 |
import openai
|
3 |
import voyageai
|
4 |
import voyageai.client
|
5 |
-
from
|
6 |
from typing import Union, List, overload, Optional
|
7 |
from enum import Enum
|
8 |
|
|
|
2 |
import openai
|
3 |
import voyageai
|
4 |
import voyageai.client
|
5 |
+
from knowlang.configs.config import EmbeddingConfig, ModelProvider
|
6 |
from typing import Union, List, overload, Optional
|
7 |
from enum import Enum
|
8 |
|
src/{know_lang_bot β knowlang}/models/huggingface.py
RENAMED
File without changes
|
src/{know_lang_bot β knowlang}/parser/base/parser.py
RENAMED
@@ -1,8 +1,8 @@
|
|
1 |
from abc import ABC, abstractmethod
|
2 |
from typing import List
|
3 |
from pathlib import Path
|
4 |
-
from
|
5 |
-
from
|
6 |
from tree_sitter import Language, Parser
|
7 |
|
8 |
class LanguageParser(ABC):
|
|
|
1 |
from abc import ABC, abstractmethod
|
2 |
from typing import List
|
3 |
from pathlib import Path
|
4 |
+
from knowlang.core.types import CodeChunk
|
5 |
+
from knowlang.configs.config import AppConfig, LanguageConfig
|
6 |
from tree_sitter import Language, Parser
|
7 |
|
8 |
class LanguageParser(ABC):
|
src/{know_lang_bot β knowlang}/parser/base/provider.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1 |
from abc import ABC, abstractmethod
|
2 |
from typing import Generator
|
3 |
from pathlib import Path
|
4 |
-
from
|
5 |
|
6 |
class CodeProvider(ABC):
|
7 |
"""Abstract base class for code source providers"""
|
|
|
1 |
from abc import ABC, abstractmethod
|
2 |
from typing import Generator
|
3 |
from pathlib import Path
|
4 |
+
from knowlang.configs.config import AppConfig
|
5 |
|
6 |
class CodeProvider(ABC):
|
7 |
"""Abstract base class for code source providers"""
|
src/{know_lang_bot β knowlang}/parser/factory.py
RENAMED
@@ -1,9 +1,9 @@
|
|
1 |
from typing import Dict, Type, Optional
|
2 |
from pathlib import Path
|
3 |
|
4 |
-
from
|
5 |
-
from
|
6 |
-
from
|
7 |
|
8 |
class CodeParserFactory():
|
9 |
"""Concrete implementation of parser factory"""
|
|
|
1 |
from typing import Dict, Type, Optional
|
2 |
from pathlib import Path
|
3 |
|
4 |
+
from knowlang.parser.base.parser import LanguageParser
|
5 |
+
from knowlang.parser.languages.python.parser import PythonParser
|
6 |
+
from knowlang.configs.config import AppConfig
|
7 |
|
8 |
class CodeParserFactory():
|
9 |
"""Concrete implementation of parser factory"""
|
src/{know_lang_bot β knowlang}/parser/languages/python/parser.py
RENAMED
@@ -3,9 +3,9 @@ from pathlib import Path
|
|
3 |
import tree_sitter_python
|
4 |
from tree_sitter import Language, Parser, Node
|
5 |
|
6 |
-
from
|
7 |
-
from
|
8 |
-
from
|
9 |
|
10 |
LOG = FancyLogger(__name__)
|
11 |
|
|
|
3 |
import tree_sitter_python
|
4 |
from tree_sitter import Language, Parser, Node
|
5 |
|
6 |
+
from knowlang.parser.base.parser import LanguageParser
|
7 |
+
from knowlang.core.types import CodeChunk, ChunkType
|
8 |
+
from knowlang.utils.fancy_log import FancyLogger
|
9 |
|
10 |
LOG = FancyLogger(__name__)
|
11 |
|
src/{know_lang_bot β knowlang}/parser/providers/filesystem.py
RENAMED
@@ -1,7 +1,7 @@
|
|
1 |
from pathlib import Path
|
2 |
from typing import Generator
|
3 |
-
from
|
4 |
-
from
|
5 |
import os
|
6 |
|
7 |
class FilesystemProvider(CodeProvider):
|
|
|
1 |
from pathlib import Path
|
2 |
from typing import Generator
|
3 |
+
from knowlang.configs.config import AppConfig
|
4 |
+
from knowlang.parser.base.provider import CodeProvider
|
5 |
import os
|
6 |
|
7 |
class FilesystemProvider(CodeProvider):
|
src/{know_lang_bot β knowlang}/parser/providers/git.py
RENAMED
@@ -1,8 +1,8 @@
|
|
1 |
from pathlib import Path
|
2 |
from typing import Generator
|
3 |
from git import Repo
|
4 |
-
from
|
5 |
-
from
|
6 |
import os
|
7 |
|
8 |
|
|
|
1 |
from pathlib import Path
|
2 |
from typing import Generator
|
3 |
from git import Repo
|
4 |
+
from knowlang.configs.config import AppConfig
|
5 |
+
from knowlang.parser.base.provider import CodeProvider
|
6 |
import os
|
7 |
|
8 |
|
src/{know_lang_bot β knowlang}/summarizer/summarizer.py
RENAMED
@@ -6,11 +6,11 @@ from pydantic import BaseModel, Field
|
|
6 |
from pprint import pformat
|
7 |
from rich.progress import Progress
|
8 |
|
9 |
-
from
|
10 |
-
from
|
11 |
-
from
|
12 |
-
from
|
13 |
-
from
|
14 |
|
15 |
LOG = FancyLogger(__name__)
|
16 |
|
|
|
6 |
from pprint import pformat
|
7 |
from rich.progress import Progress
|
8 |
|
9 |
+
from knowlang.configs.config import AppConfig
|
10 |
+
from knowlang.core.types import CodeChunk, ModelProvider
|
11 |
+
from knowlang.utils.fancy_log import FancyLogger
|
12 |
+
from knowlang.utils.model_provider import create_pydantic_model
|
13 |
+
from knowlang.models.embeddings import generate_embedding
|
14 |
|
15 |
LOG = FancyLogger(__name__)
|
16 |
|
src/{know_lang_bot β knowlang}/utils/chunking_util.py
RENAMED
File without changes
|
src/{know_lang_bot β knowlang}/utils/fancy_log.py
RENAMED
File without changes
|
src/{know_lang_bot β knowlang}/utils/migration/openai_embedding_migrations.py
RENAMED
@@ -8,9 +8,9 @@ from rich.console import Console
|
|
8 |
from typing import List, Dict, Optional
|
9 |
from openai import OpenAI
|
10 |
from datetime import datetime
|
11 |
-
from
|
12 |
-
from
|
13 |
-
from
|
14 |
|
15 |
LOG = FancyLogger(__name__)
|
16 |
console = Console()
|
|
|
8 |
from typing import List, Dict, Optional
|
9 |
from openai import OpenAI
|
10 |
from datetime import datetime
|
11 |
+
from knowlang.configs.config import AppConfig
|
12 |
+
from knowlang.utils.fancy_log import FancyLogger
|
13 |
+
from knowlang.utils.chunking_util import truncate_chunk
|
14 |
|
15 |
LOG = FancyLogger(__name__)
|
16 |
console = Console()
|
src/{know_lang_bot β knowlang}/utils/migration/voyage_embedding_migraions.py
RENAMED
@@ -5,9 +5,9 @@ from chromadb.errors import InvalidCollectionException
|
|
5 |
from rich.progress import Progress
|
6 |
from rich.console import Console
|
7 |
from typing import List
|
8 |
-
from
|
9 |
-
from
|
10 |
-
from
|
11 |
|
12 |
LOG = FancyLogger(__name__)
|
13 |
console = Console()
|
|
|
5 |
from rich.progress import Progress
|
6 |
from rich.console import Console
|
7 |
from typing import List
|
8 |
+
from knowlang.configs.config import AppConfig, EmbeddingConfig
|
9 |
+
from knowlang.models.embeddings import generate_embedding, EmbeddingInputType
|
10 |
+
from knowlang.utils.fancy_log import FancyLogger
|
11 |
|
12 |
LOG = FancyLogger(__name__)
|
13 |
console = Console()
|
src/{know_lang_bot β knowlang}/utils/model_provider.py
RENAMED
@@ -1,5 +1,5 @@
|
|
1 |
from pydantic_ai.models import Model, KnownModelName
|
2 |
-
from
|
3 |
from typing import get_args
|
4 |
|
5 |
def create_pydantic_model(
|
@@ -11,7 +11,7 @@ def create_pydantic_model(
|
|
11 |
if model_str in get_args(KnownModelName):
|
12 |
return model_str
|
13 |
elif model_provider == ModelProvider.HUGGINGFACE:
|
14 |
-
from
|
15 |
return HuggingFaceModel(model_name=model_name)
|
16 |
elif model_provider == ModelProvider.TESTING:
|
17 |
# should be used for testing purposes only
|
|
|
1 |
from pydantic_ai.models import Model, KnownModelName
|
2 |
+
from knowlang.core.types import ModelProvider
|
3 |
from typing import get_args
|
4 |
|
5 |
def create_pydantic_model(
|
|
|
11 |
if model_str in get_args(KnownModelName):
|
12 |
return model_str
|
13 |
elif model_provider == ModelProvider.HUGGINGFACE:
|
14 |
+
from knowlang.models.huggingface import HuggingFaceModel
|
15 |
return HuggingFaceModel(model_name=model_name)
|
16 |
elif model_provider == ModelProvider.TESTING:
|
17 |
# should be used for testing purposes only
|
src/{know_lang_bot β knowlang}/utils/rate_limiter.py
RENAMED
File without changes
|
tests/conftest.py
CHANGED
@@ -3,8 +3,8 @@ import tempfile
|
|
3 |
import git
|
4 |
from pathlib import Path
|
5 |
from typing import Dict
|
6 |
-
from
|
7 |
-
from
|
8 |
from tests.test_data.python_files import TEST_FILES
|
9 |
|
10 |
@pytest.fixture
|
|
|
3 |
import git
|
4 |
from pathlib import Path
|
5 |
from typing import Dict
|
6 |
+
from knowlang.configs.config import AppConfig, ParserConfig, LanguageConfig
|
7 |
+
from knowlang.parser.languages.python.parser import PythonParser
|
8 |
from tests.test_data.python_files import TEST_FILES
|
9 |
|
10 |
@pytest.fixture
|
tests/parser/test_python_parser.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
import pytest
|
2 |
from pathlib import Path
|
3 |
-
from
|
4 |
from tests.test_data.python_files import (
|
5 |
TEST_FILES,
|
6 |
INVALID_SYNTAX,
|
@@ -8,8 +8,8 @@ from tests.test_data.python_files import (
|
|
8 |
NESTED_CLASS_EXPECTATIONS,
|
9 |
COMPLEX_FILE_EXPECTATIONS
|
10 |
)
|
11 |
-
from
|
12 |
-
from
|
13 |
from typing import List
|
14 |
import tempfile
|
15 |
|
|
|
1 |
import pytest
|
2 |
from pathlib import Path
|
3 |
+
from knowlang.core.types import ChunkType
|
4 |
from tests.test_data.python_files import (
|
5 |
TEST_FILES,
|
6 |
INVALID_SYNTAX,
|
|
|
8 |
NESTED_CLASS_EXPECTATIONS,
|
9 |
COMPLEX_FILE_EXPECTATIONS
|
10 |
)
|
11 |
+
from knowlang.core.types import CodeChunk
|
12 |
+
from knowlang.parser.languages.python.parser import PythonParser
|
13 |
from typing import List
|
14 |
import tempfile
|
15 |
|
tests/test_summarizer.py
CHANGED
@@ -2,9 +2,9 @@ import pytest
|
|
2 |
import tempfile
|
3 |
from unittest.mock import Mock, patch, AsyncMock
|
4 |
from pathlib import Path
|
5 |
-
from
|
6 |
-
from
|
7 |
-
from
|
8 |
|
9 |
@pytest.fixture
|
10 |
def config():
|
@@ -52,7 +52,7 @@ def mock_run_result(mock_summary):
|
|
52 |
return mock_result
|
53 |
|
54 |
@pytest.mark.asyncio
|
55 |
-
@patch('
|
56 |
async def test_summarize_chunk(mock_agent_class, config: AppConfig, sample_chunks: list[CodeChunk], mock_run_result: Mock):
|
57 |
"""Test summarizing a single chunk"""
|
58 |
# Setup the mock agent instance
|
@@ -71,7 +71,7 @@ async def test_summarize_chunk(mock_agent_class, config: AppConfig, sample_chunk
|
|
71 |
assert "def hello()" in call_args
|
72 |
assert "Says hello" in call_args
|
73 |
|
74 |
-
@patch('
|
75 |
def test_chromadb_initialization(mock_agent_class, config: AppConfig):
|
76 |
"""Test ChromaDB initialization"""
|
77 |
mock_agent = mock_agent_class.return_value
|
@@ -85,8 +85,8 @@ def test_chromadb_initialization(mock_agent_class, config: AppConfig):
|
|
85 |
assert new_summarizer.collection is not None
|
86 |
|
87 |
@pytest.mark.asyncio
|
88 |
-
@patch('
|
89 |
-
@patch('
|
90 |
async def test_process_and_store_chunk_with_embedding(
|
91 |
mock_agent_class,
|
92 |
mock_embedding_generator,
|
|
|
2 |
import tempfile
|
3 |
from unittest.mock import Mock, patch, AsyncMock
|
4 |
from pathlib import Path
|
5 |
+
from knowlang.summarizer.summarizer import CodeSummarizer
|
6 |
+
from knowlang.core.types import CodeChunk, ChunkType
|
7 |
+
from knowlang.configs.config import AppConfig
|
8 |
|
9 |
@pytest.fixture
|
10 |
def config():
|
|
|
52 |
return mock_result
|
53 |
|
54 |
@pytest.mark.asyncio
|
55 |
+
@patch('knowlang.summarizer.summarizer.Agent')
|
56 |
async def test_summarize_chunk(mock_agent_class, config: AppConfig, sample_chunks: list[CodeChunk], mock_run_result: Mock):
|
57 |
"""Test summarizing a single chunk"""
|
58 |
# Setup the mock agent instance
|
|
|
71 |
assert "def hello()" in call_args
|
72 |
assert "Says hello" in call_args
|
73 |
|
74 |
+
@patch('knowlang.summarizer.summarizer.Agent')
|
75 |
def test_chromadb_initialization(mock_agent_class, config: AppConfig):
|
76 |
"""Test ChromaDB initialization"""
|
77 |
mock_agent = mock_agent_class.return_value
|
|
|
85 |
assert new_summarizer.collection is not None
|
86 |
|
87 |
@pytest.mark.asyncio
|
88 |
+
@patch('knowlang.summarizer.summarizer.generate_embedding')
|
89 |
+
@patch('knowlang.summarizer.summarizer.Agent')
|
90 |
async def test_process_and_store_chunk_with_embedding(
|
91 |
mock_agent_class,
|
92 |
mock_embedding_generator,
|