olca 0.2.66__py3-none-any.whl → 0.2.72__py3-none-any.whl
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.
- olca/olcacli.py +18 -5
 - olca/olcahelper.py +8 -2
 - olca/tracing.py +2 -2
 - olca/utils.py +1 -1
 - {olca-0.2.66.dist-info → olca-0.2.72.dist-info}/METADATA +7 -2
 - olca-0.2.72.dist-info/RECORD +15 -0
 - olca-0.2.66.dist-info/RECORD +0 -15
 - {olca-0.2.66.dist-info → olca-0.2.72.dist-info}/LICENSE +0 -0
 - {olca-0.2.66.dist-info → olca-0.2.72.dist-info}/WHEEL +0 -0
 - {olca-0.2.66.dist-info → olca-0.2.72.dist-info}/entry_points.txt +0 -0
 - {olca-0.2.66.dist-info → olca-0.2.72.dist-info}/top_level.txt +0 -0
 
    
        olca/olcacli.py
    CHANGED
    
    | 
         @@ -161,9 +161,6 @@ def main(): 
     | 
|
| 
       161 
161 
     | 
    
         
             
                # Load environment variables first
         
     | 
| 
       162 
162 
     | 
    
         
             
                load_environment()
         
     | 
| 
       163 
163 
     | 
    
         | 
| 
       164 
     | 
    
         
            -
                # Initialize Langfuse if needed
         
     | 
| 
       165 
     | 
    
         
            -
                langfuse = initialize_langfuse(debug=True if args.debug else False)
         
     | 
| 
       166 
     | 
    
         
            -
                
         
     | 
| 
       167 
164 
     | 
    
         
             
                if args.init:
         
     | 
| 
       168 
165 
     | 
    
         
             
                    if os.path.exists(olca_config_file):
         
     | 
| 
       169 
166 
     | 
    
         
             
                        print("Error: Configuration file already exists. Cannot run 'olca init'.")
         
     | 
| 
         @@ -179,6 +176,12 @@ def main(): 
     | 
|
| 
       179 
176 
     | 
    
         
             
                    return
         
     | 
| 
       180 
177 
     | 
    
         | 
| 
       181 
178 
     | 
    
         
             
                config = load_config(olca_config_file)
         
     | 
| 
      
 179 
     | 
    
         
            +
             
     | 
| 
      
 180 
     | 
    
         
            +
                tracing_providers = config.get('tracing_providers', [])
         
     | 
| 
      
 181 
     | 
    
         
            +
                if 'langfuse' in tracing_providers:
         
     | 
| 
      
 182 
     | 
    
         
            +
                    langfuse = initialize_langfuse(debug=True if args.debug else False)
         
     | 
| 
      
 183 
     | 
    
         
            +
                else:
         
     | 
| 
      
 184 
     | 
    
         
            +
                    langfuse = None
         
     | 
| 
       182 
185 
     | 
    
         | 
| 
       183 
186 
     | 
    
         
             
                # Initialize tracing
         
     | 
| 
       184 
187 
     | 
    
         
             
                tracing_manager = TracingManager(config)
         
     | 
| 
         @@ -225,8 +228,18 @@ def main(): 
     | 
|
| 
       225 
228 
     | 
    
         
             
                provider, base_model, host = parse_model_uri(model_name)
         
     | 
| 
       226 
229 
     | 
    
         | 
| 
       227 
230 
     | 
    
         
             
                if provider == "ollama":
         
     | 
| 
       228 
     | 
    
         
            -
                     
     | 
| 
       229 
     | 
    
         
            -
                     
     | 
| 
      
 231 
     | 
    
         
            +
                    import ollama
         
     | 
| 
      
 232 
     | 
    
         
            +
                    from langchain_ollama import ChatOllama
         
     | 
| 
      
 233 
     | 
    
         
            +
                    try:
         
     | 
| 
      
 234 
     | 
    
         
            +
                        ollama.Client(host=host if host else None).show(base_model)
         
     | 
| 
      
 235 
     | 
    
         
            +
                    except:
         
     | 
| 
      
 236 
     | 
    
         
            +
                        print(f"Model {base_model} not found, pulling it...")
         
     | 
| 
      
 237 
     | 
    
         
            +
                        pull_stream = ollama.Client(host=host if host else None).pull(base_model, stream=True)
         
     | 
| 
      
 238 
     | 
    
         
            +
                        for chunk in pull_stream:
         
     | 
| 
      
 239 
     | 
    
         
            +
                            pass
         
     | 
| 
      
 240 
     | 
    
         
            +
                        print(f"\nPulled {base_model}")
         
     | 
| 
      
 241 
     | 
    
         
            +
             
     | 
