Techioz Blog

Langchainrb Vectorsearch Pinecone ask メソッドがエラー「不明なキーワード: :prompt」を返すのはなぜですか?

概要

ここで少しの間、Langchain/Pinecone の統合に取り組んでおり、このコードは以前は機能していました。ここ1ヶ月ほどで壊れてしまったようです。これは、Rails Runner 経由で実行できる必要最低限のバージョンです。

begin
  llm_options = { completion_model_name: "gpt-4-1106-preview", chat_completion_model_name: "gpt-4-1106-preview" }   
  llm = Langchain::LLM::OpenAI.new(api_key: ENV["OPENAI_ACCESS_TOKEN"], default_options: llm_options)

  client = Langchain::Vectorsearch::Pinecone.new(api_key: ENV["PINECONE_API_KEY"],
                                                 index_name: "development-topic-test",
                                                 environment: "us-east-1-aws",
                                                 llm: llm)

  result = client.ask(question: "how do you reverse an array in ruby?", namespace: "topic-markets")
  puts result.inspect

rescue => e
  puts "RESCUED: #{e}"
end

これにより、次の出力が得られます。

RESCUED: unknown keyword: :prompt

確認したこと:

何か案は?

推測するに、API メソッドがどこかで変更され、一部のコードがまだ更新されていないのでしょう。

解決策

これに遭遇した人にとって、答えは gem を更新するのと同じくらい簡単です。

Rails アプリでバンドル更新を実行し、次の gem を更新しました。