langchain-ocr-lib 0.3.0__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/PKG-INFO +3 -3
  2. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/pyproject.toml +3 -3
  3. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/di_config.py +6 -4
  4. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/langfuse_manager/langfuse_manager.py +0 -14
  5. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/settings/ollama_chat_settings.py +1 -1
  6. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/settings/openai_chat_settings.py +3 -3
  7. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/settings/vllm_chat_settings.py +3 -3
  8. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/README.md +0 -0
  9. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/__init__.py +0 -0
  10. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/chains/__init__.py +0 -0
  11. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/chains/chain.py +0 -0
  12. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/converter/__init__.py +0 -0
  13. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/converter/converter.py +0 -0
  14. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/di_binding_keys/__init__.py +0 -0
  15. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/di_binding_keys/binding_keys.py +0 -0
  16. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/__init__.py +0 -0
  17. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/chains/__init__.py +0 -0
  18. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/chains/ocr_chain.py +0 -0
  19. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/converter/__init__.py +0 -0
  20. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/converter/image_converter.py +0 -0
  21. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/converter/pdf_converter.py +0 -0
  22. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/langfuse_manager/__init__.py +0 -0
  23. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/llms/__init__.py +0 -0
  24. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/llms/llm_factory.py +0 -0
  25. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/llms/llm_type.py +0 -0
  26. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/settings/__init__.py +0 -0
  27. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/settings/langfuse_settings.py +0 -0
  28. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/settings/language_settings.py +0 -0
  29. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/settings/llm_class_type_settings.py +0 -0
  30. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/tracers/__init__.py +0 -0
  31. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/impl/tracers/langfuse_traced_chain.py +0 -0
  32. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/language_mapping/language_mapping.py +0 -0
  33. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/main.py +0 -0
  34. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/prompt_templates/__init__.py +0 -0
  35. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/prompt_templates/ocr_prompt.py +0 -0
  36. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/tracers/__init__.py +0 -0
  37. {langchain_ocr_lib-0.3.0 → langchain_ocr_lib-0.3.1}/src/langchain_ocr_lib/tracers/traced_chain.py +0 -0
@@ -1,7 +1,7 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: langchain-ocr-lib
3
- Version: 0.3.0
4
- Summary:
3
+ Version: 0.3.1
4
+ Summary: Modular, vision-LLM-powered chain to convert image and PDF documents into clean Markdown.
5
5
  License: MIT
6
6
  Author: Andreas Klos
7
7
  Author-email: aklos@outlook.de
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["poetry-core==1.8.5"]
2
+ requires = ["poetry-core==2.1.2"]
3
3
  build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry.scripts]
@@ -7,8 +7,8 @@ langchain-ocr = "langchain_ocr_lib.main:main"
7
7
 
8
8
  [tool.poetry]
9
9
  name = "langchain-ocr-lib"
10
- version = "0.3.0"
11
- description = ""
10
+ version = "0.3.1"
11
+ description = "Modular, vision-LLM-powered chain to convert image and PDF documents into clean Markdown."
12
12
  authors = ["Andreas Klos <aklos@outlook.de>"]
13
13
  readme = "README.md"
14
14
  packages = [{ include = "langchain_ocr_lib", from = "src" }]
@@ -14,6 +14,7 @@ from langchain_ocr_lib.di_binding_keys.binding_keys import (
14
14
  from langchain_ollama import ChatOllama
15
15
  from langchain_openai import ChatOpenAI
16
16
  from langfuse import Langfuse
17
+ from functools import partial
17
18
 
18
19
  from langchain_ocr_lib.impl.chains.ocr_chain import OcrChain
19
20
  from langchain_ocr_lib.impl.settings.ollama_chat_settings import OllamaSettings
@@ -50,16 +51,17 @@ def lib_di_config(binder: Binder):
50
51
 
51
52
  if llm_class_type_settings.llm_type == "ollama":
52
53
  settings = OllamaSettings()
53
- llm_instance = llm_provider(settings, ChatOllama)
54
+ partial_llm_provider = partial(llm_provider,settings, ChatOllama)
54
55
  elif llm_class_type_settings.llm_type == "openai":
55
56
  settings = OpenAISettings()
56
- llm_instance = llm_provider(settings, ChatOpenAI)
57
+ partial_llm_provider = partial(llm_provider,settings, ChatOpenAI)
57
58
  elif llm_class_type_settings.llm_type == "vllm":
58
59
  settings = VllmSettings()
59
- llm_instance = llm_provider(settings, ChatOpenAI)
60
+ partial_llm_provider = partial(llm_provider,settings, ChatOpenAI)
60
61
  else:
61
62
  raise NotImplementedError("Configured LLM is not implemented")
62
- binder.bind(LargeLanguageModelKey, llm_instance)
63
+
64
+ binder.bind_to_provider(LargeLanguageModelKey, partial_llm_provider)
63
65
 
64
66
  prompt = ocr_prompt_template_builder(language=language_settings.language, model_name=settings.model)
65
67
 
@@ -35,20 +35,6 @@ class LangfuseManager:
35
35
  ):
36
36
  self._managed_prompts = managed_prompts
37
37
 
38
- def init_prompts(self) -> None:
39
- """
40
- Initialize the prompts managed by the LangfuseManager.
41
-
42
- This method iterates over the keys of the managed prompts and retrieves
43
- each prompt using the `get_langfuse_prompt` method.
44
-
45
- Returns
46
- -------
47
- None
48
- """
49
- for key in list(self._managed_prompts.keys()):
50
- self.get_langfuse_prompt(key)
51
-
52
38
  def get_langfuse_prompt(self, base_prompt_name: str) -> Optional[ChatPromptClient]:
53
39
  """
54
40
  Retrieve the prompt from Langfuse Prompt Management.
@@ -35,7 +35,7 @@ class OllamaSettings(BaseSettings):
35
35
  env_prefix = "OLLAMA_"
36
36
  case_sensitive = False
37
37
 
38
- model: str = Field(default="gemma3:4b-it-q4_K_M")
38
+ model: str = Field(default="gemma3:4b-it-q4_K_M", title="LLM Model")
39
39
  base_url: str = Field(default="http://localhost:11434")
40
40
  top_k: int = Field(default=0, title="LLM Top K")
41
41
  top_p: float = Field(default=0, title="LLM Top P")
@@ -28,10 +28,10 @@ class OpenAISettings(BaseSettings):
28
28
  env_prefix = "OPENAI_"
29
29
  case_sensitive = False
30
30
 
31
- model: str = Field(default="gpt-4o-mini-search-preview-2025-03-11", description="The model identifier")
31
+ model: str = Field(default="gpt-4o-mini-search-preview-2025-03-11", description="The model identifier", title="LLM Model")
32
32
  api_key: str = Field(default="", description="The API key for authentication")
33
- top_p: float = Field(default=1.0, description="Total probability mass of tokens to consider at each step")
34
- temperature: float = Field(default=0, description="What sampling temperature to use")
33
+ top_p: float = Field(default=1.0, description="Total probability mass of tokens to consider at each step", title="Top P")
34
+ temperature: float = Field(default=0, description="What sampling temperature to use", title="Temperature")
35
35
  base_url: str = Field(
36
36
  default="https://api.openai.com/v1",
37
37
  description="The base URL for the OpenAI API endpoint",
@@ -28,10 +28,10 @@ class VllmSettings(BaseSettings):
28
28
  env_prefix = "VLLM_"
29
29
  case_sensitive = False
30
30
 
31
- model: str = Field(default="", description="The model identifier")
31
+ model: str = Field(default="", description="The model identifier", title="LLM Model")
32
32
  api_key: str = Field(default="", description="The API key for authentication")
33
- top_p: float = Field(default=1.0, description="Total probability mass of tokens to consider at each step")
34
- temperature: float = Field(default=0, description="What sampling temperature to use")
33
+ top_p: float = Field(default=1.0, description="Total probability mass of tokens to consider at each step", title="Top P")
34
+ temperature: float = Field(default=0, description="What sampling temperature to use", title="Temperature")
35
35
  base_url: str = Field(
36
36
  default="http://localhost:8000/v1",
37
37
  description="The base URL for the Vllm API endpoint",