npcpy 1.3.14__py3-none-any.whl → 1.3.16__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.
npcpy/ft/rl.py CHANGED
@@ -6,27 +6,40 @@ import glob
6
6
  import json
7
7
  import os
8
8
  import pandas as pd
9
+ # Core imports that should always work
9
10
  try:
10
- from datasets import Dataset
11
-
12
- from peft import LoraConfig, PeftModel
13
11
  import torch
14
- from transformers import (
15
- AutoModelForCausalLM,
16
- AutoTokenizer,
17
- BitsAndBytesConfig
18
- )
19
- from trl import DPOTrainer, DPOConfig
20
- except:
21
- Dataset = None
22
- PeftModel = None
23
- DPOConfig = None
24
- DPOTrainer = None
12
+ except ImportError:
25
13
  torch = None
14
+
15
+ try:
16
+ from transformers import AutoModelForCausalLM, AutoTokenizer
17
+ except ImportError:
26
18
  AutoModelForCausalLM = None
27
19
  AutoTokenizer = None
20
+
21
+ try:
22
+ from transformers import BitsAndBytesConfig
23
+ except ImportError:
28
24
  BitsAndBytesConfig = None
29
25
 
26
+ try:
27
+ from datasets import Dataset
28
+ except ImportError:
29
+ Dataset = None
30
+
31
+ try:
32
+ from peft import LoraConfig, PeftModel
33
+ except ImportError:
34
+ LoraConfig = None
35
+ PeftModel = None
36
+
37
+ try:
38
+ from trl import DPOTrainer, DPOConfig
39
+ except ImportError:
40
+ DPOTrainer = None
41
+ DPOConfig = None
42
+
30
43
 
31
44
  import random
32
45
  from typing import List, Dict, Any, Optional, Callable
@@ -344,7 +357,7 @@ def train_with_dpo(
344
357
  args=training_args,
345
358
  train_dataset=preference_dataset,
346
359
  peft_config=peft_config,
347
- tokenizer=tokenizer
360
+ processing_class=tokenizer
348
361
  )
349
362
 
350
363
  print("Starting DPO training...")
npcpy/serve.py CHANGED
@@ -5273,7 +5273,7 @@ def openai_chat_completions():
5273
5273
  current_path = request.headers.get("X-Current-Path", os.getcwd())
5274
5274
 
5275
5275
  # Load team and NPC
5276
- db_path = app.config.get('DB_PATH') or os.path.expanduser("~/.npcsh/npcsh_history.db")
5276
+ db_path = app.config.get('DB_PATH') or os.path.expanduser("~/npcsh_history.db")
5277
5277
  db_conn = create_engine(f'sqlite:///{db_path}')
5278
5278
 
5279
5279
  npc = None
@@ -6110,8 +6110,8 @@ if __name__ == "__main__":
6110
6110
 
6111
6111
  SETTINGS_FILE = Path(os.path.expanduser("~/.npcshrc"))
6112
6112
 
6113
- # Use standard npcsh paths
6114
- db_path = os.path.expanduser("~/.npcsh/npcsh_history.db")
6113
+ # Use environment variable for DB path, or fall back to home directory path (matching Electron app)
6114
+ db_path = os.environ.get('INCOGNIDE_DB_PATH', os.path.expanduser("~/npcsh_history.db"))
6115
6115
  user_npc_directory = os.path.expanduser("~/.npcsh/npc_team")
6116
6116
 
6117
6117
  # Ensure directories exist
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: npcpy
3
- Version: 1.3.14
3
+ Version: 1.3.16
4
4
  Summary: npcpy is the premier open-source library for integrating LLMs and Agents into python systems.
5
5
  Home-page: https://github.com/NPC-Worldwide/npcpy
6
6
  Author: Christopher Agostino
@@ -7,7 +7,7 @@ npcpy/npc_array.py,sha256=fVTxcMiXV-lvltmuwaRnTU9D3ikPq3-7k5wzp7MA5OY,40224
7
7
  npcpy/npc_compiler.py,sha256=W1umvhsbyCYoRYajPUKa642FcsX5Fcadh78n-Vzu2hM,120983
8
8
  npcpy/npc_sysenv.py,sha256=VH7le3xwxHvO55ZYCG1e-gj8X5YTSIqbIiU6ifSqhss,38917
