From fe15b1a31730f5bc5297d40d63bce379bf935498 Mon Sep 17 00:00:00 2001 From: Morris Tai Date: Sun, 24 Dec 2023 09:00:30 +0800 Subject: [PATCH] feat: add service huggingface to website --- core/src/services/huggingface/docs.md | 4 +- website/docs/services/huggingface.mdx | 74 +++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 website/docs/services/huggingface.mdx diff --git a/core/src/services/huggingface/docs.md b/core/src/services/huggingface/docs.md index 951087811e8..e60b26d5791 100644 --- a/core/src/services/huggingface/docs.md +++ b/core/src/services/huggingface/docs.md @@ -1,7 +1,7 @@ This service will visit the [Huggingface API](https://huggingface.co/docs/huggingface_hub/package_reference/hf_api) to access the Huggingface File System. Currently, we only support the `model` and `dataset` types of repositories, and operations are limited to reading and listing/stating. -Huggingface doesn't host official HTTP API docs. Detailed HTTP request API information can be found on the [Huggingface Hub](https://github.com/huggingface/huggingface_hub). +Huggingface doesn't host official HTTP API docs. Detailed HTTP request API information can be found on the [`huggingface_hub` Source Code](https://github.com/huggingface/huggingface_hub). ## Capabilities @@ -27,7 +27,7 @@ This service can be used to: - `root`: Set the work directory for backend. - `token`: The token for accessing the repository. -Refer to [`Builder`]'s public API docs for more information. +Refer to [`HuggingfaceBuilder`]'s public API docs for more information. ## Examples diff --git a/website/docs/services/huggingface.mdx b/website/docs/services/huggingface.mdx new file mode 100644 index 00000000000..1f1855033dd --- /dev/null +++ b/website/docs/services/huggingface.mdx @@ -0,0 +1,74 @@ +--- +title: Hugging Face +--- + +[Hugging Face](https://huggingface.co/docs/huggingface_hub/main/en/package_reference/hf_api#huggingface_hub.HfApi) services support. + +import Docs from '../../../core/src/services/huggingface/docs.md' + + + +### Via Config + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + +```rust +use anyhow::Result; +use opendal::Operator; +use opendal::Scheme; +use std::collections::HashMap; + +#[tokio::main] +async fn main() -> Result<()> { + let mut map = HashMap::new(); + map.insert("repo_type".to_string(), "dataset".to_string()); + map.insert("repo_id".to_string(), "databricks/databricks-dolly-15k".to_string()); + map.insert("revision".to_string(), "main".to_string()); + map.insert("root".to_string(), "/path/to/dir".to_string()); + map.insert("token".to_string(), "access_token".to_string()); + + let op: Operator = Operator::via_map(Scheme::Huggingface, map)?; + Ok(()) +} +``` + + + + +```javascript +import { Operator } from "opendal"; + +async function main() { + # Use `huggingface` or `hf` for scheme name + const op = new Operator("huggingface", { + repo_type: "dataset", + repo_id: "databricks/databricks-dolly-15k", + revision: "main", + root: "/path/to/dir", + token: "access_token", + }); +} +``` + + + + +```python +import opendal + +# Use `huggingface` or `hf` for scheme name +op = opendal.Operator("huggingface", + repo_type="dataset", + repo_id="databricks/databricks-dolly-15k", + revision="main", + root: "/path/to/dir", + token: "access_token", +) +``` + + + \ No newline at end of file