MaartenGr / KeyBERT

Minimal keyword extraction with BERT
https://MaartenGr.github.io/KeyBERT/
MIT License
3.55k stars 352 forks source link

Getting TypeError: OpenAI.__init__() missing 1 required positional argument: 'client' because older version of openai being used #242

Closed shashankimpact closed 4 months ago

shashankimpact commented 4 months ago

I was trying to implement the code as below that was provided in the documentation

import openai
from keybert.llm import OpenAI
from keybert import KeyLLM

# Create your LLM
openai.api_key = "sk-..."

prompt = """
I have the following document:
[DOCUMENT]

With the following candidate keywords:
[CANDIDATES]

Based on the information above, improve the candidate keywords to best describe the topic of the document.

Use the following format separated by commas:
<keywords>
"""
llm = OpenAI(model="gpt-3.5-turbo", prompt=prompt, chat=True)

# Load it in KeyLLM
kw_model = KeyLLM(llm)

# Extract keywords
candidate_keywords = [['website', 'couple of days', 'deliver', 'received'],
 ['received', 'package'],
 ['most powerful LLMs',
  'limited APIs',
  'Meta',
  "LLaMA's model weights",
  'research community',
  'noncommercial license']]
keywords = kw_model.extract_keywords(documents, candidate_keywords=candidate_keywords); keywords

when I got the error,

TypeError Traceback (most recent call last) in <cell line: 20>() 18 19 """ ---> 20 llm = OpenAI(model="gpt-3.5-turbo", prompt=prompt, chat=True) 21 22 # Load it in KeyLLM

TypeError: OpenAI.init() missing 1 required positional argument: 'client'

Is it because only the older version of openai is supported?