Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: for modularity to better support alternative models and connectors #7

Closed
jim80net opened this issue May 3, 2023 · 1 comment · Fixed by #9
Closed

refactor: for modularity to better support alternative models and connectors #7

jim80net opened this issue May 3, 2023 · 1 comment · Fixed by #9

Comments

@jim80net
Copy link
Contributor

jim80net commented May 3, 2023

I know I said that generics lead to complections, and I still stand by that sentiment. However, folks should be free to use alternative search engines.

Thankfully, LLMs already have a pretty generic interface: text. As long as connectors are able to return text, then we should be able to use that as an interfacing layer.

Another consideration is the frontend. Slack is both a frontend and a backend. Perhaps those ideas could be split into distinct connectors.

Finally, is the matter of business logic layer, which does not currently exist.

Splitting CogniQ into three layers may provide the modularity to permit users to write their own business logic.

In fact, the design goal should be that connector packages should be able to be used as a package rather than as part of a whole.

jim80net added a commit that referenced this issue May 4, 2023
Naturally, these interfaces will change as the project evolves.

However, I hope we can keep in mind the goal of not overly genericizing the interfaces.

Fixes #7
jim80net added a commit that referenced this issue May 4, 2023
* refactor: define an interface for search

* chore: remove unneessary slack_app_token

This is used for socket mode, which I am not using

* chore: permit writing linting changes

* refactor: black 🤖 [skip ci]

* chore: only trigger autolinter on pull request

* refactor: do an interface pass, and rename some things.

Naturally, these interfaces will change as the project evolves.

However, I hope we can keep in mind the goal of not overly genericizing the interfaces.

Fixes #7

* refactor: black 🤖 [skip ci]

* fix: await correctly

* refactor: black 🤖 [skip ci]

---------

Co-authored-by: jim80net <jim80net@users.noreply.github.com>
@jim80net
Copy link
Contributor Author

jim80net commented May 4, 2023

I waffled on this for a while, before deciding to do a refactor pass and close this issue.

On second thought, I don't want to be in the business of building a framework. The complexity costs seem to be problematic.

The project will continue to evolve as I add connectors. We'll let the problem of modularity remain a high level concern, and close this issue. It'll come up again as the situation evolves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant