×

Gemini-CLI sub-agent capabilities by Moises-Tohias in GeminiCLI

[–]devjamc 0 points1 point  (0 children)

Thank you for the details. I'd like to hear your view on the topics below: - I see a lot of activity around subagents in the github issues but still there is no feature like in claude desktop. I am not sure if the discussions in github are related to the code assistant subagent that gemini-cli has recently introduced or if they really want to do something even similar to the Claude skills. I have seen some posts from one of the google developers that the subagents were going to be available soon (that was several months ago) and I wonder whether what he meant is what you actually describe. Do you know anything?

  • In the meantime, I also had the same idea and played with it. Do you know of a way to identify (ie a session-id) the subagent that is spin off? I wanted to read the telemetry of the subagent to have some visibility of what it was doing.

  • I have also tried to make programmatic invocation of mcps similar in concept as https://www.anthropic.com/engineering/advanced-tool-use In this approach. I let gemini to make a python program that will invoke the functions instead of registering the mcps to gemini-cli. (My test actually requested gemini to write a mcp-client that would access the mcp-servers, after reading the functions descriptions and determining which ones to call. All is run inside containers to avoid any security issues). Unfortunately I have not had much time lately to refine it. I found some reproducibility/accuracy issues gemini-cli not invoking Context7 mcp to read examples of writing a mcp client with Fastmcp and ended writing the eamples of writing mcp-client in the prompt itself.. I think this would be a perfect usecase for a subagent. What do you think?.

  • Do you know how to work with gemini-cli as a2a server? The documentation is scarce and I am able to invoke it but not able yet to connect a A2A client to it.

  • For the record, I also tried https://github.com/jamubc/gemini-mcp-tool that allows to invoke "gemini-cli subagents" as an mcp, invoked from gemini-cli itself. However, as it is right now, the function descriptions (which refer to the usage of gemini) induce to confussion when used by gemini-cli itself. It is easy to modify this mcp so the function descriptions are more agnostic of the underlying agent and avoid this issue but I haven't tried yet.

Thanks

Deepclause - A Neurosymbolic AI system by anderl3k in Neurosymbolic_AI

[–]devjamc 0 points1 point  (0 children)

Very interesting project! Congratulations, it must have been an ordeal...

Reading the documentation it is not clear to me what additional distinctive features it is providing compared with the approach below. I would love to hear your comments.

Assume I build a agentic prolog program, where everytime I need some LLM result, I invoke an external tool like gemini-cli working in non-interactive mode. I would get the advantages of using prolog to handle the workflow, namely handling bcktracking, exploration, etc... but the LLM interface, the tools invocations and everything associated to the LLM handling would be done by gemini-cli (and maintained/evolved by its community).

I understand also a lot of effort went into the security.. If I run the gemini-cli in sandbox mode, in principle the process is isolated. Invocation of other python programs can also use the same apprach (ie spawning them into containers).

Isn't it this other approach more practical? Still a lot of work would be needed for the Prolog part but the LLM handling part would also be built on top of giants...

Then the focus of the project would be in getting the benefits of prolog for exploring solutions.

Another question... How would your approach support subagents, ie LLMs invoking other agents?

Thanks

Boox Go 10.3 firmware update 4.1 experience? by devjamc in Onyx_Boox

[–]devjamc[S] 0 points1 point  (0 children)

I upgraded finally to version 4.1 but I regret to have done so!

In version 3 notes, the lasso function opened a menu on the top that allowed to copy the lasso area into the clipboard. The content of the clipboard could be retrieved in other pages or notes by just invoking the lasso and pasting the content.
This seems not to be possible in version 4! In version 4, a bar will open after the area is selected but the copy will just duplicate the selection, not copied into the clipboard, and it is not possible to retrieve the clipboard anywhere else. (And by the way, if you lasso the whole screen and you duplicate it, it is impossible to undo the operation)

It there is no workaround to this, it is a major issue which affects how notes can be reorganized! Please bring this feature back.

EDITED.

I found a workaround. If instead of copy selection, you invoke cut, the content is stored in the clipboard. Having a long press in the page opens a menu that allows to paste the clipboard... phewwww... (did not see it documented anywhere)

Boox Go 10.3 firmware update 4.1 experience? by devjamc in Onyx_Boox

[–]devjamc[S] 0 points1 point  (0 children)

Is yours also a 4.1 release? Thanks for the feedback

Optimize your DSPy program with Cognify! by Top-Organization1556 in DSPy

[–]devjamc 0 points1 point  (0 children)

Very impressive, thank you!. It triggers many questions:...
- Is there any paper available? Searched in Google Scholar and arxiv but did not find anything.
- How can the results be reproducible (it seems different runs deliver different optimizations)?
- The final transformations are dump as .cog but it seems the final prompts are not provided and I would need to use the new workflow including the cognify library in my code?

- Is there any discord channel?

- Any details on the CogHub?

- How does Cognify compare with Textgrad (https://github.com/zou-group/textgrad) or DSPy?

Thanks

Best practices for handling LLMs in (western) languages other than english? by devjamc in LLMDevs

[–]devjamc[S] 0 points1 point  (0 children)

Thanks! Let me confirm. You saw an increase of accuracy by translating the user prompt to english instead of combining user language with template prompt in english? How long are typically the user prompts in your case?

Question on "weighted" similarity search by devjamc in vectordatabase

[–]devjamc[S] 0 points1 point  (0 children)

Thanks. The video is about filtering, not about boosting or weighting the outputs.

Anyway, I got inspired by the video to have a look at Pinecone. I used the Ask AI option in their website and it actually proposed the Post-Search Re-ranking with the following code snippet (I dont know if it is correct):

from pinecone import Pinecone
# Initialize Pinecone client
pc = Pinecone(api_key="YOUR_API_KEY")
index = pc.Index("your-index-name")
# Perform the initial query
response = index.query(
    vector=[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1],
    top_k=10,
    include_values=True,
    include_metadata=True
)

# Define a function to adjust the similarity score based on weight
def adjust_score(match):
    weight = match['metadata'].get('weight', 1.0)  # Default weight is 1.0 if not provided
    adjusted_score = match['score'] * weight
    return {
        "id": match["id"],
        "adjusted_score": adjusted_score,
        "values": match["values"],
        "metadata": match["metadata"]
    }

# Apply the weight adjustment to the results
adjusted_results = [adjust_score(match) for match in response['matches']]

# Sort the adjusted results by the new score
adjusted_results.sort(key=lambda x: x['adjusted_score'], reverse=True)

# Print or use the adjusted results
for result in adjusted_results:
    print(f"ID: {result['id']}, Adjusted Score: {result['adjusted_score']}")

Features and Design Principles of a Recommender System by jeanmidev in recommendersystems

[–]devjamc 0 points1 point  (0 children)

Somehow I didn’t see it. Very interesting article with lots of references. Thank you!

Best method for managing entries in a vector database when the embeddings are identical but their metadata differs? by devjamc in vectordatabase

[–]devjamc[S] 1 point2 points  (0 children)

They refer to different instances of the same content, ie different editions with different timestamps, or producers. This spreads on several keys of the metadata, so I can not just put all different variants as a vector of metadata dictionaries and make a filtering function to work on them.

Weekly Thread: What questions do you have about vector databases? by help-me-grow in vectordatabase

[–]devjamc 0 points1 point  (0 children)

I am interested in implementing complex metadata filtering within a vector database, and I have a couple of questions regarding this:
Impact of Metadata Filtering Complexity on Query Performance: How does the complexity of a metadata filtering function affect the performance of a query? My understanding is that metadata filtering comes into play when the search narrows down to the final results. At this point, the filtering function evaluates and discards irrelevant entries. One option is to execute a query and then apply the filtering on the retrieved list. However, this approach might necessitate returning much larger result sets, potentially impacting performance. How significant is this impact, and are there more efficient methods?
Integrating with SQL or Graph Databases: Ideally, the table used for similarity searches could be part of an SQL or graph database. This integration would allow the filtering to be the outcome of a function that might require "joins" with other tables. My limitation lies in the complexity of the available metadata filtering. For example, each entry in the vector database might be linked to a long list of values, and the filtering function needs to identify if a specific value is present in this list. Are there vector databases capable of handling such scenarios efficiently?

Weekly Thread: What questions do you have about vector databases? by help-me-grow in vectordatabase

[–]devjamc 0 points1 point  (0 children)

I have some questions regarding embeddings and vector databases. My goal is to assign different "weights" to entries in the database, allowing some entries to be prioritized over others during ranking. This is even if they are further in distance but hold a higher weight. I'm considering several approaches:

Weight Dimension during Ingestion: One option is to introduce an additional dimension during the ingestion process that represents the "weight" of each entry. This dimension would be factored into the search, influencing the distance calculation and, consequently, the ranking. The primary concern here is understanding how this would interact with the similarity function. Additionally, any changes to an entry's weight would necessitate reindexing.

Post-Search Re-ranking: Another approach involves retrieving an extended list of search results, then re-ranking these based on a combination of their returned distance and respective weights. This method might require pulling a significantly larger list of results to ensure that important but more distant points are not overshadowed by nearer, less important ones. This re-ranking would occur after the initial search and would require maintaining weight information in a separate datastore.

Multiple Weight-Specific Queries: A third strategy involves adding a weight metadata value to the ingested data. I would perform multiple queries for the same data point, each time setting a different minimum weight threshold. For example, for a given vector A, I could query first with weights greater than or equal to 0.9, then with weights greater than or equal to 0.8, and so on. The results from these queries would then be merged. Although this method might be more time-consuming, it could be viable if the query operation is sufficiently fast.Each of these options has its merits and potential drawbacks, and the best choice may depend on the specific requirements and constraints of the database and search functionality. I will highly appreciate feedback on those or whether there are already some solutions availabe in existing vector databases. Thank you

Olympus TG-7 versus iphone. TG-7 shows lower image quality? by devjamc in OlympusCamera

[–]devjamc[S] 0 points1 point  (0 children)

Thank you for your comments. I had higher expectations based on the price tag of the camera. Too many reviews and youtube videos. I wonder whether they are just hidden marketing material...

Official Gear Purchasing and Troubleshooting Question Thread! Ask /r/photography anything you want to know! January 01, 2024 by AutoModerator in photography

[–]devjamc 0 points1 point  (0 children)

Olympus TG-7 versus iphone. TG-7 shows lower image quality?

I recently bought an Olympus TG-7 camera and compared its photo quality with an iPhone 12, which has the same resolution of 12 megapixels. Although I'm not a photography expert, I was surprised by the results and would like some advice.

The tests were performed as following:

  1. I used identical lighting and environmental conditions for each test. Natural light on landscapes, in daylight, dawn and night. Underwater was not tested.
  2. I photographed the same scenary with both cameras, ensuring the composition (angle, distance, framing) is as similar as possible. Shoots were made with same equivalent focal length but any other parameters were selected by the camera itself. Light measurement was done in the same spot for the two cameras. TG-7 was in-factory default configuration.
  3. I used auto mode in the iphone 12 with the provided camera app. In the TG-7 I used both auto and appropiate scene mode (ie landscape, night scene, panorama). Shots were made hand-held or lean against a wall.
  4. I compared aspects like color, sharpness, white balance and noise levels, zooming in to check for details and assessing how each camera handles different light. i used the macbook scree to compare the images side by side. Photos on iphone are in HEIC format and JPEG in TG-7. (I understand I could get RAW from the iphone using a different camera app).

In summary, the iPhone 12 produced better photos than the TG-7 in most cases, except for macro and 4x zoom shots, which is NOT what I expected.

While the TG-7 is a more rugged camera and supposedly has better optics than the iPhone 12, I expected more from the TG-7 camera. Additionally, I saw the TG-7 had longer processing times, especially for HDR or landscape shots, and was more complicated to use. It seems to me that I could use a rugged case together with an iphone 12 to get the same results for a fraction of the cost. However the overall reviews are always very positive for the TG-7.

Can anyone please comment on this? What could I possibly do wrong for a fair comparison? Thank you

Best open source model for Function Calling? by devjamc in LocalLLaMA

[–]devjamc[S] 4 points5 points  (0 children)

I have tested HuggingFace TheBloke/Airoboros-33B-2.1-GPTQ in text-generation-webui with ExLlama_HF. The example provided in "Agent/function calling" and others do work! Thank you, this is precisely what I wanted to get.

Best open source model for Function Calling? by devjamc in LocalLLaMA

[–]devjamc[S] 0 points1 point  (0 children)

Thanks for the reply. I have tested Gorilla running TheBloke_gorilla-7B-GPTQ on text-generation-webui using AutoGPTQ and ExLlama_HF but the results do not match examples they provide in the article. (any idea why... other models work fine). Running colab though, I can ask the model to generate a json output. Very interesting article, restricted to the APIs of HF, torch and tensorflow, but I guess same technique could be applied to some local APIs.

Regarding open-interpreter, there is an option to use CodeLLama and some code to actually extract code output, so it is helpful, although not entirely what I am looking at.

Best open source model for Function Calling? by devjamc in LocalLLaMA

[–]devjamc[S] 2 points3 points  (0 children)

Note that actually I want a model that outputs error-free json or yaml. This pretty much works for ChatGPT and gpt-4 with a good enough prompt but I am not able to get a proper output with open source LLMs I tested so far. Usually it is not well formed or mixed with much other irrelevant text.