fix: reranker for sglang
This commit is contained in:
@@ -43,6 +43,6 @@ export default {
|
||||
'backend.recommendModels': 'Recommended Models',
|
||||
'backend.filter.source': 'Filter by source',
|
||||
'backend.add.custom': 'Custom',
|
||||
'backend.add.community': 'Community Repository',
|
||||
'backend.add.community': 'Community Backends',
|
||||
'backend.community.title': 'Community Backends Marketplace'
|
||||
};
|
||||
|
||||
@@ -43,6 +43,6 @@ export default {
|
||||
'backend.recommendModels': 'Recommended Models',
|
||||
'backend.filter.source': 'Filter by source',
|
||||
'backend.add.custom': 'Custom',
|
||||
'backend.add.community': 'Community Repository',
|
||||
'backend.add.community': 'Community Backends',
|
||||
'backend.community.title': 'Community Backends Marketplace'
|
||||
};
|
||||
|
||||
@@ -43,7 +43,7 @@ export default {
|
||||
'backend.recommendModels': 'Recommended Models',
|
||||
'backend.filter.source': 'Filter by source',
|
||||
'backend.add.custom': 'Custom',
|
||||
'backend.add.community': 'Community Repository',
|
||||
'backend.add.community': 'Community Backends',
|
||||
'backend.community.title': 'Community Backends Marketplace'
|
||||
};
|
||||
|
||||
@@ -52,6 +52,6 @@ export default {
|
||||
// 2. 'backend.recommendModels': 'Recommended Models',
|
||||
// 3. 'backend.filter.source': 'Filter by source',
|
||||
// 4. 'backend.add.custom': 'Custom',
|
||||
// 5. 'backend.add.community': 'Community Repository',
|
||||
// 5. 'backend.add.community': 'Community Backends',
|
||||
// 6. 'backend.community.title': 'Community Backends Marketplace'
|
||||
// ========== End of To-Do List ==========
|
||||
|
||||
@@ -40,6 +40,6 @@ export default {
|
||||
'backend.recommendModels': '推荐模型',
|
||||
'backend.filter.source': '按来源过滤',
|
||||
'backend.add.custom': '自定义',
|
||||
'backend.add.community': '社区仓库',
|
||||
'backend.add.community': '社区后端',
|
||||
'backend.community.title': '社区后端市场'
|
||||
};
|
||||
|
||||
@@ -143,7 +143,9 @@ const BackendDetail: React.FC<{
|
||||
</span>
|
||||
</Subtitle>
|
||||
<Content>
|
||||
<Typography.Text>{currentData?.description}</Typography.Text>
|
||||
<Typography.Paragraph>
|
||||
{currentData?.description}
|
||||
</Typography.Paragraph>
|
||||
</Content>
|
||||
</Section>
|
||||
)}
|
||||
|
||||
@@ -38,6 +38,7 @@ import { rerankerSamples } from '../config/samples';
|
||||
import { ParamsSchema } from '../config/types';
|
||||
import { LLM_METAKEYS } from '../hooks/config';
|
||||
import { useInitLLmMeta } from '../hooks/use-init-meta';
|
||||
import useRerankerResponse from '../reranker/hooks/use-reranker-response';
|
||||
import '../style/ground-llm.less';
|
||||
import '../style/rerank.less';
|
||||
import '../style/system-message-wrap.less';
|
||||
@@ -88,7 +89,7 @@ const fieldConfig: ParamsSchema[] = [
|
||||
|
||||
const GroundReranker: React.FC<MessageProps> = forwardRef((props, ref) => {
|
||||
const { modelList } = props;
|
||||
|
||||
const { handleSGlangResponse } = useRerankerResponse();
|
||||
const intl = useIntl();
|
||||
const requestSource = useRequestToken();
|
||||
const [show, setShow] = useState(false);
|
||||
@@ -285,7 +286,7 @@ const GroundReranker: React.FC<MessageProps> = forwardRef((props, ref) => {
|
||||
|
||||
setTextList(filledList);
|
||||
|
||||
const result: any = await rerankerQuery(
|
||||
const res: any = await rerankerQuery(
|
||||
{
|
||||
model: parameters.model,
|
||||
top_n: parameters.top_n,
|
||||
@@ -297,6 +298,9 @@ const GroundReranker: React.FC<MessageProps> = forwardRef((props, ref) => {
|
||||
}
|
||||
);
|
||||
|
||||
// detect response type
|
||||
const result = Array.isArray(res) ? handleSGlangResponse(res) : res;
|
||||
|
||||
setMessageId();
|
||||
setTokenResult(result.usage);
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
type VllmResponse = {
|
||||
results: {
|
||||
document: string;
|
||||
index: number;
|
||||
relevance_score: number;
|
||||
}[];
|
||||
};
|
||||
|
||||
type SGLangResponse = {
|
||||
document: string;
|
||||
index: number;
|
||||
score: number;
|
||||
meta_info: Record<string, any>;
|
||||
}[];
|
||||
|
||||
const useRerankerResponse = () => {
|
||||
const handleSGlangResponse = (response: SGLangResponse) => {
|
||||
const promptTokens = response.reduce((acc, curr) => {
|
||||
return acc + (curr.meta_info?.prompt_tokens || 0);
|
||||
}, 0);
|
||||
const results = response.map((item) => ({
|
||||
document: item.document,
|
||||
index: item.index,
|
||||
relevance_score: item.score
|
||||
}));
|
||||
return {
|
||||
results,
|
||||
usage: {
|
||||
prompt_tokens: promptTokens,
|
||||
total_tokens: promptTokens
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
const handleVllmResponse = (response: VllmResponse) => {};
|
||||
|
||||
return { handleSGlangResponse, handleVllmResponse };
|
||||
};
|
||||
|
||||
export default useRerankerResponse;
|
||||
@@ -1,3 +1,5 @@
|
||||
import _ from 'lodash';
|
||||
|
||||
export const GPUDriverMap = {
|
||||
NVIDIA: 'cuda',
|
||||
AMD: 'rocm',
|
||||
@@ -184,7 +186,7 @@ const generateExtraArgs = (params: any) => {
|
||||
}
|
||||
let argsStr = '';
|
||||
argsList.forEach(([key, value]) => {
|
||||
argsStr += `${key} ${value} \\\n `;
|
||||
argsStr += `${key} ${_.isBoolean(value) ? value : value || ''} \\\n `;
|
||||
});
|
||||
return argsStr;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user