//go:build llm_script package main import ( "fmt" "regexp" "strings" ) const defaultUCloudPricingURL = "https://www.ucloud-global.com/en/docs/modelverse/price" var ucloudPricePattern = regexp.MustCompile(`([A-Za-z0-9._/-]+)\s+Input\s+([\d.]+)\s+CNY/(?:million|1K)\s+tokens,\s+Output\s+([\d.]+)\s+CNY/(?:million|1K)\s+tokens`) func parseUCloudPricingCatalog(raw string) ([]officialPricingRecord, error) { matches := ucloudPricePattern.FindAllStringSubmatch(raw, -1) if len(matches) == 0 { return nil, fmt.Errorf("unexpected ucloud pricing content") } records := make([]officialPricingRecord, 0, len(matches)) for _, match := range matches { modelName := strings.TrimSpace(match[1]) providerName := providerFromModelPath(modelName) providerNameCn, providerCountry, providerWebsite := providerMetadata(providerName) inputPrice := mustParseSubscriptionPrice(match[2]) outputPrice := mustParseSubscriptionPrice(match[3]) if strings.Contains(strings.ToLower(match[0]), "/1k") { inputPrice *= 1000 outputPrice *= 1000 } record := officialPricingRecord{ ModelID: normalizeExternalID("ucloud", modelName), ModelName: modelName, ProviderName: providerName, ProviderNameCn: providerNameCn, ProviderCountry: providerCountry, ProviderWebsite: providerWebsite, OperatorName: "UModelVerse", OperatorNameCn: "UModelVerse", OperatorCountry: "CN", OperatorWebsite: "https://www.ucloud.cn", OperatorType: "cloud", Region: "CN", Currency: "CNY", InputPrice: inputPrice, OutputPrice: outputPrice, SourceURL: defaultUCloudPricingURL, ModelSourceURL: defaultUCloudPricingURL, DateConfidence: "unknown", DateSourceKind: "official_product_page", Modality: detectModality(modelName), } record.IsFree = record.InputPrice == 0 && record.OutputPrice == 0 records = append(records, record) } return records, nil }