(self, api_key: str = None, model: str = None, retrieve_model: str = None, workspace: str = None)
| 33 | For agent-based QA, see examples/agentic_vectorless_rag_demo.py. |
| 34 | """ |
| 35 | def __init__(self, api_key: str = None, model: str = None, retrieve_model: str = None, workspace: str = None): |
| 36 | if api_key: |
| 37 | os.environ["OPENAI_API_KEY"] = api_key |
| 38 | elif not os.getenv("OPENAI_API_KEY") and os.getenv("CHATGPT_API_KEY"): |
| 39 | os.environ["OPENAI_API_KEY"] = os.getenv("CHATGPT_API_KEY") |
| 40 | self.workspace = Path(workspace).expanduser() if workspace else None |
| 41 | overrides = {} |
| 42 | if model: |
| 43 | overrides["model"] = model |
| 44 | if retrieve_model: |
| 45 | overrides["retrieve_model"] = retrieve_model |
| 46 | opt = ConfigLoader().load(overrides or None) |
| 47 | self.model = opt.model |
| 48 | self.retrieve_model = _normalize_retrieve_model(opt.retrieve_model or self.model) |
| 49 | if self.workspace: |
| 50 | self.workspace.mkdir(parents=True, exist_ok=True) |
| 51 | self.documents = {} |
| 52 | if self.workspace: |
| 53 | self._load_workspace() |
| 54 | |
| 55 | def index(self, file_path: str, mode: str = "auto") -> str: |
| 56 | """Index a document. Returns a document_id.""" |
nothing calls this directly
no test coverage detected