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

Converging Fog and OpenAI layers for Code Reusability #100

Open
1 task done
philippzagar opened this issue Feb 18, 2025 · 0 comments
Open
1 task done

Converging Fog and OpenAI layers for Code Reusability #100

philippzagar opened this issue Feb 18, 2025 · 0 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@philippzagar
Copy link
Member

Problem

Currently, both the Fog and OpenAI LLM layers utilize the OpenAI API specification to interact with remote LLM inference environments. This results in overlapping implementations within the Swift client, leading to code duplication.

However, due to the differences in functionality between the Fog and OpenAI layers, it has not been justifiable to create a separate abstraction layer yet, as the possible code sharing would be rather low.

Solution

To improve maintainability and reduce redundancy, we should work towards a functional convergence of the Fog and OpenAI layers, particularly in terms of function calling capabilities. Function calling is currently only supported for the OpenAI layer, but with Ollama’s new tool support, the Fog layer should also integrate function calling capabilities.
By aligning both layers in terms of functionality, we can enable significant code sharing opportunities. Once this alignment is achieved, the duplicated components should be refactored into a shared internal target, allowing both layers to reuse common logic efficiently. This will improve maintainability, streamline future enhancements, and reduce the overall complexity of the Swift client implementation.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct and Contributing Guidelines
@philippzagar philippzagar added enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed labels Feb 18, 2025
@philippzagar philippzagar self-assigned this Feb 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
Status: Backlog
Development

No branches or pull requests

1 participant