chore: hf api use proxy

This commit is contained in:
jialin
2024-11-20 17:51:28 +08:00
parent 66e506db07
commit 22f90a505c
6 changed files with 50 additions and 44 deletions
+1 -1
View File
@@ -70,5 +70,5 @@ export default {
'models.logs.pagination.prev': 'Previous {lines} Lines',
'models.logs.pagination.next': 'Next {lines} Lines',
'models.form.localPath': 'Local Path',
'models.form.filePath': 'File Path'
'models.form.filePath': 'Model Path'
};
+1 -1
View File
@@ -68,5 +68,5 @@ export default {
'models.logs.pagination.prev': '上一 {lines} 行',
'models.logs.pagination.next': '下一 {lines} 行',
'models.form.localPath': '本地路径',
'models.form.filePath': '文件路径'
'models.form.filePath': '模型路径'
};
+7 -16
View File
@@ -113,19 +113,7 @@ export async function queryModelInstanceLogs(id: number) {
// ===================== call huggingface quicksearch api =====================
export async function callHuggingfaceQuickSearch(params: any) {
return request<{
models: Array<{
id: string;
_id: string;
}>;
}>(`https://huggingface.co/api/quicksearch`, {
method: 'GET',
params
});
}
const HUGGINGFACE_API = 'https://huggingface.co/api/models';
const HUGGINGFACE_API = '/proxy?url=https://huggingface.co/api/models';
const MODEL_SCOPE_LIST_MODEL_API =
'/proxy?url=https://www.modelscope.cn/api/v1/dolphin/models';
@@ -221,6 +209,7 @@ export async function queryModelScopeModelFiles(
return res.json();
}
// list models from huggingface
export async function queryHuggingfaceModels(
params: {
search: {
@@ -238,7 +227,8 @@ export async function queryHuggingfaceModels(
...options,
limit: 100,
additionalFields: ['sha', 'tags'],
fetch(url: string, config: any) {
fetch(_url: string, config: any) {
const url = `/proxy?url=${_url}`;
try {
const newUrl = params.search.sort
? `${url}&sort=${params.search.sort}`
@@ -258,6 +248,7 @@ export async function queryHuggingfaceModels(
return result;
}
// list files from huggingface
export async function queryHuggingfaceModelFiles(
params: { repo: string },
options?: any
@@ -268,7 +259,7 @@ export async function queryHuggingfaceModelFiles(
recursive: true,
fetch(url: string, config: any) {
try {
return fetch(url, {
return fetch(`/proxy?url=${url}`, {
...config,
signal: options?.signal
});
@@ -295,7 +286,7 @@ export async function downloadModelFile(
revision: revision,
path: path,
fetch(url: string, config: any) {
return fetch(url, {
return fetch(`/proxy?url=${url}`, {
...config,
signal: options?.signal
});
@@ -131,6 +131,15 @@ const AdvanceConfig: React.FC<AdvanceConfigProps> = (props) => {
form.setFieldValue('backend_parameters', list);
}, []);
const handleBackendChange = useCallback((val: string) => {
if (val === backendOptionsMap.llamaBox) {
form.setFieldsValue({
distributed_inference_across_workers: true,
cpu_offloading: true
});
}
}, []);
const collapseItems = useMemo(() => {
const children = (
<>
@@ -239,6 +248,7 @@ const AdvanceConfig: React.FC<AdvanceConfigProps> = (props) => {
)}
<Form.Item name="backend">
<SealSelect
onChange={handleBackendChange}
label={intl.formatMessage({ id: 'models.form.backend' })}
options={[
{
+30 -22
View File
@@ -289,31 +289,39 @@ const ModelCard: React.FC<{
)}
</div>
) : (
<Empty
image={Empty.PRESENTED_IMAGE_SIMPLE}
style={{ marginBlock: 20 }}
></Empty>
<>
{!loading && (
<Empty
image={Empty.PRESENTED_IMAGE_SIMPLE}
style={{ marginBlock: 20 }}
></Empty>
)}
</>
)}
</div>
{!isGGUFModel && readmeText && (
<div>
<TitleWrapper>
<div className="title">README.md</div>
</TitleWrapper>
<div className="card-wrapper">
<Spin spinning={loading}>
<MarkdownViewer
generateImgLink={
modelSource === modelSourceMap.modelscope_value
? generateModeScopeImgLink
: undefined
}
content={readmeText}
theme="light"
></MarkdownViewer>
</Spin>
{!isGGUFModel && (
<Spin spinning={loading}>
<div style={{ minHeight: 200 }}>
{readmeText && (
<>
<TitleWrapper>
<div className="title">README.md</div>
</TitleWrapper>
<div className="card-wrapper">
<MarkdownViewer
generateImgLink={
modelSource === modelSourceMap.modelscope_value
? generateModeScopeImgLink
: undefined
}
content={readmeText}
theme="light"
></MarkdownViewer>
</div>
</>
)}
</div>
</div>
</Spin>
)}
</>
);
+1 -4
View File
@@ -461,10 +461,7 @@ const Models: React.FC<ModelsProps> = ({
return `${modelSourceMap.huggingface}/${record.huggingface_repo_id}`;
}
if (record.source === modelSourceMap.local_path_value) {
const localPath = _.startsWith(record.local_path, '/')
? record.local_path
: `/${record.local_path}`;
return `${modelSourceMap.local_path}${localPath}`;
return `${record.local_path}`;
}
if (record.source === modelSourceMap.ollama_library_value) {
return `${modelSourceMap.ollama_library}/${record.ollama_library_model_name}`;