mirror of
https://github.com/QuivrHQ/quivr.git
synced 2024-12-15 09:32:22 +03:00
803f304390
# Description
Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.
## Checklist before requesting a review
Please delete options that are not relevant.
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged
## Screenshots (if appropriate):
<!--
ELLIPSIS_HIDDEN
-->
----
| 🚀 This description was created by
[Ellipsis](https://www.ellipsis.dev) for commit
3e95f1a5aa
|
|--------|
### Summary:
This PR introduces the 'Quivr Assistants' feature with new frontend
components and pages, backend routes and DTOs changes, and a minor
update in the `processAssistant` function.
**Key points**:
- Introduced the 'Quivr Assistants' feature with new frontend components
and pages, backend routes and DTOs changes.
- Added new `AssistantModal` component in
`/frontend/app/assistants/AssistantModal/AssistantModal.tsx`.
- Added new `InputsStep` and `OutputsStep` components for handling
assistant inputs and outputs.
- Added new `AssistantModal` page in
`/frontend/app/assistants/page.tsx`.
- Added new API endpoints and types for assistants in
`/frontend/lib/api/assistants/assistants.ts` and
`/frontend/lib/api/assistants/types.ts`.
- Updated backend assistant routes and DTOs in
`backend/modules/assistant/controller/assistant_routes.py`,
`backend/modules/assistant/dto/inputs.py`,
`backend/modules/assistant/ito/difference.py`, and
`backend/modules/assistant/ito/summary.py`.
- Made a minor update in the `processAssistant` function in the
`/frontend/lib/api/assistants/assistants.ts` file.
----
Generated with ❤️ by [ellipsis.dev](https://www.ellipsis.dev)
<!--
ELLIPSIS_HIDDEN
-->
39 lines
915 B
TypeScript
39 lines
915 B
TypeScript
import { AxiosInstance } from "axios";
|
|
|
|
import { Assistant, ProcessAssistantRequest } from "./types";
|
|
|
|
export const getAssistants = async (
|
|
axiosInstance: AxiosInstance
|
|
): Promise<Assistant[] | undefined> => {
|
|
return (await axiosInstance.get<Assistant[] | undefined>("/assistants")).data;
|
|
};
|
|
|
|
export const processAssistant = async (
|
|
axiosInstance: AxiosInstance,
|
|
input: ProcessAssistantRequest,
|
|
files: File[]
|
|
): Promise<string | undefined> => {
|
|
const formData = new FormData();
|
|
|
|
formData.append(
|
|
"input",
|
|
JSON.stringify({
|
|
name: input.name,
|
|
inputs: {
|
|
files: input.inputs.files,
|
|
urls: input.inputs.urls,
|
|
texts: input.inputs.texts,
|
|
},
|
|
outputs: input.outputs,
|
|
})
|
|
);
|
|
|
|
files.forEach((file) => {
|
|
formData.append("files", file);
|
|
});
|
|
|
|
return (
|
|
await axiosInstance.post<string | undefined>("/assistant/process", formData)
|
|
).data;
|
|
};
|