Não explica o porque o código é daquela forma, nem os atributos que está usando. Constantemente fica usando CTRL +C e CTRL+ V em códigos em outra janela porque não tem domínio para aplicar. O cursor está me ensinando mais sobre langchain e seus códigos do que essa aula.
Exemplo:
resultados = chroma_db.similarity_search(pergunta, k=2)
for doc in resultados:
print(f"- {doc.page_content}")
O que é esse k=2?
Cursor me respondeu e agora entendi.
Significa:
Buscar os 2 documentos mais semelhantes à pergunta no índice vetorial.
Se você colocar k=5, traria os 5 mais parecidos; k=1, só o mais parecido, e assim por diante.
Assim como k=2 vem da função similarity_search.
Se você trocasse o nome do parâmetro (por exemplo, n=2), daria erro, porque a função não espera um argumento chamado n, e sim k.
Em busca vetorial, é muito comum chamar de k o número de resultados mais similares que você quer trazer.