Aleph-Alpha / aleph-alpha-client

MIT License
86 stars 20 forks source link

client.tokenizer producing wrong number of tokens #145

Closed dan-vine closed 10 months ago

dan-vine commented 10 months ago
import os
from aleph_alpha_client import Client, CompletionRequest, Prompt

text = "### INSTRUCTION:\nYou are a consultant who is highly specialized in summarizing texts. Your task is to produce a concise summary of the following newspaper article.\nWrite in full sentences and in the style of a newspaper article. Do not include any information that is not in the article.\nPlease summarize the article in at most five sentences.\n### NEWSPAPER ARTICLE:\nBundesanzeiger                          Bekanntmachung \n*210911001072*                              \n*818567* \n\nSeite 1 von 15 \n\nV4 \n\n*210911001072*                                                                                                       \n\n29. 09. 2021 12:13:07 \n\n*818567* \n\nBundesministerium \n\nfür Wirtschaft und Energie \n\nBundesministerium \n\nfür Bildung und Forschung   \n\nder Förderrichtlinie für internationale Wasserstoffprojekte \n\nim Rahmen der Nationalen Wasserstoffstrategie und des Konjunkturprogramms: \n\nCorona-Folgen bekämpfen, Wohlstand sichern, Zukunftsfähigkeit stärken \n\nBekanntmachung \n\nVom 27. September 2021 \n\n1  Präambel \nDie Bundesregierung verfolgt langfristig das Ziel der Klimaneutralität im Einklang mit den Zielen des Übereinkommens \nvon Paris, um die Erderwärmung deutlich unter 2 Grad zu halten und möglichst auf 1,5 Grad zu begrenzen. Mit der \nNovelle des Klimaschutzgesetzes setzt sich Deutschland zum Ziel bis 2045 klimaneutral zu werden und einen wich-\ntigen Beitrag zur Erreichung des europäischen Klimaschutzziels zu leisten. Dies bedeutet, dass insbesondere auch die \nsehr schwer zu vermindernden Treibhausgasemissionen, wie beispielsweise prozessbedingte Treibhausgase aus der \nIndustrie, vermieden werden müssen. Für die Vermeidung solcher Emissionen bietet Wasserstoff neue Lösungswege. \nEine erfolgreiche Energiewende bedeutet die Kombination von Versorgungssicherheit, Bezahlbarkeit und Umweltver-\nträglichkeit  mit  innovativem  und  intelligentem  Klimaschutz.  Dafür  werden  alternative  Optionen  zu  den  derzeit  noch \neingesetzten fossilen Energieträgern benötigt. Das gilt insbesondere auch für gasförmige und flüssige Energieträger, \ndie in einem  Industrieland wie Deutschland  auch langfristig  ein integraler Teil des Energiesystems bleiben werden. \nWasserstoff kommt hier eine zentrale Rolle bei der Weiterentwicklung und Vollendung der Energiewende zu. \nDabei  ist aus Sicht  der Bundesregierung allein  Wasserstoff, der auf Basis erneuerbarer Energien hergestellt  wurde \n(„grüner“ Wasserstoff), auf Dauer nachhaltig. Daher ist es Ziel der Bundesregierung, grünen Wasserstoff zu nutzen, für \ndiesen einen zügigen Markthochlauf zu unterstützen sowie entsprechende Wertschöpfungsketten − auch international \n− zu etablieren. \nUm den zukünftigen Bedarf Deutschlands an Wasserstoff und seinen Derivaten zu decken, wird der überwiegende Teil \nimportiert werden müssen. Neben der vertieften Kooperation mit EU-Staaten sollen auch in anderen Partnerländern \nProduktionsmöglichkeiten systematisch erschlossen werden. Die Bundesregierung strebt mit der Wasserstoffstrate-\ngie den Aufbau von Produktionskapazitäten und neuer, nachhaltiger Lieferketten im Ausland in enger Kooperation mit \nPartnerländern  an.  Dabei  gilt  es  sicherzustellen,  dass  lokale  Märkte  und  eine  Dekabornisierung  vor  Ort  durch  die \nProduktion von grünem Wasserstoff unterstützt werden. Dadurch werden auch Beschäftigungseffekte in Deutschland \nund in unseren Partnerländern erzeugt, die in langfristige Wachstumspfade münden. \nEntlang der gesamten Wertschöpfungskette von Wasserstoff und seinen Derivaten besteht noch erheblicher Bedarf \nnach Innovation und Skalierung, um einen internationalen Markthochlauf zu ermöglichen. Daher bedarf es einer In-\nvestitions- und Innovationsoffensive. \nBei  der  Vorbereitung  von  internationalen  Markterfolgen  ist  Forschung  und  Innovation  ein  strategisches  Element. \nFördermaßnahmen dieser Richtlinie knüpfen daher an das 7. Energieforschungsprogramm (EFP) an. \nMit dieser Förderrichtlinie wird ein Angebot zur Unterstützung von internationalen Projekten zum Aufbau von Erzeu-\ngungsanlagen von grünem Wasserstoff und seinen Derivaten sowie für die Speicherung, den Transport und die in-\ntegrierte Anwendung von Wasserstoff und von begleitenden Forschungsvorhaben im Sinne der Nationalen Wasser-\nstoffstrategie eingerichtet. \nDiese  Förderrichtlinie  schafft  einen  neuen  Rahmen  zur  zeitnahen  Förderung  vorab  genannter  Vorhaben  in  Ländern \naußerhalb  der  EU  und  den  EFTA-Staaten.  Das  Programm  unterstützt  den  Aufbau  von  industriellen  Produktions-\nanlagen,  von  Pilot-  und  Demonstrationsprojekten,  von  begleitenden  Forschungsvorhaben  sowie  begleitenden  bzw. \nvorbereitenden  wissenschaftlichen  Analysen  und  Studien.  Das  BMWi1  und  das  BMBF2  berücksichtigen  mit  diesen \nFörderoptionen die unterschiedlichen Finanzierungsbedürfnisse antragsberechtigter Institutionen und setzen die be-\nwährte Ressortarbeitsteilung im Rahmen des 7. EFP um. \n\n1  BMWi = Bundesministerium für Wirtschaft und Energie \n2  BMBF = Bundesministerium für Bildung und Forschung \n\n\x0cBundesanzeiger                          Bekanntmachung \n*210911001072*                              \n*818567* \n\nSeite 2 von 15 \n\nV4 \n\n*210911001072*                                                                                                       \n\n29. 09. 2021 12:13:07 \n\n*818567* \n\n2  Rechtsgrundlagen \nDer Bund gewährt Förderungen auf Grundlage dieser Richtlinie und nach Maßgabe insbesondere folgender Regelun-\ngen in der jeweils gültigen Fassung:  \n– §§ 23 und 44 der Bundeshaushaltsordnung (BHO) sowie die hierzu erlassenen Allgemeinen Verwaltungsvorschrif-\n\nten;   \n\n–  Artikel 25, 28, 36 und 41 der Verordnung (EU) Nr. 651/2014 vom 17. Juni 2014 zur Feststellung der Vereinbarkeit \nbestimmter  Gruppen  von  Beihilfen  mit  dem  Binnenmarkt  in  Anwendung  der  Artikel  107  und  108  des  Vertrags \nüber die Arbeitsweise der Europäischen Union, zuletzt geändert durch Verordnung (EU) 2020/972 vom 2. Juli 2020 \n(ABl. L 215 vom 7.7.2020, S. 3) (Allgemeine Gruppenfreistellungsverordnung − AGVO);   \n\n–  Verordnung  (EU)  Nr.  517/2014  des  Europäischen  Parlaments  und  des  Rates  vom  16.  April  2014  über  fluorierte \n\nTreibhausgase und zur Aufhebung der Verordnung (EG) Nr. 842/2006. \n\nEin Anspruch auf Gewährung einer Zuwendung besteht nicht. Vielmehr entscheidet die Bewilligungsbehörde aufgrund \nihres pflichtgemäßen Ermessens im Rahmen der verfügbaren Haushaltsmittel. Für die Bewilligung, Auszahlung und \nAbrechnung der Zuwendung sowie für den Nachweis und die Prüfung der Verwendung und die gegebenenfalls er-\nforderliche Aufhebung des Zuwendungsbescheids und die Rückforderung der gewährten Zuwendung gelten die §§ 48 \nbis 49a des Verwaltungsverfahrensgesetzes (VwVfG), die §§ 23, 44 BHO und die hierzu erlassenen Allgemeinen Ver-\nwaltungsvorschriften  soweit  nicht  in  diesen  Förderrichtlinien  Abweichungen  von  den  Allgemeinen  Verwaltungs-\nvorschriften zugelassen worden sind. \nDer Bundesrechnungshof ist gemäß den §§ 91, 100 BHO zur Prüfung berechtigt. Ebenfalls zur Prüfung berechtigt sind \nje nach Modul das BMWi bzw. das BMBF als Zuwendungsgeber, die Prüforgane der Europäischen Union sowie der \nbeauftragte  Projektträger  und  Beauftragte  nach  Nummer  8.1  ANBest-P-Kosten  bzw.  Verwaltungsvorschrift  Num-\nmer 11.1 zu § 44 BHO. \n\n3  Begriffsbestimmungen  \n– Derivate  im  Sinne  dieser  Richtlinie  sind  auf  grünem  Wasserstoff  basierende,  gasförmige,  oder  flüssige  Energie-\n\nträger; hierzu zählen unter anderem Methan, Ammoniak, Methanol, Ottokraftstoff, Diesel und Kerosin.   \n\n–  Grüner Wasserstoff im Sinne dieser Richtlinie bezeichnet Wasserstoff, der per Elektrolyse aus Wasser erzeugt wird. \nDer für die Elektrolyse benötigte Strom muss auf Basis erneuerbarer Energien erzeugt werden. Dabei wird bei der \nBestimmung der Eigenschaft als erneuerbar das Begriffsverständnis in § 3 Nummer 21 des Erneuerbare-Energien- \nGesetzes auf den ausländischen Sachverhalt übertragen.   \n\n–  Investitionskosten im Sinne dieser Richtlinie umfassen die Kosten für eine Investition in materielle und immaterielle \nVermögenswerte  (zum  Beispiel  Patente,  Konzessionen)  ohne  Umsatzsteuer  (sofern  der  Antragsteller  nicht  vor-\nsteuerabzugsberechtigt  ist:  inklusive  Umsatzsteuer)  und  müssen  in  unmittelbarem  Zusammenhang  mit  den  ge-\nförderten  Maßnahmen  (Erzeugungsanlagen  von  grünem  Wasserstoff  und  Anlagen  zur  Herstellung  von  Derivaten \nsowie Projekte zur Speicherung, Transport und integrierten Anwendung von Wasserstoff) stehen.\n### CONCISE SUMMARY:"

client = Client(token=os.getenv("ALEPH_ALPHA_API_KEY"))

model = "luminous-supreme-control"
tokenizer = client.tokenizer(model)

tokens = tokenizer.encode(text)
print(f"number tokens: {len(tokens.ids)}")

prompt = Prompt.from_text(text)
request = CompletionRequest(
    prompt=prompt,
)
response = client.complete(request, model=model)
print(response.completions[0].completion)

running the above code I get:

number tokens: 1990

but then

ValueError: (400, '{"error":"Task requires a context size of 2054 tokens. This is longer than the model\'s maximum context length of 2048. To reduce the context size you would typically consider using a smaller prompt or limit the number of completion tokens.","code":"PROMPT_TOO_LONG"}')

Why does the numbers of tokens not match?

benbrandt commented 10 months ago

Because by default the maximum tokens generated is 64. .

1990 prompt tokens + 64 completion tokens = 2054 total tokens

You can change this to another number if you like. Hopefully this helps!

dan-vine commented 10 months ago

OK, got it, thanks!