| 
      
 242 
     | 
    
         
            +
                    model = ChatOllama(model=base_model, host=host if host else None)
         
     | 
| 
       230 
243 
     | 
    
         | 
| 
       231 
244 
     | 
    
         
             
                elif provider == "openai":
         
     | 
| 
       232 
245 
     | 
    
         
             
                    from langchain_openai import ChatOpenAI
         
     | 
    
        olca/olcahelper.py
    CHANGED
    
    | 
         @@ -43,9 +43,15 @@ def initialize_config_file(): 
     | 
|
| 
       43 
43 
     | 
    
         
             
                        "temperature": float(input("temperature [0]: ") or default_temperature),
         
     | 
| 
       44 
44 
     | 
    
         
             
                        "human": input("human [true]: ").lower() in ["true", "yes", "y", "1", ""] or use_default_human_input,
         
     | 
| 
       45 
45 
     | 
    
         
             
                        "tracing": input("tracing [true]: ").lower() in ["true", "yes", "y", "1", ""] or use_default_tracing,
         
     | 
| 
       46 
     | 
    
         
            -
                        "tracing_providers": ["langsmith", "langfuse"]
         
     | 
| 
       47 
46 
     | 
    
         
             
                    }
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                    tracing_providers = []
         
     | 
| 
      
 49 
     | 
    
         
            +
                    if input("Use langsmith for tracing? [Y/n]: ").lower() in ["y", "yes", ""]:
         
     | 
| 
      
 50 
     | 
    
         
            +
                        tracing_providers.append("langsmith")
         
     | 
| 
      
 51 
     | 
    
         
            +
                    if input("Use langfuse for tracing? [Y/n]: ").lower() in ["y", "yes", ""]:
         
     | 
| 
      
 52 
     | 
    
         
            +
                        tracing_providers.append("langfuse")
         
     | 
| 
      
 53 
     | 
    
         
            +
                    config["tracing_providers"] = tracing_providers
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
       49 
55 
     | 
    
         
             
                    user_system_instructions = input(f"system_instructions [{default_system_instructions}]: ")
         
     | 
| 
       50 
56 
     | 
    
         
             
                    user_system_instructions = user_system_instructions or default_system_instructions
         
     | 
| 
       51 
57 
     | 
    
         
             
                    user_system_instructions = user_system_instructions.replace("\n", " ").replace("\r", " ").replace("\t", " ")
         
     | 
    
        olca/tracing.py
    CHANGED
    
    | 
         @@ -1,6 +1,4 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            import os
         
     | 
| 
       2 
     | 
    
         
            -
            from langfuse.callback import CallbackHandler as LangfuseCallbackHandler
         
     | 
| 
       3 
     | 
    
         
            -
            from langfuse import Langfuse
         
     | 
| 
       4 
2 
     | 
    
         
             
            from olca.utils import initialize_langfuse
         
     | 
| 
       5 
3 
     | 
    
         
             
            import warnings
         
     | 
| 
       6 
4 
     | 
    
         | 
| 
         @@ -35,6 +33,8 @@ class TracingManager: 
     | 
|
| 
       35 
33 
     | 
    
         
             
                        os.environ["LANGCHAIN_TRACING_V2"] = "true"
         
     | 
| 
       36 
34 
     | 
    
         | 
| 
       37 
35 
     | 
    
         
             
                def _setup_langfuse(self):
         
     | 
| 
      
 36 
     | 
    
         
            +
                    from langfuse.callback import CallbackHandler as LangfuseCallbackHandler
         
     | 
| 
      
 37 
     | 
    
         
            +
                    from langfuse import Langfuse
         
     | 
| 
       38 
38 
     | 
    
         
             
                    self.langfuse = initialize_langfuse()
         
     | 
| 
       39 
39 
     | 
    
         
             
                    if not self.langfuse:
         
     | 
| 
       40 
40 
     | 
    
         
             
                        print("Warning: Missing Langfuse environment variables")
         
     | 
    
        olca/utils.py
    CHANGED
    
    | 
         @@ -2,7 +2,6 @@ import os 
     | 
|
| 
       2 
2 
     | 
    
         
             
            import sys
         
     | 
| 
       3 
3 
     | 
    
         
             
            import dotenv
         
     | 
| 
       4 
4 
     | 
    
         
             
            import webbrowser
         
     | 
| 
       5 
     | 
    
         
            -
            from langfuse import Langfuse
         
     | 
| 
       6 
5 
     | 
    
         | 
| 
       7 
6 
     | 
    
         
             
            def load_environment():
         
     | 
| 
       8 
7 
     | 
    
         
             
                dotenv.load_dotenv(dotenv_path=os.path.join(os.getcwd(), ".env"))
         
     | 
