mgbam commited on
Commit
eb96582
·
verified ·
1 Parent(s): 7b12d1a

Update docs/API_REFERENCE.md

Browse files
Files changed (1) hide show
  1. docs/API_REFERENCE.md +61 -34
docs/API_REFERENCE.md CHANGED
@@ -1,68 +1,95 @@
1
- # API Reference
2
 
3
- This document describes the public Python modules and functions available in AnyCoder.
 
 
4
 
5
  ---
6
 
7
- ## `models.py`
8
 
9
- ### `ModelInfo` dataclass
 
10
 
11
- ```python
12
- @dataclass
13
- class ModelInfo:
14
- name: str
15
- id: str
16
- description: str
17
- default_provider: str = "auto"
18
- ```
19
 
20
- ### `AVAILABLE_MODELS: List[ModelInfo]`
21
 
22
- A list of supported models with metadata.
 
 
 
23
 
24
- ### `find_model(identifier: str) -> Optional[ModelInfo]`
 
 
 
 
 
 
25
 
26
- Lookup a model by name or ID. Returns a `ModelInfo` or `None`.
 
27
 
28
  ---
29
 
30
  ## `inference.py`
31
 
32
- ### `chat_completion(model_id: str, messages: List[Dict[str,str]], provider: Optional[str]=None, max_tokens: int=4096) -> str`
 
33
 
34
- Send a one-shot chat completion request. Returns the assistant response as a string.
 
 
35
 
36
- ### `stream_chat_completion(model_id: str, messages: List[Dict[str,str]], provider: Optional[str]=None, max_tokens: int=4096) -> Generator[str]`
37
-
38
- Stream partial generation results, yielding content chunks.
39
 
40
  ---
41
 
42
- ## `hf_client.py`
 
 
 
 
 
 
 
 
 
43
 
44
- ### `get_inference_client(model_id: str, provider: str="auto") -> InferenceClient`
 
45
 
46
- Create and return a configured `InferenceClient`, routing to Groq, OpenAI, Gemini, Fireworks, or HF as needed.
47
 
48
  ---
49
 
50
  ## `deploy.py`
51
 
52
- ### `send_to_sandbox(code: str) -> str`
 
53
 
54
- Wrap HTML code in a sandboxed iframe via a data URI for live preview.
 
55
 
56
- ### `load_project_from_url(url: str) -> Tuple[str, str]`
57
-
58
- Import a Hugging Face Space by URL, returning status message and code content.
59
 
60
  ---
61
 
62
- ## `plugins.py`
 
 
 
63
 
64
- ### `PluginManager`
 
 
 
 
 
 
65
 
66
- * `discover()`: auto-discovers plugins in the `plugins/` namespace.
67
- * `list_plugins() -> List[str]`: return registered plugin names.
68
- * `run_plugin(name: str, payload: Dict) -> Any`: execute a plugin action.
 
1
+ <!-- API_REFERENCE.md -->
2
 
3
+ # Shasha AI API Reference
4
+
5
+ This document describes the public interfaces provided by each module.
6
 
7
  ---
8
 
9
+ ## `hf_client.py`
10
 
11
+ ### `get_inference_client(model_id: str, provider: str = "auto") → InferenceClient`
12
+ Creates and configures a Hugging Face Hub client for chat completions.
13
 
14
+ - **model_id**: HF model ID or external provider prefix (e.g. `"openai/gpt-4"`, `"gemini/pro"`, `"moonshotai/Kimi-K2-Instruct"`).
15
+ - **provider**: Override provider; one of `auto`, `groq`, `openai`, `gemini`, `fireworks`.
16
+ - **Returns**: `InferenceClient` instance with proper API key & billing target.
 
 
 
 
 
17
 
18
+ ---
19
 
20
+ ## `models.py`
21
+
22
+ ### `ModelInfo`
23
+ Dataclass representing model metadata.
24
 
25
+ - **name**: Human‑readable model name.
26
+ - **id**: Model identifier for API calls.
27
+ - **description**: Short description.
28
+ - **default_provider**: Preferred inference provider.
29
+
30
+ ### `AVAILABLE_MODELS: List[ModelInfo]`
31
+ Registry of all supported models.
32
 
33
+ ### `find_model(identifier: str) Optional[ModelInfo]`
34
+ Lookup model by name (case‑insensitive) or ID.
35
 
36
  ---
37
 
38
  ## `inference.py`
39
 
40
+ ### `chat_completion(model_id: str, messages: List[Dict[str, str]], provider: str = None, max_tokens: int = 4096) str`
41
+ Synchronously sends a chat completion request.
42
 
43
+ - **messages**: List of `{"role": "...", "content": "..."}`
44
+ - **provider**: Optional override; defaults to model’s `default_provider`.
45
+ - **Returns**: Response content string.
46
 
47
+ ### `stream_chat_completion(model_id: str, messages: List[Dict[str, str]], provider: str = None, max_tokens: int = 4096) Generator[str]`
48
+ Streams a chat completion, yielding incremental content chunks.
 
49
 
50
  ---
51
 
52
+ ## `utils.py`
53
+
54
+ ### `history_to_messages(history: History, system: str) → List[Dict]`
55
+ Converts internal history list to OpenAI‑style messages.
56
+
57
+ ### `remove_code_block(text: str) → str`
58
+ Strips markdown code fences from AI output and returns raw code.
59
+
60
+ ### `parse_transformers_js_output(text: str) → Dict[str, str]`
61
+ Extracts `index.html`, `index.js`, `style.css` from a multi‑file markdown output.
62
 
63
+ ### `format_transformers_js_output(files: Dict[str, str]) str`
64
+ Formats a dict of file contents into a single combined string with section headers.
65
 
66
+ *(Other utilities: multimodal image processing, search/replace, history rendering)*
67
 
68
  ---
69
 
70
  ## `deploy.py`
71
 
72
+ ### `send_to_sandbox(code: str) str`
73
+ Wraps HTML code in a base64 data‑URI iframe for live preview.
74
 
75
+ ### `load_project_from_url(url: str) Tuple[str, str]`
76
+ Fetches `app.py` or `index.html` from a public HF Space URL.
77
 
78
+ *(Also: HF Spaces deploy helpers: `deploy_to_spaces()`, `deploy_to_spaces_static()`, `deploy_to_user_space()`)*
 
 
79
 
80
  ---
81
 
82
+ ## `app.py`
83
+
84
+ ### `generation_code(query, image, file, website_url, _setting, _history, _current_model, enable_search, language, provider) → Tuple[str, History, str, List[Dict]]`
85
+ Main generation handler bound to the “Generate” button.
86
 
87
+ - **Returns**:
88
+ 1. `code_str`: Generated (or edited) source code
89
+ 2. `new_history`: Updated prompt/response history
90
+ 3. `sandbox_html`: Live preview HTML iframe string
91
+ 4. `chat_msgs`: Chatbot‑style history for the UI
92
+
93
+ ---
94
 
95
+ _For more examples, see the Jupyter notebooks in_ `notebooks/` and the quick‑start guide in `QUICKSTART.md`.