3 个赞
老样子,加 # ,然后不用管模型获取,因为这个方式无法请求 /v1/models 路由了,直接使用
4 个赞
前缀github_pat_是必须的吗
1 个赞
你 github 生成的 token 是什么样的就怎么填
1 个赞
不要管模型更新提示,直接对话调用就行,另外 github models 没有 3.5
那东西可以修改吗
虽然显示的是3.5,但是估计调用的就是你的自定义模型,我把自定义模型换成一个无效的模型名就对话不了。
自定义模型可以用吗?没看到选项啊?而且我貌似无法对话
话说佬友你调用api支持sider的功能吗?什么文章总结,视频总结之类的.
GM是没有模型列表的是吗
我懂了,这软件设计得太拉了,我是因为之前填别的 api,所以默认的模型列表有缓存,而 github models 拉取不到新模型,所以模型列表没有更新,然后我就因缘际会可以用上对应的模型。
我整个 worker,这下舒服了:
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
/**
* 处理传入的请求
* @param {Request} request
*/
async function handleRequest(request) {
const { method, url } = request
const originalUrl = new URL(url)
// 允许的方法
const allowedMethods = ['OPTIONS', 'GET', 'POST']
if (!allowedMethods.includes(method)) {
return new Response('Method Not Allowed', { status: 405 })
}
// 处理 CORS 预检请求
if (method === 'OPTIONS') {
return handleOptions()
}
// 修改目标 URL
const targetUrl = new URL(request.url)
targetUrl.hostname = 'models.inference.ai.azure.com'
// 移除路径中的 /v1 前缀
targetUrl.pathname = originalUrl.pathname.replace(/^\/v1/, '')
// 创建新的请求,保留原始请求的头部和方法
const newRequest = new Request(targetUrl.toString(), {
method: request.method,
headers: request.headers,
body: request.method === 'POST' ? request.body : null,
redirect: 'follow'
})
try {
const response = await fetch(newRequest)
// 如果请求路径是 /v1/models,则修改响应
if (originalUrl.pathname === '/v1/models') {
// 解析响应为 JSON
const data = await response.json()
// 确保响应是一个数组
if (Array.isArray(data)) {
let modifiedData = data.map(item => {
const newItem = { ...item }
if ('id' in newItem) {
newItem.id_original = newItem.id
delete newItem.id
}
if ('name' in newItem) {
newItem.id = newItem.name
delete newItem.name
}
return newItem
})
modifiedData = JSON.stringify(
{'data': modifiedData}
)
// 返回修改后的响应
return new Response(modifiedData, {
status: response.status,
statusText: response.statusText,
headers: {
...response.headers,
'Content-Type': 'application/json'
}
})
} else {
// 如果响应不是数组,直接返回原始响应
return response
}
}
// 对于其他路径,直接返回原始响应
return response
} catch (error) {
return new Response('Internal Server Error', { status: 500 })
}
}
/**
* 处理 CORS 预检请求
*/
function handleOptions() {
return new Response(null, {
status: 204,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Authorization',
'Access-Control-Max-Age': '86400'
}
})
}
有模型列表,但是请求路径和响应跟 oai 默认不一样
这些功能我用得很少,类似这样吗
是,这个是可以总结的吗?我那个貌似只能聊天而已
我是点这里的【总结】,这里貌似就是系统提示词?
部署到CF吗?佬友
是的,cf worker 每天10万次免费调用,够用的