| 
         @@ -13,6 +12,7 @@ def load_environment(): 
     | 
|
| 
       13 
12 
     | 
    
         
             
                    dotenv.load_dotenv(dotenv_path=os.path.expanduser("~/.env"))
         
     | 
| 
       14 
13 
     | 
    
         | 
| 
       15 
14 
     | 
    
         
             
            def initialize_langfuse( debug=False):
         
     | 
| 
      
 15 
     | 
    
         
            +
                from langfuse import Langfuse
         
     | 
| 
       16 
16 
     | 
    
         
             
                required_vars = ["LANGFUSE_PUBLIC_KEY", "LANGFUSE_SECRET_KEY", "LANGFUSE_HOST"]
         
     | 
| 
       17 
17 
     | 
    
         
             
                if not all(os.getenv(var) for var in required_vars):
         
     | 
| 
       18 
18 
     | 
    
         
             
                    return None
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Metadata-Version: 2.1
         
     | 
| 
       2 
2 
     | 
    
         
             
            Name: olca
         
     | 
| 
       3 
     | 
    
         
            -
            Version: 0.2. 
     | 
| 
      
 3 
     | 
    
         
            +
            Version: 0.2.72
         
     | 
| 
       4 
4 
     | 
    
         
             
            Summary: A Python package for experimental usage of Langchain and Human-in-the-Loop
         
     | 
| 
       5 
5 
     | 
    
         
             
            Home-page: https://github.com/jgwill/olca
         
     | 
| 
       6 
6 
     | 
    
         
             
            Author: Jean GUillaume ISabelle
         
     | 
| 
         @@ -444,11 +444,16 @@ To initialize `olca`, you need to create a configuration file named `olca.yml`. 
     | 
|
| 
       444 
444 
     | 
    
         
             
            ```yaml
         
     | 
| 
       445 
445 
     | 
    
         
             
            api_keyname: OPENAI_API_KEY__o450olca241128
         
     | 
| 
       446 
446 
     | 
    
         
             
            human: true
         
     | 
| 
       447 
     | 
    
         
            -
            model_name: gpt-4o-mini
         
     | 
| 
      
 447 
     | 
    
         
            +
            model_name: gpt-4o-mini #or bellow:
         
     | 
| 
      
 448 
     | 
    
         
            +
            model_name: ollama://llama3.1:latest #or with host
         
     | 
| 
      
 449 
     | 
    
         
            +
            model_name: ollama://llama3.1:latest@mymachine.mydomain.com:11434
         
     | 
| 
       448 
450 
     | 
    
         
             
            recursion_limit: 300
         
     | 
| 
       449 
451 
     | 
    
         
             
            system_instructions: You focus on interacting with human and do what they ask.  Make sure you dont quit the program.
         
     | 
| 
       450 
452 
     | 
    
         
             
            temperature: 0.0
         
     | 
| 
       451 
453 
     | 
    
         
             
            tracing: true
         
     | 
| 
      
 454 
     | 
    
         
            +
            tracing_providers:
         
     | 
| 
      
 455 
     | 
    
         
            +
            - langsmith
         
     | 
| 
      
 456 
     | 
    
         
            +
            - langfuse
         
     | 
| 
       452 
457 
     | 
    
         
             
            user_input: Look in the file 3act.md and in ./story, we have created a story point by point and we need you to generate the next iteration of the book in the folder ./book.  You use what you find in ./story to start the work.  Give me your plan to correct or accept.
         
     | 
| 
       453 
458 
     | 
    
         
             
            ```
         
     | 
| 
       454 
459 
     | 
    
         | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            olca/__init__.py,sha256=3QyLLAys_KiiDIe-cfO_7QyY7di_qCaCS-sVziW2BOw,23
         
     | 
| 
      
 2 
     | 
    
         
            +
            olca/fusewill_cli.py,sha256=7etgdpM64-jXGLlALG7PtwICAzoLKYGMBRvHf5nMLic,17119
         
     | 
| 
      
 3 
     | 
    
         
            +
            olca/fusewill_utils.py,sha256=sNCe4LhpSaEOY5olMxW1nTv7CKiT__dc2lGomelE6mY,18207
         
     | 
| 
      
 4 
     | 
    
         
            +
            olca/oiv.py,sha256=TyhbgjzE9B5woacln8AtITLv1X7iv9ZivJBdk0MyP4U,4610
         
     | 
| 
      
 5 
     | 
    
         
            +
            olca/olcacli.py,sha256=wwn4mL1kGonigI9w6UEsnFJDWQ6yONxqvogjrCj-Og4,11246
         
     | 
| 
      
 6 
     | 
    
         
            +
            olca/olcahelper.py,sha256=v16ETPboJFdJdkL1iAJ86_oAhkFo5jMFfx5oivOG8kA,4115
         
     | 
| 
      
 7 
     | 
    
         
            +
            olca/prompts.py,sha256=q7lvDZ8n_K6ea2nu3K5R2fgBgQYrCIEjh0cA9fUlMFI,3697
         
     | 
| 
      
 8 
     | 
    
         
            +
            olca/tracing.py,sha256=cEfPNZoI-PbMHFpX8bvY7OajeW4yvZBMycqwj6sRpDE,1637
         
     | 
| 
      
 9 
     | 
    
         
            +
            olca/utils.py,sha256=kDxKwD51234OvA6PIW9IfAND8DHwd8lSyOvSf4abvPE,916
         
     | 
| 
      
 10 
     | 
    
         
            +
            olca-0.2.72.dist-info/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
         
     | 
| 
      
 11 
     | 
    
         
            +
            olca-0.2.72.dist-info/METADATA,sha256=3oGuW1QeUrWq9daaXGv5q_P_njlflX8dRaFff8CH0yE,25979
         
     | 
| 
      
 12 
     | 
    
         
            +
            olca-0.2.72.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
         
     | 
| 
      
 13 
     | 
    
         
            +
            olca-0.2.72.dist-info/entry_points.txt,sha256=W2UkinpMZYsCLH54must9ahwbzCRl-rekcZ7rL5u3wA,123
         
     | 
| 
      
 14 
     | 
    
         
            +
            olca-0.2.72.dist-info/top_level.txt,sha256=bGDtAReS-xlS0F6MM-DyD0IQUqjNdWmgemnM3vNtrpI,5
         
     | 
| 
      
 15 
     | 
    
         
            +
            olca-0.2.72.dist-info/RECORD,,
         
     | 
    
        olca-0.2.66.dist-info/RECORD
    DELETED
    
    | 
         @@ -1,15 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            olca/__init__.py,sha256=3QyLLAys_KiiDIe-cfO_7QyY7di_qCaCS-sVziW2BOw,23
         
     | 
| 
       2 
     | 
    
         
            -
            olca/fusewill_cli.py,sha256=7etgdpM64-jXGLlALG7PtwICAzoLKYGMBRvHf5nMLic,17119
         
     | 
| 
       3 
     | 
    
         
            -
            olca/fusewill_utils.py,sha256=sNCe4LhpSaEOY5olMxW1nTv7CKiT__dc2lGomelE6mY,18207
         
     | 
| 
       4 
     | 
    
         
            -
            olca/oiv.py,sha256=TyhbgjzE9B5woacln8AtITLv1X7iv9ZivJBdk0MyP4U,4610
         
     | 
| 
       5 
     | 
    
         
            -
            olca/olcacli.py,sha256=oftilrp9v0QOV5tJeb6o8nwO54gjjlwWVfDU5JpoXJc,10758
         
     | 
| 
       6 
     | 
    
         
            -
            olca/olcahelper.py,sha256=s9KwEYAJCbnKSXIsj5HCL-OHxkSsmL08ZBgoluxmP1s,3828
         
     | 
| 
       7 
     | 
    
         
            -
            olca/prompts.py,sha256=q7lvDZ8n_K6ea2nu3K5R2fgBgQYrCIEjh0cA9fUlMFI,3697
         
     | 
| 
       8 
     | 
    
         
            -
            olca/tracing.py,sha256=GSuXIKmIMQ9V2gLkKcin142Z2QpyS6obsnj8Tf-1zHc,1621
         
     | 
| 
       9 
     | 
    
         
            -
            olca/utils.py,sha256=zM94HDMDYF95Yd9ubeOK6vuepbQN4kDFh0rTvaVFagI,912
         
     | 
| 
       10 
     | 
    
         
            -
            olca-0.2.66.dist-info/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
         
     | 
| 
       11 
     | 
    
         
            -
            olca-0.2.66.dist-info/METADATA,sha256=rnjt54tCa8STAp7ZbD8VKHsW5AJtAh2NGQ9Dyjym2mQ,25808
         
     | 
| 
       12 
     | 
    
         
            -
            olca-0.2.66.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
         
     | 
| 
       13 
     | 
    
         
            -
            olca-0.2.66.dist-info/entry_points.txt,sha256=W2UkinpMZYsCLH54must9ahwbzCRl-rekcZ7rL5u3wA,123
         
     | 
| 
       14 
     | 
    
         
            -
            olca-0.2.66.dist-info/top_level.txt,sha256=bGDtAReS-xlS0F6MM-DyD0IQUqjNdWmgemnM3vNtrpI,5
         
     | 
| 
       15 
     | 
    
         
            -
            olca-0.2.66.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |