Skip to content

Commit 3881faf

Browse files
committed
Rename to QAInformationRetrievalChain
1 parent 4fba6f3 commit 3881faf

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

Core/Sources/ChatContextCollectors/WebChatContextCollector/QueryWebsiteFunction.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ struct QueryWebsiteFunction: ChatGPTFunction {
6464

6565
if let database = await TemporaryUSearch.view(identifier: urlString) {
6666
await reportProgress("Generating answers..")
67-
let qa = RetrievalQAChain(vectorStore: database, embedding: embedding)
68-
return try await qa.call(.init(arguments.query)).answer
67+
let qa = QAInformationRetrievalChain(vectorStore: database, embedding: embedding)
68+
return try await qa.call(.init(arguments.query)).information
6969
}
7070
let loader = WebLoader(urls: [url])
7171
let documents = try await loader.load()
@@ -83,9 +83,9 @@ struct QueryWebsiteFunction: ChatGPTFunction {
8383
try await database.set(embeddedDocuments)
8484
// 4. generate answer
8585
await reportProgress("Generating answers..")
86-
let qa = RetrievalQAChain(vectorStore: database, embedding: embedding)
86+
let qa = QAInformationRetrievalChain(vectorStore: database, embedding: embedding)
8787
let result = try await qa.call(.init(arguments.query))
88-
return result.answer
88+
return result.information
8989
}
9090
}
9191

Playground.playground/Pages/RetrievalQAChain.xcplaygroundpage/Contents.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ struct QAForm: View {
106106
}
107107
}()
108108

109-
let qa = RetrievalQAChain(
109+
let qa = QAInformationRetrievalChain(
110110
vectorStore: store,
111111
embedding: embedding
112112
)

Tool/Sources/LangChain/Chains/RetrievalQA.swift

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import Foundation
22
import OpenAIService
33

4-
public final class RetrievalQAChain: Chain {
4+
public final class QAInformationRetrievalChain: Chain {
55
let vectorStore: VectorStore
66
let embedding: Embeddings
77

88
public struct Output {
9-
public var answer: String
9+
public var information: String
1010
public var sourceDocuments: [Document]
1111
}
1212

@@ -26,7 +26,9 @@ public final class RetrievalQAChain: Chain {
2626
let documents = try await vectorStore.searchWithDistance(
2727
embeddings: embeddedQuestion,
2828
count: 5
29-
)
29+
).filter { item in
30+
item.distance < 0.31
31+
}
3032

3133
callbackManagers.send(CallbackEvents.RetrievalQADidExtractRelevantContent(info: documents))
3234

@@ -36,24 +38,21 @@ public final class RetrievalQAChain: Chain {
3638
callbackManagers: callbackManagers
3739
)
3840

39-
return .init(answer: relevantInformation, sourceDocuments: documents.map(\.document))
41+
return .init(information: relevantInformation, sourceDocuments: documents.map(\.document))
4042
}
4143

4244
public func parseOutput(_ output: Output) -> String {
43-
return output.answer
45+
return output.information
4446
}
4547
}
4648

4749
public extension CallbackEvents {
4850
struct RetrievalQADidExtractRelevantContent: CallbackEvent {
4951
public let info: [(document: Document, distance: Float)]
5052
}
51-
53+
5254
var retrievalQADidExtractRelevantContent: RetrievalQADidExtractRelevantContent.Type {
5355
RetrievalQADidExtractRelevantContent.self
5456
}
5557
}
5658

57-
58-
59-

0 commit comments

Comments
 (0)