+
{messages.map((message, index) => {
return (
{
// a mock answer generator, this is going to be replaced with real http call
return new Promise((resolve, reject) => {
- setTimeout(() => {
- let result = '';
- const characters =
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- const charactersLength = characters.length;
- let counter = 0;
- while (counter < 5) {
- result += characters.charAt(
- Math.floor(Math.random() * charactersLength),
- );
- counter += 1;
- }
- const randNum = getRandomInt(0, 10);
- randNum < 5
- ? reject()
- : resolve({ answer: result, query: question, result });
- }, 3000);
+ const activeDocs = 'default';
+ fetch('https://docsgpt.arc53.com/api/answer', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ question: question,
+ api_key: apiKey,
+ embeddings_key: apiKey,
+ history: localStorage.getItem('chatHistory'),
+ active_docs: selectedDocs,
+ }),
+ })
+ .then((response) => response.json())
+ .then((data) => {
+ const result = data.answer;
+ resolve({ answer: result, query: question, result });
+ })
+ .catch((error) => {
+ reject();
+ });
});
}
diff --git a/frontend/src/conversation/conversationSlice.ts b/frontend/src/conversation/conversationSlice.ts
index bd6929e8..609e609b 100644
--- a/frontend/src/conversation/conversationSlice.ts
+++ b/frontend/src/conversation/conversationSlice.ts
@@ -14,7 +14,24 @@ export const fetchAnswer = createAsyncThunk<
{ state: RootState }
>('fetchAnswer', async ({ question }, { getState }) => {
const state = getState();
- const answer = await fetchAnswerApi(question, state.preference.apiKey);
+ let namePath = state.preference.selectedDocs?.name;
+ if (state.preference.selectedDocs?.language === namePath) {
+ namePath = '.project';
+ }
+
+ const docPath =
+ state.preference.selectedDocs?.language +
+ '/' +
+ namePath +
+ '/' +
+ state.preference.selectedDocs?.version +
+ '/' +
+ state.preference.selectedDocs?.model;
+ const answer = await fetchAnswerApi(
+ question,
+ state.preference.apiKey,
+ docPath,
+ );
return answer;
});