mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 11:14:04 +00:00
(Admin UI) - Test Key Tab - Allow typing in model
name + Add wrapping for text response (#7347)
* ui fix - allow searching model list + fix bug on filtering * qa fix - use correct provider name for azure_text * ui wrap content onto next line
This commit is contained in:
parent
8fa08dfef8
commit
2d2c30b72b
4 changed files with 34 additions and 37 deletions
|
@ -1267,7 +1267,7 @@
|
|||
"max_input_tokens": 4097,
|
||||
"input_cost_per_token": 0.0000015,
|
||||
"output_cost_per_token": 0.000002,
|
||||
"litellm_provider": "text-completion-openai",
|
||||
"litellm_provider": "azure_text",
|
||||
"mode": "completion"
|
||||
},
|
||||
"azure/gpt-35-turbo-instruct": {
|
||||
|
@ -1275,7 +1275,7 @@
|
|||
"max_input_tokens": 4097,
|
||||
"input_cost_per_token": 0.0000015,
|
||||
"output_cost_per_token": 0.000002,
|
||||
"litellm_provider": "text-completion-openai",
|
||||
"litellm_provider": "azure_text",
|
||||
"mode": "completion"
|
||||
},
|
||||
"azure/gpt-35-turbo-instruct-0914": {
|
||||
|
@ -1283,7 +1283,7 @@
|
|||
"max_input_tokens": 4097,
|
||||
"input_cost_per_token": 0.0000015,
|
||||
"output_cost_per_token": 0.000002,
|
||||
"litellm_provider": "text-completion-openai",
|
||||
"litellm_provider": "azure_text",
|
||||
"mode": "completion"
|
||||
},
|
||||
"azure/mistral-large-latest": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
model_list:
|
||||
- model_name: openai/o1-preview
|
||||
- model_name: openai/*
|
||||
litellm_params:
|
||||
model: openai/o1-preview
|
||||
model: openai/*
|
||||
api_key: os.environ/OPENAI_API_KEY
|
||||
|
||||
|
||||
|
|
|
@ -1267,7 +1267,7 @@
|
|||
"max_input_tokens": 4097,
|
||||
"input_cost_per_token": 0.0000015,
|
||||
"output_cost_per_token": 0.000002,
|
||||
"litellm_provider": "text-completion-openai",
|
||||
"litellm_provider": "azure_text",
|
||||
"mode": "completion"
|
||||
},
|
||||
"azure/gpt-35-turbo-instruct": {
|
||||
|
@ -1275,7 +1275,7 @@
|
|||
"max_input_tokens": 4097,
|
||||
"input_cost_per_token": 0.0000015,
|
||||
"output_cost_per_token": 0.000002,
|
||||
"litellm_provider": "text-completion-openai",
|
||||
"litellm_provider": "azure_text",
|
||||
"mode": "completion"
|
||||
},
|
||||
"azure/gpt-35-turbo-instruct-0914": {
|
||||
|
@ -1283,7 +1283,7 @@
|
|||
"max_input_tokens": 4097,
|
||||
"input_cost_per_token": 0.0000015,
|
||||
"output_cost_per_token": 0.000002,
|
||||
"litellm_provider": "text-completion-openai",
|
||||
"litellm_provider": "azure_text",
|
||||
"mode": "completion"
|
||||
},
|
||||
"azure/mistral-large-latest": {
|
||||
|
|
|
@ -115,36 +115,27 @@ const ChatUI: React.FC<ChatUIProps> = ({
|
|||
console.log("model_info:", fetchedAvailableModels);
|
||||
|
||||
if (fetchedAvailableModels?.data.length > 0) {
|
||||
const options = fetchedAvailableModels["data"].map((item: { id: string }) => ({
|
||||
value: item.id,
|
||||
label: item.id
|
||||
}));
|
||||
// Create a Map to store unique models using the model ID as key
|
||||
const uniqueModelsMap = new Map();
|
||||
|
||||
// Now, 'options' contains the list you wanted
|
||||
console.log(options); // You can log it to verify the list
|
||||
fetchedAvailableModels["data"].forEach((item: { id: string }) => {
|
||||
uniqueModelsMap.set(item.id, {
|
||||
value: item.id,
|
||||
label: item.id
|
||||
});
|
||||
});
|
||||
|
||||
// if options.length > 0, only store unique values
|
||||
if (options.length > 0) {
|
||||
const uniqueModels = Array.from(new Set(options));
|
||||
// Convert Map values back to array
|
||||
const uniqueModels = Array.from(uniqueModelsMap.values());
|
||||
|
||||
console.log("Unique models:", uniqueModels);
|
||||
// Sort models alphabetically
|
||||
uniqueModels.sort((a, b) => a.label.localeCompare(b.label));
|
||||
|
||||
// sort uniqueModels alphabetically
|
||||
uniqueModels.sort((a: any, b: any) => a.label.localeCompare(b.label));
|
||||
|
||||
|
||||
console.log("Model info:", modelInfo);
|
||||
|
||||
// setModelInfo(options) should be inside the if block to avoid setting it when no data is available
|
||||
setModelInfo(uniqueModels);
|
||||
}
|
||||
|
||||
|
||||
setSelectedModel(fetchedAvailableModels.data[0].id);
|
||||
setModelInfo(uniqueModels);
|
||||
setSelectedModel(uniqueModels[0].value);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error fetching model info:", error);
|
||||
// Handle error as needed
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -242,10 +233,8 @@ const ChatUI: React.FC<ChatUIProps> = ({
|
|||
placeholder="Select a Model"
|
||||
onChange={onChange}
|
||||
options={modelInfo}
|
||||
style={{ width: "200px" }}
|
||||
|
||||
|
||||
|
||||
style={{ width: "350px" }}
|
||||
showSearch={true}
|
||||
/>
|
||||
</Col>
|
||||
</Grid>
|
||||
|
@ -270,7 +259,15 @@ const ChatUI: React.FC<ChatUIProps> = ({
|
|||
<TableBody>
|
||||
{chatHistory.map((message, index) => (
|
||||
<TableRow key={index}>
|
||||
<TableCell>{`${message.role}: ${message.content}`}</TableCell>
|
||||
<TableCell>
|
||||
<div style={{
|
||||
whiteSpace: "pre-wrap",
|
||||
wordBreak: "break-word",
|
||||
maxWidth: "100%"
|
||||
}}>
|
||||
<strong>{message.role}:</strong> {message.content}
|
||||
</div>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
))}
|
||||
</TableBody>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue