RAG 检索增强生成管道中 OpenAI 的使用成本(LangChain、FAISS、OpenAI)

问题描述 投票:0回答:1

我不确定如何估算我正在构建的 RAG 管道中使用 OpenAI 的总成本。我想提前跟踪代币的使用情况和相关成本。以下是一些代码片段:

model_name = 'text-embedding-ada-002'

embeddings = OpenAIEmbeddings(
model=model_name,
openai_api_key=openai_api_key
)

def create_and_load_faiss_index(chunks, embeddings, index_path):
    try:
        # Create a FAISS index from documents
        db = FAISS.from_documents(chunks, embeddings)

        # Save the FAISS index locally
        db.save_local(index_path)

        # Load the FAISS index from the saved location
        db = FAISS.load_local(index_path, embeddings)

        return db

    except Exception as e:
        print(f"An error occurred: {str(e)}")
        return None

db = create_and_load_faiss_index(chunks, embeddings, index_path)

retriever = db.as_retriever()

template = """…"""

prompt_template = ChatPromptTemplate.from_template(template=template)
print(prompt_template)

llm = ChatOpenAI(model_name="gpt-4", temperature=0)

rag_chain = (
{"context": retriever, "question": RunnablePassthrough()}
| prompt_template
| llm
| StrOutputParser()
)

query = f"…"

openai_output = rag_chain.invoke(query)

跟踪 OpenAI 使用情况(嵌入和 RAG):为了预先跟踪使用情况,我需要计算在嵌入阶段调用“text-embedding-ada-002”和在 rag 阶段调用“gpt-4”的成本。为了在 RAG 中调用 gpt-4,我遇到了“get_openai_callback()”。那么嵌入阶段呢?考虑到 gpt-4 将从 faiss 索引中检索其信息,这不包括任何这种意义上的令牌,对吗?

with get_openai_callback() as cb:
    openai_output = rag_chain.invoke(query)
    print(cb)

返回类似:

Tokens Used: 37
Prompt Tokens: 4
Completion Tokens: 33
Successful Requests: 1
Total Cost (USD): $7.2e-05

token openai-api langchain faiss retrieval-augmented-generation
1个回答
0
投票

就我而言,结果不一样。
我无法减少提示令牌(相反,稍微增加了提示令牌和响应时间)。
但嵌入的提示返回了更好的答案。

案例1

非嵌入提示

"prompt_tokens": 3295,
"completion_tokens": 347,
"openai_process_time": 4.253575,

嵌入式提示
(回答得更好)

"prompt_tokens": 3602,
"completion_tokens": 686,
"openai_process_time": 8.553565,

案例2

非嵌入提示

"prompt_tokens": 3355,
"completion_tokens": 347,
"openai_process_time": 4.67733,

嵌入式提示
(回答得更好)

"prompt_tokens": 3669,
"completion_tokens": 583,
"openai_process_time": 7.52354,
© www.soinside.com 2019 - 2024. All rights reserved.