9
9
  npcpy/npcs.py,sha256=eExuVsbTfrRobTRRptRpDm46jCLWUgbvy4_U7IUQo-c,744
10
- npcpy/serve.py,sha256=wx5pG5SRQbB3WBH1KAoOG1twpd4qtDh29c8TMvt9xT8,244481
10
+ npcpy/serve.py,sha256=Liww7GPRLRM_IfTt3oqsZJVwa_qVayXFSqUbnHGVPcw,244577
11
11
  npcpy/tools.py,sha256=A5_oVmZkzGnI3BI-NmneuxeXQq-r29PbpAZP4nV4jrc,5303
12
12
  npcpy/data/__init__.py,sha256=1tcoChR-Hjn905JDLqaW9ElRmcISCTJdE7BGXPlym2Q,642
13
13
  npcpy/data/audio.py,sha256=o4auV8DQrAmZ4y84U3SofiwEuq5-ZBjGEZipQ9zPpGQ,22816
@@ -22,7 +22,7 @@ npcpy/ft/diff.py,sha256=0ScRR4AxXtVX2bgZ-Jr_dSwv3LAlU1JXDUq4F4n1Ea4,12839
22
22
  npcpy/ft/ge.py,sha256=0VzIiXq2wCzGcK1x0Wd-myJ3xRf-FNaPg0GkHEZegUM,3552
23
23
  npcpy/ft/memory_trainer.py,sha256=QZPznxEEwXbOGroHdMUMa5xpqlNwgV6nqOazI2xgrnQ,6635
24
24
  npcpy/ft/model_ensembler.py,sha256=BRX4hJ_rvF1vKTzjMhlahZqPttUgc3PqmzUJDqIfIps,10038
25
- npcpy/ft/rl.py,sha256=uhK4M4Bxw4dqh9lv5fakiPvy8P_FcdBu_z83i24vlvw,12226
25
+ npcpy/ft/rl.py,sha256=JYmOCKJcralU7uEMgrTz-saBunrPY5eBSx8gDCoa-M0,12431
26
26
  npcpy/ft/sft.py,sha256=74gRaJTTrZcO4np4DqRMr79ADkGhPcDKutR74rag03E,6659
27
27
  npcpy/ft/usft.py,sha256=O025GGYGZQf2ZVLowyAmBwh5bJyuy2dUAM6v03YcboY,3435
28
28
  npcpy/gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -53,8 +53,8 @@ npcpy/work/browser.py,sha256=p2PeaoZdAXipFuAgKCCB3aXXLE_p3yIRqC87KlZKZWc,679
53
53
  npcpy/work/desktop.py,sha256=F3I8mUtJp6LAkXodsh8hGZIncoads6c_2Utty-0EdDA,2986
54
54
  npcpy/work/plan.py,sha256=QyUwg8vElWiHuoS-xK4jXTxxHvkMD3VkaCEsCmrEPQk,8300
55
55
  npcpy/work/trigger.py,sha256=P1Y8u1wQRsS2WACims_2IdkBEar-iBQix-2TDWoW0OM,9948
56
- npcpy-1.3.14.dist-info/licenses/LICENSE,sha256=j0YPvce7Ng9e32zYOu0EmXjXeJ0Nwawd0RA3uSGGH4E,1070
57
- npcpy-1.3.14.dist-info/METADATA,sha256=awVWA8mQYm1F3pPqVCDjAyuFrdB1hyks_8I8JjQMPr8,37870
58
- npcpy-1.3.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
59
- npcpy-1.3.14.dist-info/top_level.txt,sha256=g1pbSvrOOncB74Bg5-J0Olg4V0A5VzDw-Xz5YObq8BU,6
60
- npcpy-1.3.14.dist-info/RECORD,,
56
+ npcpy-1.3.16.dist-info/licenses/LICENSE,sha256=j0YPvce7Ng9e32zYOu0EmXjXeJ0Nwawd0RA3uSGGH4E,1070
57
+ npcpy-1.3.16.dist-info/METADATA,sha256=WVFDIWoXuI3XfvPRDAX2vuALQnX-0wi62PEZIonwKs0,37870
58
+ npcpy-1.3.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
59
+ npcpy-1.3.16.dist-info/top_level.txt,sha256=g1pbSvrOOncB74Bg5-J0Olg4V0A5VzDw-Xz5YObq8BU,6
60
+ npcpy-1.3.16.dist-info/RECORD,,
File without changes