AIパーソナル・ラーニング
と実践的なガイダンス

hugging faceの無料apiをcloudflareに導入し、インターフェイス転送をサポートする

ハグ顔は国内配備ではアクセスできないので、ビッグブラザーにある。配備プログラムをcloudflare workersにデプロイできるようにした。

 


予備

1.登録 クラウドフレア
2.抱き顔を登録し、apiキーを申請する。リクエスト・キー・アドレス
3.以下のコードをコピーし、cloudflare workersにデプロイする。
4、oneapi/newapiで "get model list "をクリックし、利用可能なモデルを追加する。

 

cloudflareのワーカーコードは以下の通り:

//对接one-api/new-api使用
const API_KEY = "sk-1234567890";

//你的hugging face api key去hugging face申请
const HUGGINGFACE_API_KEY = "hf_xxxxxxxxxxx";

//目前发现的可用模型,请求时如模型不在该列表内,则使用你请求的模型
const CUSTOMER_MODEL_MAP = {
"qwen2.5-72b-instruct": "Qwen/Qwen2.5-72B-Instruct",
"gemma2-2b-it": "google/gemma-2-2b-it",
"gemma2-27b-it": "google/gemma-2-27b-it",
"llama-3-8b-instruct": "meta-llama/Meta-Llama-3-8B-Instruct",
"llama-3.2-1b-instruct": "meta-llama/Llama-3.2-1B-Instruct",
"llama-3.2-3b-instruct": "meta-llama/Llama-3.2-3B-Instruct",
"phi-3.5": "microsoft/Phi-3.5-mini-instruct"
};

async function handleRequest(request) {
try {
if (request.method === "OPTIONS") {
return getResponse("", 204);
}

const authHeader = request.headers.get("Authorization");
if (!authHeader || !authHeader.startsWith("Bearer ") || authHeader.split(" ")[1] !== API_KEY) {
return getResponse("Unauthorized", 401);
}

if (request.url.endsWith("/v1/models")) {
const arrs = [];
Object.keys(CUSTOMER_MODEL_MAP).map(element => arrs.push({ id: element, object: "model" }))
const response = {
data: arrs,
success: true
};

return getResponse(JSON.stringify(response), 200);
}

if (request.method !== "POST") {
return getResponse("Only POST requests are allowed", 405);
}

if (!request.url.endsWith("/v1/chat/completions")) {
return getResponse("Not Found", 404);
}

const data = await request.json();
const messages = data.messages || [];
const model = CUSTOMER_MODEL_MAP[data.model] || data.model;
const temperature = data.temperature || 0.7;
const max_tokens = data.max_tokens || 8196;
const top_p = Math.min(Math.max(data.top_p || 0.9, 0.0001), 0.9999);
const stream = data.stream || false;

const requestBody = {
model: model,
stream: stream,
temperature: temperature,
max_tokens: max_tokens,
top_p: top_p,
messages: messages
};

const apiUrl = `https://api-inference.huggingface.co/models/${model}/v1/chat/completions`;
const response = await fetch(apiUrl, {
method: 'POST',
headers: {
'Authorization': `Bearer ${HUGGINGFACE_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(requestBody)
});

if (!response.ok) {
const errorText = await response.text();
return getResponse(`Error from API: ${response.statusText} - ${errorText}`, response.status);
}

const newResponse = new Response(response.body, {
status: response.status,
headers: {
...Object.fromEntries(response.headers),
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': '*',
'Access-Control-Allow-Headers': '*'
}
});

return newResponse;
} catch (error) {
return getResponse(JSON.stringify({
error: `处理请求失败: ${error.message}`
}), 500);
}
}

function getResponse(resp, status) {
return new Response(resp, {
status: status,
headers: {
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "*",
"Access-Control-Allow-Headers": "*"
}
});
}

addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})

サウザンド・クエスチョンズ2.5モデルをお勧めします。

AIイージー・ラーニング

AIを始めるための素人ガイド

AIツールの活用方法を、低コスト・ゼロベースから学ぶことができます。AIはオフィスソフトと同様、誰にとっても必須のスキルです。 AIをマスターすれば、就職活動で有利になり、今後の仕事や勉強の労力も半減します。

詳細を見る
無断転載を禁じます:チーフAIシェアリングサークル " hugging faceの無料apiをcloudflareに導入し、インターフェイス転送をサポートする

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語